diff options
Diffstat (limited to 'script/install')
| -rwxr-xr-x | script/install | 579 |
1 files changed, 0 insertions, 579 deletions
diff --git a/script/install b/script/install deleted file mode 100755 index 47dde47..0000000 --- a/script/install +++ /dev/null @@ -1,579 +0,0 @@ -#!/bin/sh -# -# author : R. Roy (00-03-24) -# update : E. Varin (02-06-20) -# update : A. Hebert (06-06-12) -# use : install [<compiler>] [-debug] -# note : please install ganlib and utilib before dragon/donjon -# - -idebug=0 -mpi=0 -nbit=-m64 -optim=1 -compiler='custom' -FoptCPP='' - -for param in $* -do - case $param in - -debug) echo "Activate the debug environment variable" - idebug=1 - ;; - -m32) echo "Compile in 32 bits" - nbit=-m32 - ;; - -mpi) echo "Activate mpi" - mpi=1 - FoptCPP="-DMPI" - ;; - -noopt) echo "Avoid -O optimization flag" - optim=0 - ;; - *) compiler=$param - ;; - esac -done - -LocDir=`pwd` -Code=`basename "$LocDir"` -# -# Obtain system type: -# -System=`uname -s` -Sysx="`echo $System | cut -b -6`" -MACH=`uname -sm | sed 's/[ ]/_/'` -if [ $Sysx = "CYGWIN" ]; then - System=`uname -o` - MACH=$System -elif [ $Sysx = "AIX" ]; then - MACH=`uname -s` -fi -echo "System :" $System " MACH :" $MACH -if [ $System != "HP-UX" \ - -a $System != "AIX" \ - -a $System != "Darwin" \ - -a $System != "SunOS" \ - -a $System != "Linux" \ - -a $System != "Cygwin" ]; then - echo "Only Cygwin, Linux, AIX, Darwin, HP-UX and SunOS are allowed." - exit 1 -fi -echo 'Configure' $Code 'on ' $MACH 'with' $compiler 'compiler' - -HomeDev=`pwd`/.. -if [ $compiler = "custom" ]; then - if [ $System = "AIX" ]; then - PATH=$PATH:/usr/vac/bin; export PATH - TMPDIR=/usr/tmp; export TMPDIR - elif [ $System = "SunOS" ]; then - PATH=$PATH:/lib; export PATH - fi - LocLib=${LocDir}/lib/"$MACH" - LocBin=${LocDir}/bin/"$MACH" - LocGanLib=$HomeDev/Ganlib/lib/"$MACH" - LocUtiLib=$HomeDev/Utilib/lib/"$MACH" - LocDrgLib=$HomeDev/Dragon/lib/"$MACH" - LocTriLib=$HomeDev/Trivac/lib/"$MACH" - LocDonLib=$HomeDev/Donjon/lib/"$MACH" - LocSkinLib=$HomeDev/Skin++/lib/"$MACH" -else - if [ $System = "Linux" -a $compiler = 'absoft' ]; then - . /usr/local/absoft/bin/absoft.sh - fi - LocLib=${LocDir}/lib/"$MACH"'_'$compiler - LocBin=${LocDir}/bin/"$MACH"'_'$compiler - LocGanLib=$HomeDev/Ganlib/lib/"$MACH"'_'$compiler - LocUtiLib=$HomeDev/Utilib/lib/"$MACH"'_'$compiler - LocDrgLib=$HomeDev/Dragon/lib/"$MACH"'_'$compiler - LocTriLib=$HomeDev/Trivac/lib/"$MACH"'_'$compiler - LocDonLib=$HomeDev/Donjon/lib/"$MACH"'_'$compiler - LocSkinLib=$HomeDev/Skin++/lib/"$MACH"'_'$compiler -fi -# -# Set compiler name -# -TOOLF="f77" # Fortran 77 compiler -TOOLC="cc" # ANSI C compiler -# -# Set code name -# -Library=lib$Code.a -Lnolib=`echo $Code | tr "[:lower:]" "[:upper:]"`.f -Lnoobj=`echo $Code | tr "[:lower:]" "[:upper:]"`.o -echo '--------------------' -echo '--> Install' $Code -echo '--------------------' -echo 'Library =' $Library -# -# Make directories ./bin ./lib ./bin/"$MACH" and ./lib/"$MACH" if necessary -# -if [ $Code != "Utilib" ]; then -if [ ! -d bin ]; then - mkdir bin - chmod 755 bin - mkdir "$LocBin" - chmod 755 "$LocBin" -else - if [ ! -d "$LocBin" ]; then - mkdir "$LocBin" - chmod 755 "$LocBin" - else - if [ -f "$LocBin"/$Code ]; then - /bin/rm "$LocBin"/$Code - fi - fi -fi -fi -if [ ! -d lib ]; then - mkdir lib - chmod 755 lib - mkdir "$LocLib" - chmod 755 "$LocLib" -else - if [ ! -d "$LocLib" ]; then - mkdir "$LocLib" - chmod 755 "$LocLib" - else - if [ -f "$LocLib"/$Library ]; then - /bin/rm "$LocLib"/$Library - fi - fi -fi -if [ $Code = "Trivac" ]; then - echo "Installing Trivac" - if [ ! -f "$LocUtiLib"/libUtilib.a ]; then - echo "Please install Utilib first" - exit 1 - fi - if [ ! -f "$LocGanLib"/libGanlib.a ]; then - echo "Please install Ganlib first" - exit 1 - fi -elif [ $Code = "Dragon" ]; then - echo "Installing Dragon" - if [ ! -f "$LocTriLib"/libTrivac.a ]; then - echo "Please install Trivac first" - exit 1 - fi - if [ -d "$LocLib"/modules ]; then - /bin/rm "$LocLib"/modules/* - else - mkdir "$LocLib"/modules - chmod 755 "$LocLib"/modules - fi -elif [ $Code = "Donjon" ]; then - echo "Installing Donjon" - if [ ! -f "$LocDrgLib"/libDragon.a ]; then - echo "Please install Dragon first" - exit 1 - fi -elif [ $Code = "Optex" ]; then - echo "Installing Optex" - if [ ! -f "$LocDonLib"/libDonjon.a ]; then - echo "Please install Donjon first" - exit 1 - fi -elif [ $Code = "Skin++" ]; then - echo "Installing Skin++" - Lnolib=`echo $Code.cxx` - Lnoobj=`echo $Code.o` - if [ -z "$BOOST_ROOT" ]; then - echo "Need to install Boost and to set BOOST_ROOT" - exit 1 - elif [ ! -f "$LocDonLib"/libDonjon.a ]; then - echo "Please install Donjon first" - exit 1 - fi -elif [ $Code = "Yacs++" ]; then - echo "Installing Yacs++" - Lnolib=`echo $Code.cxx` - Lnoobj=`echo $Code.o` - if [ -z "$BOOST_ROOT" ]; then - echo "Need to install Boost and to set BOOST_ROOT" - exit 1 - elif [ -z "$SALOME_KERNEL" ]; then - echo "Need to set SALOME_KERNEL" - exit 1 - elif [ ! -f "$LocSkinLib"/libSkin++.a ]; then - echo "Please install Skin++ first" - exit 1 - fi -elif [ $Code = "Utilib" ]; then - echo "Installing Utilib" -elif [ $Code = "Ganlib" ]; then - echo "Installing Ganlib" - if [ -d "$LocGanLib"/modules ]; then - /bin/rm "$LocGanLib"/modules/* - else - mkdir "$LocGanLib"/modules - chmod 755 "$LocGanLib"/modules - fi -else - echo "Installing specific code " $Code - if [ ! -f "$LocDrgLib"/libDragon.a ]; then - echo "Please install Dragon first" - exit 1 - fi - if [ -d "$LocLib"/modules ]; then - /bin/rm "$LocLib"/modules/* - else - mkdir "$LocLib"/modules - chmod 755 "$LocLib"/modules - fi -fi -echo 'Lnolib =' $Lnolib 'Lnoobj =' $Lnoobj -# -# Set cpp variables for Fortran and C -# -if [ $compiler = 'absoft' ]; then - FoptCPP="$FoptCPP -Dabsoft -DUnix" - CoptCPP="-Dabsoft" -elif [ $compiler = 'g95' ]; then - FoptCPP="$FoptCPP -DLinux -DUnix -Dg95" - CoptCPP="-DLinux" -elif [ $System = "HP-UX" ]; then - FoptCPP="$FoptCPP -DHPUX -DUnix" - CoptCPP="-DHPUX" -elif [ $System = "AIX" ]; then - FoptCPP="$FoptCPP -DAIX -DUnix" - CoptCPP="-DAIX" -elif [ $System = "SunOS" ]; then - FoptCPP="$FoptCPP -DF90 -DSunOS -DUnix" - CoptCPP="-DSunOS" -else - FoptCPP="$FoptCPP -DLinux -DUnix" - CoptCPP="-DLinux" -fi -echo 'FoptCPP=' $FoptCPP -echo 'CoptCPP=' $CoptCPP -# -# Lnoopt= list the non-optimized routines -# -Lnoopt= -CoptF="-c -Wall $nbit -fPIC" -CoptL="$nbit" -CoptC="-c -Wall $nbit -fPIC" -CAddoptF=' ' -CAoptF90=' ' -CXXLINK="-lstdc++" -if [ $compiler = 'absoft' ]; then - CoptF="-c -fPIC" - CoptL="$nbit" - TOOLF="f90" - TOOLC="gcc -fPIC" - TOOLCXX="g++" - CAddoptF="-f" - CAoptF90="-c -f free" - if [ "`uname -m`" = "i386" -o "`uname -m`" = "x86_64" ]; then - CAoptF90="-c $nbit -f free" - CAddoptF="$nbit -f" - CoptC="-c $nbit" - fi -elif [ $compiler = 'g95' ]; then - CoptF="-c" - TOOLF="g95" - TOOLC="gcc" - TOOLCXX="g++" - CAddoptF="-ffixed-line-length-80 -fsloppy-char -Wno-globals" - CoptC="-c -fPIC" - CAoptF90="-c -fsloppy-char -Wno-globals" -elif [ $compiler = 'intel' ]; then - FoptCPP="$FoptCPP -Difort" - CoptL="$nbit" - CoptF="-c -fPIC" - TOOLF="ifort" - TOOLC="gcc" - TOOLCXX="g++" - CAoptF90="-c" - CoptC="-c $nbit -fPIC" - CXXLINK="-lstdc++ -nofor_main" -elif [ $System = "HP-UX" ]; then - Cnoopt="-c +Onolimit" - CAoptF90="+source=free" -elif [ $System = "AIX" ]; then - TOOLF="xlf90" - CoptF="-c" - CoptC="-c" - CoptL="-bmaxdata:0x80000000 -qipa" - CAddoptF="-qmaxmem=-1 -qxlf77=leadzero -qfixed" - CAoptF90="-qmaxmem=-1 -qsuffix=f=f90" -elif [ $System = "SunOS" ]; then - TOOLF="f90" - TOOLC="cc" - CoptF="-c -m64" - CoptC="-c -m64" - CAddoptF="-s -ftrap=%none" - CAoptF90="-s -ftrap=%none" -else - if [ $mpi = 1 ]; then - TOOLF="mpif90" - TOOLC="mpicc" - else - TOOLF="gfortran" - TOOLC="gcc" - fi - TOOLCXX="g++" - CAddoptF="-frecord-marker=4" - CAoptF90=" " - vers=$(uname -r | cut -d"." -f1) - if [ "$MACH" = "Darwin_i386" ]; then - gccrel=`g++ --version | head -1 | sed -e 's/i686-apple-darwin\([0-9]*\).*/\1/'` - gccfullV=`g++ --version | head -1 | sed -e '1 s/.*\([0-9]\.[0-9]\.[0-9]\).*/\1/'` - CXXLINK="-L/usr/lib/gcc/i686-apple-darwin$gccrel/$gccfullV -lstdc++" - echo "reset CXXLINK to" $CXXLINK - elif [ "$MACH" = "Darwin_x86_64" -a "$vers" -gt 15 ]; then - CXXLINK="-lc++" - echo "reset CXXLINK to" $CXXLINK - fi -fi -# -# Set debug flag -# -if [ $idebug = 1 ]; then - CoptF=`echo $CoptF -g` - FoptCPP=`echo $FoptCPP -g` - CoptCPP=`echo $CoptCPP -g` -fi -# -# Set optimization -# -if [ $optim = 1 -a $idebug = 0 ]; then - if [ $System = "AIX" ]; then - CoptF=`echo $CoptF -O4 -qstrict` - CoptC=`echo $CoptC -O4 -qstrict` - else - CoptF=`echo $CoptF -O` - CoptC=`echo $CoptC -O` - fi - CoptL=`echo $CoptL -O` -fi -# -Directory=src -echo "Directory:" $Directory -cd $Directory -if [ $Code = "Ganlib" ]; then - command -v python3 - OUT=$? - if [ $OUT -eq 0 ]; then - echo "use python3" - L90="`python3 ../../script/make_depend_py3.py` `*.F90`" - else - echo "use python2" - L90="`python ../../script/make_depend.py` `*.F90`" - fi - liste="$L90 `ls *.f` `ls *.F` `ls *.c`" - LF="`ls *.F`" - LF90="`ls *.F90`" - Lcc="`ls *.c`" - echo "cc rout :" $Lcc - echo "F rout :" $LF - echo "F90 rout :" $LF90 -elif [ $Code = "Utilib" -o $Code = "Donjon" -o $Code = "Trivac" -o $Code = "Dragon" -o $Code = "Optex" ]; then - command -v python3 - OUT=$? - if [ $OUT -eq 0 ]; then - echo "use python3" - L90="`python3 ../../script/make_depend_py3.py`" - else - echo "use python2" - L90="`python ../../script/make_depend.py`" - fi - liste="$L90 `ls *.f` `ls *.F` `ls *.c`" - Lcc="`ls *.c`" - echo "cc rout :" $Lcc -elif [ $Code = "Skin++" -o $Code = "Yacs++" ]; then - Lcxx="`ls *.cxx`" - liste="$Lcxx" - echo "c++ rout :" $Lcxx -else - echo "Unknown code :" $Code -fi -echo "No opti :" $Lnoopt -echo "--------- " -Lo= -Lon= -for routname in $liste; do - InLib="Yes" - for routnolib in $Lnolib; do - if [ $routname = $routnolib ]; then - Nlib="`echo $routname | cut -d. -f 1`.o" - Lon="$Lon $Nlib" - InLib="No" - fi - done - OptIt="Yes" - for routnoopt in $Lnoopt; do - if [ $routname = $routnoopt ]; then - OptIt="No" - echo "Compilei :" $TOOLF $Cnoopt $routnoopt -I"$LocGanLib"/modules/ - $TOOLF $Cnoopt $routnoopt -I"$LocGanLib"/modules/ - fi - done - for routcc in $Lcc; do - if [ $routname = $routcc ]; then - OptIt="No" - echo "Compile :" $TOOLC $CoptC $CoptCPP $routcc - $TOOLC $CoptC $CoptCPP $routcc - fi - done - for routF in $LF; do - if [ $routname = $routF ]; then - OptIt="No" - if [ $mpi = 0 -a $routname = 'DRVMPI.F' ]; then - InLib="No" - continue ; - elif [ $mpi = 0 -a $routname = 'SNDMPI.F' ]; then - InLib="No" - continue ; - fi - echo "cpp+Compile :" $TOOLF $CoptF $FoptCPP $CAddoptF $routF -I"$LocGanLib"/modules/ - objname="`echo $routF | cut -d. -f 1`.o" - cpp -P -W -traditional $FoptCPP -I/usr/local/include $routF temp.f - $TOOLF $CoptF $CAddoptF temp.f -I"$LocGanLib"/modules/ -o $objname - /bin/rm temp.f - fi - done - for routF90 in $LF90; do - if [ $routname = $routF90 ]; then - OptIt="No" - echo "cpp+Compile :" $TOOLF $CoptF $FoptCPP $CAoptF90 $routF90 -I"$LocGanLib"/modules/ - objname="`echo $routF90 | cut -d. -f 1`.o" - cpp -P -W -traditional $FoptCPP -I/usr/local/include $routF90 temp.f90 - $TOOLF $CoptF $CAoptF90 temp.f90 -I"$LocGanLib"/modules/ -o $objname - /bin/rm temp.f90 - fi - done - if [ $OptIt = "Yes" ]; then - for rout90 in $L90; do - if [ $routname = $rout90 ]; then - OptIt="No" - echo "Compile :" $TOOLF $CoptF $CAoptF90 $rout90 -I"$LocGanLib"/modules/ - $TOOLF $CoptF $CAoptF90 $rout90 -I"$LocGanLib"/modules/ - fi - done - fi - for routcc in $Lcxx; do - if [ $routname = $routcc -a $Code = "Yacs++" ]; then - OptIt="No" - echo "Compile :" $TOOLCXX $CoptC $CoptCPP $routcc -I$BOOST_ROOT -I"$HomeDev"/Ganlib/src/ \ - -I"$HomeDev"/Skin++/src/ -I"$SALOME_KERNEL"/include/salome/ - $TOOLCXX $CoptC $CoptCPP $routcc -I$BOOST_ROOT -I"$HomeDev"/Ganlib/src/ \ - -I"$HomeDev"/Skin++/src/ -I"$SALOME_KERNEL"/include/salome/ - elif [ $routname = $routcc ]; then - OptIt="No" - echo "Compile :" $TOOLCXX $CoptC $CoptCPP $routcc -I$BOOST_ROOT -I"$HomeDev"/Ganlib/src/ - $TOOLCXX $CoptC $CoptCPP $routcc -I$BOOST_ROOT -I"$HomeDev"/Ganlib/src/ - fi - done - if [ $OptIt = "Yes" ]; then - echo "Compile :" $TOOLF $CoptF $CAddoptF $routname -I"$LocGanLib"/modules/ - $TOOLF $CoptF $CAddoptF $routname -I"$LocGanLib"/modules/ - fi - if [ $InLib = "Yes" ]; then - Nlib="`echo $routname | cut -d. -f 1`.o" - Lo="$Lo $Nlib" - fi -done -echo "--------- " -if [ $System = "SunOS" ]; then - /usr/ccs/bin/ar cr $Library $Lo -else - ar cr $Library $Lo - ranlib $Library -fi -for routnolib in $Lon; do - cp $routnolib "$LocLib"/$routnolib - chmod 644 "$LocLib"/$routnolib - echo "Install : File " "$LocLib"/$routnolib "was produced" -done -if [ -f $Library ]; then - echo "Install : Library" "$LocLib"/$Library "was produced" - mv $Library "$LocLib" - chmod 644 "$LocLib"/$Library - if [ $Code = "Utilib" ]; then - echo "No link performed for Utilib" - elif [ $Code = "Ganlib" ]; then - Lnoobj="GANMAIN.o" - echo "Link :" $TOOLF $CoptL $Lnoobj - echo " " "$LocLib"/$Library - echo " " -o "$LocBin"/$Code - $TOOLF $CoptL GANMAIN.o "$LocLib"/$Library -o "$LocBin"/$Code - mv *.mod "$LocLib"/modules - chmod 644 "$LocLib"/modules/*.mod - elif [ $Code = "Trivac" ]; then - echo "Link :" $TOOLF $CoptL $Lnoobj - echo " " "$LocLib"/$Library - echo " " "$LocUtiLib"/libUtilib.a - echo " " "$LocGanLib"/libGanlib.a - echo " " -o "$LocBin"/$Code - $TOOLF $CoptL $Lnoobj "$LocLib"/$Library "$LocUtiLib"/libUtilib.a "$LocGanLib"/libGanlib.a \ - -o "$LocBin"/$Code - elif [ $Code = "Dragon" ]; then - echo "Link :" $TOOLF $CoptL $Lnoobj - echo " " "$LocLib"/$Library - echo " " "$LocTriLib"/libTrivac.a - echo " " "$LocUtiLib"/libUtilib.a - echo " " "$LocGanLib"/libGanlib.a - echo " " -o "$LocBin"/$Code - $TOOLF $CoptL $Lnoobj "$LocLib"/$Library "$LocTriLib"/libTrivac.a "$LocUtiLib"/libUtilib.a \ - "$LocGanLib"/libGanlib.a -o "$LocBin"/$Code - mv *.mod "$LocLib"/modules - chmod 644 "$LocLib"/modules/*.mod - elif [ $Code = "Donjon" ]; then - echo "Link :" $TOOLF $CoptL $Lnoobj - echo " " "$LocLib"/$Library - echo " " "$LocTriLib"/libTrivac.a - echo " " "$LocDrgLib"/libDragon.a - echo " " "$LocUtiLib"/libUtilib.a - echo " " "$LocGanLib"/libGanlib.a - echo " " -o "$LocBin"/$Code - $TOOLF $CoptL $Lnoobj "$LocLib"/$Library "$LocDrgLib"/libDragon.a "$LocTriLib"/libTrivac.a \ - "$LocDrgLib"/libDragon.a "$LocUtiLib"/libUtilib.a "$LocGanLib"/libGanlib.a -o "$LocBin"/$Code - elif [ $Code = "Optex" ]; then - echo "Link :" $TOOLF $CoptL $Lnoobj - echo " " "$LocLib"/$Library - echo " " "$LocTriLib"/libTrivac.a - echo " " "$LocDrgLib"/libDragon.a - echo " " "$LocDonLib"/libDonjon.a - echo " " "$LocUtiLib"/libUtilib.a - echo " " "$LocGanLib"/libGanlib.a - echo " " -o "$LocBin"/$Code - $TOOLF $CoptL $Lnoobj "$LocLib"/$Library "$LocDonLib"/libDonjon.a "$LocDrgLib"/libDragon.a \ - "$LocTriLib"/libTrivac.a "$LocDrgLib"/libDragon.a "$LocUtiLib"/libUtilib.a "$LocGanLib"/libGanlib.a \ - -o "$LocBin"/$Code - elif [ $Code = "Skin++" ]; then - echo "Link :" $TOOLF $CoptL $Lnoobj - echo " " "$LocLib"/$Library - echo " " "$LocDonLib"/libDonjon.a - echo " " "$LocDrgLib"/libDragon.a - echo " " "$LocTriLib"/libTrivac.a - echo " " "$LocUtiLib"/libUtilib.a - echo " " "$LocGanLib"/libGanlib.a - echo " " $CXXLINK -o "$LocBin"/$Code - $TOOLF $CoptL $Lnoobj "$LocLib"/$Library "$LocDonLib"/libDonjon.a "$LocDrgLib"/libDragon.a \ - "$LocTriLib"/libTrivac.a "$LocDrgLib"/libDragon.a "$LocUtiLib"/libUtilib.a "$LocGanLib"/libGanlib.a \ - $CXXLINK -o "$LocBin"/$Code - elif [ $Code = "Yacs++" ]; then - echo "No link performed for Yacs++" - else - echo "Unknown code" $Code - fi - if [ $Code = "Utilib" -o $Code = "Yacs++" ]; then - /bin/rm *.o - else - if [ -x "$LocBin"/$Code ]; then - echo "Install : Exec " "$LocBin"/$Code "was produced" - /bin/rm *.o - chmod 755 "$LocBin"/$Code - echo "Install : DONE" - else - echo "Install : Exec " "$LocBin"/$Code "was NOT produced" - echo "Install : ERROR" - fi - fi -else - echo "Install : Library" "$LocLib"/$Library "was NOT produced" - echo "Install : ERROR" -fi -cd "$LocDir" |
