#!/bin/sh # Create a loadable object from a C++ function defined in a .cpp file # $Id: load.link,v 1.12 2005/07/12 09:22:20 hecht Exp $ do="yes" if [ "$1" = "-n" ]; then shift do="no" fi if [ "$1" = "-win32" ]; then shift uu="WIN32" else uu=`uname -s` fi if [ "$1" = "-I" ]; then INC=$2; shift;shift; fi if [ "$1" = "-l" ]; then LIBS=$2; shift;shift; fi # Default compiler if [ "$CXX" = "" ]; then CXX=g++ fi FFsource=.. INC="-Iinclude $INC" SUF=so if [ -f "$1.cpp" ] ; then case "$uu" in Darwin) export MACOSX_DEPLOYMENT_TARGET=10.3 SHARED="-bundle -undefined dynamic_lookup" ;; CYGWIN*|FreeBSD) SHARED="-shared " ;; # 64 bit Linux needs -fPIC (ALH) Linux) FLAGS='-fPIC' SHARED="-shared " ;; WIN32) echo " window " SHARED="-v -shared --unresolved-symbols=ignore-all" FLAGS=' -mno-cygwin ' LIBS="libff0.dll libff1.dll libff2.dll $LIBS" SUF=dll;; *) echo "sorry unknown achitecture "`uname` exit 1 esac FLAGS="$FLAGS -g" echo $CXX -c $FLAGS $INC $PIC $1.cpp test $do = yes &&$CXX -c $INC $FLAGS $PIC $1.cpp echo $CXX $SHARED $FLAGS $1.o -o $1.$SUF $LIBS test $do = yes &&$CXX $SHARED $FLAGS $1.o -o $1.$SUF $LIBS else echo "sorry file $1.cpp does not exist" fi