Rev 33359 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
#!/bin/sh## ${R_HOME}/bin/SHLIB# @configure_input@revision='$Revision: 1.32 $'version=`set - ${revision}; echo ${2}`version="R shared library builder ${version}Copyright (C) 2000-2005 The R Core Development Team.This is free software; see the GNU General Public Licence version 2or later for copying conditions. There is NO warranty."usage="Usage: R CMD SHLIB [options] filesBuild a shared library for dynamic loading from the specified source orobject files (which are automagically made from their sources). If notgiven via '--output', the name for the library is determined from thefirst file.Options:-h, --help print short help message and exit-v, --version print SHLIB version info and exit-o, --output=LIB use LIB as (full) name for the built libraryReport bugs to <r-bugs@r-project.org>."R_HOME=`echo ${R_HOME} | sed 's/ /\\\\ /g'`objs=shlib=makefiles="-f ${R_SHARE_DIR}/make/shlib.mk"shlib_libadd='@SHLIB_LIBADD@'with_cxx=falsewith_f77=falsewhile test -n "${1}"; docase ${1} in-h|--help)echo "${usage}"; exit 0 ;;-v|--version)echo "${version}"; exit 0 ;;-o)shlib=${2}; shift ;;--output=*)shlib=`echo "${1}" | sed -e 's/[^=]*=//'` ;;*.cc|*.cpp|*.C)with_cxx=trueif test -z "${shlib}"; thenshlib="`echo ${1} | sed 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"fiobjs="${objs} `echo ${1} | sed 's/\.[^\.][^\.]*$/.o/'`";;*.f)with_f77=trueif test -z "${shlib}"; thenshlib="`echo ${1} | sed 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"fiobjs="${objs} `echo ${1} | sed 's/\.[^\.][^\.]*$/.o/'`";;*.[co])if test -z "${shlib}"; thenshlib="`echo ${1} | sed 's/\.[^\.][^\.]*$/@SHLIB_EXT@/'`"fiobjs="${objs} `echo ${1} | sed 's/\.[^\.][^\.]*$/.o/'`";;esacshiftdoneif test -r "${HOME}/.R/Makevars-${R_PLATFORM}"; thenmakefiles="${makefiles} -f \"${HOME}/.R/Makevars-${R_PLATFORM}\""elif test -r "${HOME}/.R/Makevars"; thenmakefiles="${makefiles} -f \"${HOME}/.R/Makevars\""fimakeobjs="OBJECTS=\"${objs}\""if test -r Makevars; thenmakefiles="-f Makevars ${makefiles}"if grep '^ *OBJS *=' Makevars >/dev/null; thenmakeobjs="OBJECTS='\$(OBJS)'"fiif grep '^ *OBJECTS *=' Makevars >/dev/null; thenmakeobjs=fifimakeargs="SHLIB=\"${shlib}\""if ${with_cxx}; thenmakeargs="SHLIB_LDFLAGS='\$(SHLIB_CXXLDFLAGS)' ${makeargs}"makeargs="SHLIB_LD='\$(SHLIB_CXXLD)' ${makeargs}"fiif ${with_f77}; thenif test -z "${shlib_libadd}"; thenmakeargs="${makeargs} SHLIB_LIBADD='\$(FLIBS)'"elsemakeargs="${makeargs} SHLIB_LIBADD='\$(FLIBS) ${shlib_libadd}'"fifieval ${MAKE} ${makefiles} ${makeargs} ${makeobjs}### Local Variables: ***### mode: sh ***### sh-indentation: 2 ***### End: ***