The R Project SVN R

Rev

Rev 43235 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 43235 Rev 43236
Line 2... Line 2...
2
#
2
#
3
# ${R_HOME}/bin/SHLIB
3
# ${R_HOME}/bin/SHLIB
4
 
4
 
5
# @configure_input@
5
# @configure_input@
6
 
6
 
7
revision='$Rev: 43235 $'
7
revision='$Rev: 43236 $'
8
version=`set - ${revision}; echo ${2}`
8
version=`set - ${revision}; echo ${2}`
9
version="R shared library builder ${version}
9
version="R shared library builder ${version}
10
 
10
 
11
Copyright (C) 2000-2007 The R Core Development Team.
11
Copyright (C) 2000-2007 The R Core Development Team.
12
This is free software; see the GNU General Public License version 2
12
This is free software; see the GNU General Public License version 2
Line 26... Line 26...
26
  -c, --clean		remove files created during compilation
26
  -c, --clean		remove files created during compilation
27
  --preclean		remove files created during a previous run
27
  --preclean		remove files created during a previous run
28
 
28
 
29
Report bugs to <r-bugs@r-project.org>."
29
Report bugs to <r-bugs@r-project.org>."
30
 
30
 
-
 
31
SED=@SED@
31
R_HOME=`echo ${R_HOME} | ${SED-sed} 's/ /\\\\ /g'`
32
R_HOME=`echo ${R_HOME} | ${SED} 's/ /\\\\ /g'`
32
 
33
 
33
objs=
34
objs=
34
shlib=
35
shlib=
35
makefiles="-f ${R_SHARE_DIR}/make/shlib.mk"
36
makefiles="-f ${R_SHARE_DIR}/make/shlib.mk"
36
shlib_libadd='@SHLIB_LIBADD@'
37
shlib_libadd='@SHLIB_LIBADD@'
Line 54... Line 55...
54
    --preclean)
55
    --preclean)
55
      preclean=true ;;
56
      preclean=true ;;
56
    -o)
57
    -o)
57
      shlib=${2}; shift ;;
58
      shlib=${2}; shift ;;
58
    --output=*)
59
    --output=*)
59
      shlib=`echo "${1}" | ${SED-sed} -e 's/[^=]*=//'` ;;
60
      shlib=`echo "${1}" | ${SED} -e 's/[^=]*=//'` ;;
60
    *.cc|*.cpp|*.C)
61
    *.cc|*.cpp|*.C)
61
      with_cxx=true
62
      with_cxx=true
62
      if test -z "${shlib}"; then
63
      if test -z "${shlib}"; then
63
	shlib="`echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
64
	shlib="`echo ${1} | ${SED} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
64
      fi
65
      fi
65
      objs="${objs} `echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/.o/'`"
66
      objs="${objs} `echo ${1} | ${SED} 's/\.[^\.][^\.]*$/.o/'`"
66
      ;;
67
      ;;
67
    *.m)
68
    *.m)
68
      with_objc=true
69
      with_objc=true
69
      if test -z "${shlib}"; then
70
      if test -z "${shlib}"; then
70
	shlib="`echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
71
	shlib="`echo ${1} | ${SED} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
71
      fi
72
      fi
72
      objs="${objs} `echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/.o/'`"
73
      objs="${objs} `echo ${1} | ${SED} 's/\.[^\.][^\.]*$/.o/'`"
73
      ;;
74
      ;;
74
    *.mm|*.M)
75
    *.mm|*.M)
75
      with_objcxx=true
76
      with_objcxx=true
76
      # ObjC++ implies ObjC because we need ObjC runtime
77
      # ObjC++ implies ObjC because we need ObjC runtime
77
      with_objc=true
78
      with_objc=true
78
      # ObjC++ implies C++ because we use C++ linker
79
      # ObjC++ implies C++ because we use C++ linker
79
      with_cxx=true
80
      with_cxx=true
80
      if test -z "${shlib}"; then
81
      if test -z "${shlib}"; then
81
	shlib="`echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
82
	shlib="`echo ${1} | ${SED} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
82
      fi
83
      fi
83
      objs="${objs} `echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/.o/'`"
84
      objs="${objs} `echo ${1} | ${SED} 's/\.[^\.][^\.]*$/.o/'`"
84
      ;;
85
      ;;
85
    *.f)
86
    *.f)
86
      with_f77=true
87
      with_f77=true
87
      if test -z "${shlib}"; then
88
      if test -z "${shlib}"; then
88
	shlib="`echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
89
	shlib="`echo ${1} | ${SED} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
89
      fi
90
      fi
90
      objs="${objs} `echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/.o/'`"
91
      objs="${objs} `echo ${1} | ${SED} 's/\.[^\.][^\.]*$/.o/'`"
91
      ;;
92
      ;;
92
    *.f90|*.f95)
93
    *.f90|*.f95)
93
      with_f9x=true
94
      with_f9x=true
94
      if test -z "${shlib}"; then
95
      if test -z "${shlib}"; then
95
	shlib="`echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
96
	shlib="`echo ${1} | ${SED} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
96
      fi
97
      fi
97
      objs="${objs} `echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/.o/'`"
98
      objs="${objs} `echo ${1} | ${SED} 's/\.[^\.][^\.]*$/.o/'`"
98
      ;;
99
      ;;
99
    *.[co])
100
    *.[co])
100
      if test -z "${shlib}"; then
101
      if test -z "${shlib}"; then
101
	shlib="`echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
102
	shlib="`echo ${1} | ${SED} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
102
      fi
103
      fi
103
      objs="${objs} `echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/.o/'`"
104
      objs="${objs} `echo ${1} | ${SED} 's/\.[^\.][^\.]*$/.o/'`"
104
      ;;
105
      ;;
105
    *)
106
    *)
106
      pkg_libs="${pkg_libs} ${1}"
107
      pkg_libs="${pkg_libs} ${1}"
107
    ;;
108
    ;;
108
  esac
109
  esac