01-dev-2004 NvE Installation scripts modified to make use of environment variable...
[u/mrichter/AliRoot.git] / RALICE / wa98 / scripts / macgcclib.sh
1 #!/bin/sh
2 ### Shell script to create a ROOT loadable GCC shared lib out of .cxx source code
3 ###
4 ### NvE 23-may-2000 UU-SAP Utrecht
5
6 ### Name of the produced shared libraries
7 lib1=rwa98.so
8 lib2=rwa98.dylib
9 #
10 ### Some MAC specific settings
11 export MACOSX_DEPLOYMENT_TARGET=10.3
12 unset LD_PREBIND
13
14 ### The option string for GCC shared lib compilation and linking ***
15 ### For the GCC ROOT loadable shared lib the strict requirements are ***
16 ### dropped to avoid many warnings from the rootcint generated code ***
17 gccroot="-c -g0 -ansi -pedantic -Wall -Wno-long-long -I$ROOTSYS/include -I$ALIROOT/RALICE"
18 #
19 echo "lib = " $lib
20 echo "gccroot = " $gccroot 
21 #
22 ### Go to the directory with the source files
23 cd ..
24 #
25 ### Create the dictionary files
26 rootcint -f zzzrwa98dict.cxx -c -I$ALIROOT/RALICE RWA98Headers.h RWA98LinkDef.h
27
28 ### Compile and create the ROOT loadable shared library
29 #
30 # Compilation phase
31 g++ $gccroot *.cxx   
32 #
33 # Creating ralice.so library 
34 g++ -v -bundle -undefined dynamic_lookup -o $lib1 *.o
35 #
36 # Creating ralice.dylib library 
37 g++ -v -dynamiclib -undefined dynamic_lookup -single_module -o $lib2 *.o
38 ### On some systems the following extra "-read_only_relocs" flag might be needed
39 # g++ -v -dynamiclib -undefined dynamic_lookup -single_module -read_only_relocs -o $lib2 *.o
40 #
41 rm zzzrwa98dict.*
42 rm *.o
43
44 ### Move the created lib to the scripts directory and go there
45 mv $lib1 scripts
46 mv $lib2 scripts
47 cd scripts
48 #
49 echo ' ' 
50 echo '*** macgcclib.sh done. Results in rwa98.so and rwa98.dylib'