The R Project SVN R

Rev

Rev 42229 | Rev 43236 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 42229 Rev 43235
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: 42229 $'
7
revision='$Rev: 43235 $'
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
R_HOME=`echo ${R_HOME} | sed 's/ /\\\\ /g'`
31
R_HOME=`echo ${R_HOME} | ${SED-sed} 's/ /\\\\ /g'`
32
 
32
 
33
objs=
33
objs=
34
shlib=
34
shlib=
35
makefiles="-f ${R_SHARE_DIR}/make/shlib.mk"
35
makefiles="-f ${R_SHARE_DIR}/make/shlib.mk"
36
shlib_libadd='@SHLIB_LIBADD@'
36
shlib_libadd='@SHLIB_LIBADD@'
Line 54... Line 54...
54
    --preclean)
54
    --preclean)
55
      preclean=true ;;
55
      preclean=true ;;
56
    -o)
56
    -o)
57
      shlib=${2}; shift ;;
57
      shlib=${2}; shift ;;
58
    --output=*)
58
    --output=*)
59
      shlib=`echo "${1}" | sed -e 's/[^=]*=//'` ;;
59
      shlib=`echo "${1}" | ${SED-sed} -e 's/[^=]*=//'` ;;
60
    *.cc|*.cpp|*.C)
60
    *.cc|*.cpp|*.C)
61
      with_cxx=true
61
      with_cxx=true
62
      if test -z "${shlib}"; then
62
      if test -z "${shlib}"; then
63
	shlib="`echo ${1} | sed 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
63
	shlib="`echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
64
      fi
64
      fi
65
      objs="${objs} `echo ${1} | sed 's/\.[^\.][^\.]*$/.o/'`"
65
      objs="${objs} `echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/.o/'`"
66
      ;;
66
      ;;
67
    *.m)
67
    *.m)
68
      with_objc=true
68
      with_objc=true
69
      if test -z "${shlib}"; then
69
      if test -z "${shlib}"; then
70
	shlib="`echo ${1} | sed 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
70
	shlib="`echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
71
      fi
71
      fi
72
      objs="${objs} `echo ${1} | sed 's/\.[^\.][^\.]*$/.o/'`"
72
      objs="${objs} `echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/.o/'`"
73
      ;;
73
      ;;
74
    *.mm|*.M)
74
    *.mm|*.M)
75
      with_objcxx=true
75
      with_objcxx=true
76
      # ObjC++ implies ObjC because we need ObjC runtime
76
      # ObjC++ implies ObjC because we need ObjC runtime
77
      with_objc=true
77
      with_objc=true
78
      # ObjC++ implies C++ because we use C++ linker
78
      # ObjC++ implies C++ because we use C++ linker
79
      with_cxx=true
79
      with_cxx=true
80
      if test -z "${shlib}"; then
80
      if test -z "${shlib}"; then
81
	shlib="`echo ${1} | sed 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
81
	shlib="`echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
82
      fi
82
      fi
83
      objs="${objs} `echo ${1} | sed 's/\.[^\.][^\.]*$/.o/'`"
83
      objs="${objs} `echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/.o/'`"
84
      ;;
84
      ;;
85
    *.f)
85
    *.f)
86
      with_f77=true
86
      with_f77=true
87
      if test -z "${shlib}"; then
87
      if test -z "${shlib}"; then
88
	shlib="`echo ${1} | sed 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
88
	shlib="`echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
89
      fi
89
      fi
90
      objs="${objs} `echo ${1} | sed 's/\.[^\.][^\.]*$/.o/'`"
90
      objs="${objs} `echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/.o/'`"
91
      ;;
91
      ;;
92
    *.f90|*.f95)
92
    *.f90|*.f95)
93
      with_f9x=true
93
      with_f9x=true
94
      if test -z "${shlib}"; then
94
      if test -z "${shlib}"; then
95
	shlib="`echo ${1} | sed 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
95
	shlib="`echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
96
      fi
96
      fi
97
      objs="${objs} `echo ${1} | sed 's/\.[^\.][^\.]*$/.o/'`"
97
      objs="${objs} `echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/.o/'`"
98
      ;;
98
      ;;
99
    *.[co])
99
    *.[co])
100
      if test -z "${shlib}"; then
100
      if test -z "${shlib}"; then
101
	shlib="`echo ${1} | sed 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
101
	shlib="`echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"
102
      fi
102
      fi
103
      objs="${objs} `echo ${1} | sed 's/\.[^\.][^\.]*$/.o/'`"
103
      objs="${objs} `echo ${1} | ${SED-sed} 's/\.[^\.][^\.]*$/.o/'`"
104
      ;;
104
      ;;
105
    *)
105
    *)
106
      pkg_libs="${pkg_libs} ${1}"
106
      pkg_libs="${pkg_libs} ${1}"
107
    ;;
107
    ;;
108
  esac
108
  esac