Import Geant4 0.0.0 source tree
This commit is contained in:
Executable
+113
@@ -0,0 +1,113 @@
|
||||
#!/bin/sh -f
|
||||
############################################
|
||||
#### To build GEANT4 sheared libraries #####
|
||||
############# G.Barrand ####################
|
||||
############################################
|
||||
if test $# -eq 2 ; then
|
||||
g4system=$1
|
||||
name=$2
|
||||
liba=lib$name.a
|
||||
#echo $g4system
|
||||
#echo $name
|
||||
############################################
|
||||
##### build libs ###########################
|
||||
############################################
|
||||
if test -f $g4system/$liba ; then
|
||||
|
||||
if test `uname` = "OSF1" ; then
|
||||
cd $g4system
|
||||
# Need to specify a path, so that at run time loader
|
||||
# is able to find the so lib. This path is put in the
|
||||
# binaries at link time. In principle a relative
|
||||
# path from the binary is ok, but we will have
|
||||
# more than one binary at different places; so
|
||||
# we have to specify an absolute path.
|
||||
rpath=`pwd`
|
||||
#echo $rpath
|
||||
libso=lib$name.so
|
||||
/bin/rm -f $libso
|
||||
/bin/rm -f so_locations
|
||||
ld -expect_unresolved '*' -shared -o $libso -all $liba -rpath $rpath
|
||||
cd ..
|
||||
echo "$libso built."
|
||||
fi
|
||||
|
||||
if test `uname` = "HP-UX" ; then
|
||||
cd $g4system
|
||||
libso=lib$name.sl
|
||||
/bin/rm -f $libso
|
||||
# get .o files
|
||||
objs=`ls *.o`
|
||||
#ld -b -a shared -o $libso $objs
|
||||
# CC does more than ld.
|
||||
CC -b -o $libso $objs
|
||||
cd ..
|
||||
echo "$libso built."
|
||||
fi
|
||||
|
||||
if test `uname` = "IRIX" ; then
|
||||
cd $g4system
|
||||
# For path same remarks as for OSF1.
|
||||
rpath=`pwd`
|
||||
libso=lib$name.so
|
||||
/bin/rm -f $libso
|
||||
/bin/rm -f so_locations
|
||||
#ld -shared -o $libso -all $liba -rpath $rpath
|
||||
# CC does more than ld.
|
||||
CC -Wl,-rpath,$rpath -shared -o $libso -all $liba
|
||||
cd ..
|
||||
echo "$libso built."
|
||||
fi
|
||||
|
||||
if test `uname` = "AIX" ; then
|
||||
# Not yet ready.
|
||||
exit
|
||||
#set -x
|
||||
cd $g4system
|
||||
libso=lib$name'.so'
|
||||
/bin/rm -f lib$name.o
|
||||
/bin/rm -f $libso
|
||||
/bin/rm -f lib$name.exp
|
||||
# Get .o files
|
||||
objs=`ls *.o`
|
||||
# Determine how to invoke nm depending on AIX version
|
||||
AIXVERSION=`uname -v`
|
||||
case ${AIXVERSION}
|
||||
{
|
||||
3*)
|
||||
NM=/usr/ucb/nm
|
||||
;;
|
||||
4*)
|
||||
NM='/usr/bin/nm -B'
|
||||
;;
|
||||
*)
|
||||
echo "Error in g4makeshlib.sh!"
|
||||
exit 1
|
||||
;;
|
||||
}
|
||||
# Build export file (from Mesa mklib.aix).
|
||||
echo "#! lib$name.so " > lib$name.exp
|
||||
echo "noentry" >> lib$name.exp
|
||||
$NM $objs | awk '/ [BD] /{print $3}' | sort | uniq >> lib$name.exp
|
||||
# Below command from Mesa mklib.aix.
|
||||
#cc -o lib$name.o $objs $3 -bE:lib$name.exp -bM:SRE -enoentry
|
||||
# Unnecessary option -enoentry that produces
|
||||
# noentry file that contains exported symbols
|
||||
cc -o lib$name.o $objs $3 -bE:lib$name.exp -bM:SRE
|
||||
if test -f lib$name.o ; then
|
||||
ar r $libso lib$name.o
|
||||
/bin/rm -f lib$name.o
|
||||
else
|
||||
echo "Can't create lib$name.o."
|
||||
fi
|
||||
#cp $libso lib$name.a
|
||||
cd ..
|
||||
echo "$libso treated."
|
||||
fi
|
||||
|
||||
|
||||
fi
|
||||
############################################
|
||||
else
|
||||
echo 'Give name of binaray directory and library'
|
||||
fi
|
||||
Reference in New Issue
Block a user