Select Git revision
make_for_tracy3.sh
BLANCO-GARCIA authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
make_for_tracy3.sh 5.15 KiB
#!/bin/bash
#===================================================
# script to compile non-parallel version tracy
#===================================================
# not sh since on Ubuntu sh is not bash
#set -x # for debugging
if [ $# -ne 1 ]
then # affiche l'usage
echo "Missing parameter"
echo "Use: $0 debug for debug"
echo "Use: $0 opt for optimization result"
echo "Use: $0 mpi for optimization result"
exit 1
fi
dir=`pwd`
#NUM_REC="$dir/num_rec"
#INSTALL="/usr/bin/install"
TRACY="tracy"
cd "$dir/$TRACY"
# CVS file is inside, do not erase
rm -f autom4te.cache/*
rm -rf aclocal.m4
### 2023jun01 sometimes distclean does not work
# try to comment distclean, run it once and then uncomment
make distclean
# Clean everything and call autoreconf
sh bootstrap.sh
if [ $1 == "debug" ]
then
./configure --prefix=$dir/$TRACY/tracy FFLAGS="-g -O2 -Wall -fbounds-check" CFLAGS="-g -O2 -Wall -fno-implicit-templates" CXXFLAGS="-g -O2 -Wall -fno-implicit-templates"
fi
#dirName=/home/sources/physmach/nadolski/codes
#dirName=/usr/local/applis_pa/codes/tracy/
#dirName=/nfs/tegile/work/sources/physmach/blanco-garcia/codes
if [ $1 == "opt" ]
then
CC=icc CXX=icpc LDFLAGS="-L$dirnName/nrecipes/recipes_c-ansi/lib/" ./configure --prefix=$dir/$TRACY/tracy FFLAGS="-O2 -Wall -fbounds-check" CFLAGS="-O2 -Wall -fno-implicit-templates" CXXFLAGS="-O2 -Wall -fno-implicit-templates"
# CC=gcc CXX=g++ LDFLAGS=" -L$dirnName/nrecipes/recipes_c-ansi/lib/ " ./configure FFLAGS="-O2 -Wall -fbounds-check " CFLAGS=" -Wall -ansi -fno-implicit-templates -Wunused-label -Wunused-dummy-argument -Wunused-variable " CXXFLAGS="-O2 -Wall -ansi "
fi
if [ $1 == "mpi" ]
then
## 2023jun14 orblancog. I move to gcc because icc libraries are incompatible with matlab
# https://jira.synchrotron-soleil.fr/jira/browse/CTRLDESK-21799
# CC=icc CXX=icpc LDFLAGS="-L$dirName/nrecipes/recipes_c-ansi/lib/ -L/opt/intel/parallel_studio_xe_2017_update2/compilers_and_libraries_2017.2.174/linux/mpi/intel64/lib -lmpi" ./configure --enable-mpi-exec --prefix=$dir/$TRACY/tracy FFLAGS="-O2 -Wall -fbounds-check" CFLAGS="-O2 -Wall -fno-implicit-templates" CXXFLAGS="-O2 -Wall -fno-implicit-templates"
# ok for compilation # CC=icc CXX=icpc LDFLAGS="-L$dirName/nrecipes/recipes_c-ansi/lib/ -L/opt/intel/parallel_studio_xe_2017_update2/compilers_and_libraries_2017.2.174/linux/mpi/intel64/lib -lmpi" ./configure --enable-mpi-exec --prefix=$dir/$TRACY/tracy FFLAGS="-O2 -Wall -fbounds-check" CFLAGS="-O2 -ansi -Wall -fno-implicit-templates" CXXFLAGS="-O2 -ansi -Wall -fno-implicit-templates"
# CC=icc CXX=icpc LDFLAGS="-L$NUM_REC/nrecipes/recipes_c-ansi/lib/ -L/opt/intel/parallel_studio_xe_2017_update2/compilers_and_libraries_2017.2.174/linux/mpi/intel64/lib -lmpi" ./configure --enable-mpi-exec --prefix=$dir/$TRACY/tracy FFLAGS="-O2 -Wall -fbounds-check" CFLAGS="-O2 -ansi -Wall -fno-implicit-templates" CXXFLAGS="-O2 -ansi -Wall -fno-implicit-templates"
# CC=gcc CXX=g++ LDFLAGS="-L$dirName/nrecipes/recipes_c-ansi/lib/ -I/usr/local/applications/tools/openmpi/4.1.1/include -L/usr/local/applications/tools/openmpi/4.1.1/lib -lmpi" ./configure --enable-mpi-exec FFLAGS="-O2 -Wall -fbounds-check " CFLAGS="-O2 -Wall -ansi " CXXFLAGS="-O2 -Wall -ansi -fno-implicit-templates -I/usr/local/applications/tools/openmpi/4.1.1/include -L/usr/local/applications/tools/openmpi/4.1.1/lib -lmpi_cxx"
# CC=gcc CXX=g++ LDFLAGS="-L$dirName/nrecipes/recipes_c-ansi/lib/ -I/usr/local/applications/tools/openmpi/4.1.1/include -L/usr/local/applications/tools/openmpi/4.1.1/lib -lmpi" ./configure --enable-mpi-exec FFLAGS="-O2 -Wall -fbounds-check " CFLAGS="-O2 -Wall -ansi " CXXFLAGS="-O2 -Wall -ansi -fno-implicit-templates -I/usr/local/applications/tools/openmpi/4.1.1/include -L/usr/local/applications/tools/openmpi/4.1.1/lib -lmpi_cxx"
# check gcc version
currentver="$(gcc -dumpversion)"
echo "GCC is $currentver"
requiredver="9.2.0"
if [ "$(printf '%s\n' "$requiredver" "$currentver" | sort -V | head -n1)" = "$requiredver" ]; then
CC=gcc CXX=g++ LDFLAGS="-L$NUM_REC/lib/ -I/usr/local/applications/tools/openmpi/4.1.1/include -L/usr/local/applications/tools/openmpi/4.1.1/lib -lmpi" ./configure --enable-mpi-exec FFLAGS="-O2 -Wall -fbounds-check " CFLAGS="-O2 -Wall -ansi " CXXFLAGS="-O2 -Wall -ansi -fno-implicit-templates -I/usr/local/applications/tools/openmpi/4.1.1/include -L/usr/local/applications/tools/openmpi/4.1.1/lib -lmpi_cxx -fopenmp "
else
# newer gcc versions require extra fortran flags
echo "GCC greater than or equal to ${requiredver}"
echo "extra flags to fortran ..."
##add fallow-argument-mismatch
CC=gcc CXX=g++ LDFLAGS="-L$NUM_REC/lib/ -I/usr/local/applications/tools/openmpi/4.1.1/include -L/usr/local/applications/tools/openmpi/4.1.1/lib -lmpi" ./configure --enable-mpi-exec FFLAGS="-O2 -Wall -fbounds-check -fallow-argument-mismatch " CFLAGS="-O2 -Wall -ansi " CXXFLAGS="-O2 -Wall -ansi -fno-implicit-templates -I/usr/local/applications/tools/openmpi/4.1.1/include -L/usr/local/applications/tools/openmpi/4.1.1/lib -lmpi_cxx -fopenmp "
fi
fi
make
#make install DESTDIR=/usr/local/applis_pa/codes/tracy/bin
#make install DESTDIR=~
make install DESTDIR=$dir/$TRACY/build
echo $dir/$TRACY/build