Transp uses several external packages ( Blas, MDSplus, NETcdf.. ), all of which have associated libraries, & some of which have header or module definition files. At JET, these files ( or links to them ) are stored under $TRANSPROOT/external :
>ls -lR $TRANSPROOT/external
/common/transp_shared/Code/transp/La_95_27a/external:
inc
lib
mod
/common/transp_shared/Code/transp/La_95_27a/external/inc:
ncvalues.h -> /home/pshare/lib/source/netcdf-3.6.0-p1/include/ncvalues.h
netcdfcpp.h -> /home/pshare/lib/source/netcdf-3.6.0-p1/include/netcdfcpp.h
netcdf.h -> /home/pshare/lib/source/netcdf-3.6.0-p1/include/netcdf.h
netcdf.inc -> /home/pshare/lib/source/netcdf-3.6.0-p1/include/netcdf.inc
/common/transp_shared/Code/transp/La_95_27a/external/lib:
libblas.a -> /home/pshare/lib/source/blas/libblas.a
libf2c.so -> /common/transp_shared/Code/transp/other/libf2c.so.0.22
libfftw.a -> /home/pshare/lib/source/fftw-2.1.3/fftw/.libs/libfftw.a
liblapack.a -> /home/pshare/lib/source/LAPACK/lf95/liblapack.a
libnetcdf.a -> /home/pshare/lib/source/netcdf-3.6.0-p1/lib/libnetcdf.a
libppf.so -> /usr/local/lib/libppf.so
librfftw.a -> /home/pshare/lib/source/fftw-2.1.3/rfftw/.libs/librfftw.a
/common/transp_shared/Code/transp/La_95_27a/external/mod
netcdf.mod -> /home/pshare/lib/source/netcdf-3.6.0-p1/include/netcdf.mod
typesizes.mod -> /home/pshare/lib/source/netcdf-3.6.0-p1/include/typesizes.mod
These directories are made accessible to the compilers, via 3 environment variables, set in transprc :-
#
#.. External Packages
#
setenv EXT $TRANSPROOT/external
setenv F90_INC "-M$EXT/mod -I$EXT/inc "
setenv C_INC "-I$EXT/inc "
setenv CXX_INC "-I$EXT/inc "
#These variables are appended to the compiler option strings, in $SC/System_options :-
#
# Site specific / External search paths :-
#
if( $?F90_INC ) then
set f90opt = "$f90opt $F90_INC"
set f90debug = "$f90debug $F90_INC"
endif
if( $?C_INC ) then
set ccopt = "$ccopt $C_INC"
set ccdebug = "$ccdebug $C_INC"
endif
if( $?CXX_INC ) then
set cxxopt = "$cxxopt $CXX_INC"
set cxxdebug = "$cxxdebug $CXX_INC"
endif
#
The script $SC/options displays the compiler switches for a given program or library -
>$SC/optest tcomp_test
optest: executing Get_All_Options ...
tcomp% -I- used: /common/transp_shared/Code/transp/La_95_27a/config/User_options
options finished
------> optest output for LINUX ( LaheyFujitsu ), tcomp_test
f90opt = lf95 -c -O --trap --trace -Wa,--32 \
-I/common/transp_shared/Code/transp/La_95_27a/codesys/compsc/tcomp_test \
-M/common/transp_shared/Code/transp/La_95_27a/codesys/obj/tcomp_test \
-M/common/transp_shared/Code/transp/La_95_27a/codesys/mod \
-M/common/transp_shared/Code/transp/La_95_27a/external/mod \
-I/common/transp_shared/Code/transp/La_95_27a/external/inc
f90debug = lf95 -c --xref -I /common/transp_shared/Code/transp/La_95_27a/debug
cppargs = -undef -D__LINUX -D__F90 -D__FUJITSU -D__UNIX -D__IDL6_FIX \
-I/common/transp_shared/Code/transp/La_95_27a/codesys/compsc/tcomp_test -D_DEBUG -D__JET -D_JET -D_NORZS
ccopt = gcc -ansi -c -O2 -mcpu=i486 -DSYS5 -D__LINUX \
-I/home/pshare/lib/source/SuperLU_3.0//include -D__UNIX -D__IDL6_FIX \
-I/usr/local/mdsplus/include \
-I/common/transp_shared/Code/transp/La_95_27a/codesys/compsc/tcomp_test \
-I/common/transp_shared/Code/transp/La_95_27a/external/inc
ccdebug = gcc -ansi -c -g -mcpu=i486 -DSYS5 -D__LINUX \
-I/home/pshare/lib/source/SuperLU_3.0//include -D__UNIX -D__IDL6_FIX \
-I/usr/local/mdsplus/include \
-I/common/transp_shared/Code/transp/La_95_27a/codesys/compsc/tcomp_test \
-I/common/transp_shared/Code/transp/La_95_27a/external/inc
cxxopt = g++ -c -D__LINUX \
-I/home/pshare/lib/source/SuperLU_3.0//include -D__UNIX -D__IDL6_FIX \
-I/common/transp_shared/Code/transp/La_95_27a/external/inc
cxxdebug = g++ -c -g -D__LINUX \
-I/home/pshare/lib/source/SuperLU_3.0//include -D__UNIX -D__IDL6_FIX \
-I/common/transp_shared/Code/transp/La_95_27a/external/inc