Changeset 26034
- Timestamp:
- 02/26/21 10:56:08 (4 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 110 added
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/Makefile.am
r16122 r26034 1 EXTRA_DIST = reconf scripts test m4 examples cron etc doc packages contributors.txt 1 EXTRA_DIST = reconf scripts test m4 examples cron etc doc packages contributors.txt 2 2 SUBDIRS = src 3 3 bin_SCRIPTS= README.rtf -
issm/trunk-jpl/configure.ac
r25838 r26034 3 3 #AUTOCONF 4 4 AC_INIT([Ice Sheet System Model (ISSM)],[4.19],[issm@jpl.nasa.gov],[issm],[http://issm.jpl.nasa.gov]) #Initializing configure 5 AC_CONFIG_AUX_DIR([./aux-config]) #Put config files in aux-config6 AC_CONFIG_MACRO_DIR([m4]) #m4 macros are located in m45 AC_CONFIG_AUX_DIR([./aux-config]) # Put config files in aux-config 6 AC_CONFIG_MACRO_DIR([m4]) # m4 macros are located in m4 7 7 m4_include([m4/issm_options.m4]) 8 8 … … 16 16 17 17 #Compilers 18 AC_PROG_CC([ icc cl icl gcc])18 AC_PROG_CC([gcc icc cl icl]) 19 19 AC_PROG_CPP 20 AC_PROG_CXX([ icpc cl icl g++])21 AC_PROG_F77([ ifort g77 gfortran])22 AC_PROG_FC([ ifort gfortran])20 AC_PROG_CXX([g++ icpc cl icl]) 21 AC_PROG_F77([g77 gfortran ifort]) 22 AC_PROG_FC([gfortran ifort]) 23 23 24 24 #AUTOMAKE 25 25 #Initialize automake and declare foreign so that we don't need a ChangeLog, INSTALL, etc 26 26 AM_INIT_AUTOMAKE([foreign]) 27 AC_CONFIG_HEADERS([./config.h]) #Config file must be config.h28 AM_SILENT_RULES([yes]) #Do not show compilation command by default27 AC_CONFIG_HEADERS([./config.h]) # Config file must be config.h 28 AM_SILENT_RULES([yes]) # Do not show compilation command by default 29 29 AM_PROG_AR 30 30 31 31 #Libtool 32 LT_INIT 32 LT_INIT([win32-dll]) 33 33 34 34 #Run issm_options.m4 … … 37 37 #List all Makefiles 38 38 AC_CONFIG_FILES([ 39 40 41 src/c/Makefile42 43 44 45 46 47 48 49 39 Makefile 40 src/Makefile 41 src/c/Makefile 42 src/wrappers/Makefile 43 src/wrappers/python/Makefile 44 src/wrappers/matlab/Makefile 45 src/wrappers/javascript/Makefile 46 src/mobile/Makefile 47 src/mobile/native/Makefile 48 src/m/Makefile 49 ]) 50 50 51 51 #End of configure.ac -
issm/trunk-jpl/etc/environment.sh
r25913 r26034 168 168 } #}}} 169 169 170 ####################### 171 # OS-specific handling 172 ####################### 173 174 OS=$(uname -s) 175 176 if [[ "${OS}" == MINGW* || "${OS}" == MSYS* ]]; then 177 # If this is a Windows build, we need to copy MSMPI to working $ISSM_DIR 178 MSMPI_ROOT="${ISSM_DIR}/MSMPI" 179 if [ ! -d "${MSMPI_ROOT}" ]; then 180 ${ISSM_DIR}/scripts/win-msys2-create_local_msmpi_dir.sh 181 fi 182 export MSMPI_ROOT # Used in installation of ParMETIS, ScaLAPACK 183 path_prepend "${ISSM_DIR}/bin" # Lets dynamic linker find DLLs 184 cpath_prepend "${MSMPI_ROOT}/include" 185 library_path_prepend "${MSMPI_ROOT}/lib" 186 fi 187 170 188 # Windows compilers 171 if [[ "$ ISSM_ARCH" == "cygwin-intel" ]]; then172 source $ ISSM_DIR/externalpackages/windows/windows_environment.sh189 if [[ "${ISSM_ARCH}" == "cygwin-intel" ]]; then 190 source ${ISSM_DIR}/externalpackages/windows/windows_environment.sh 173 191 fi 174 192 … … 176 194 path_append "${ISSM_DIR}/scripts" 177 195 178 ISSM_EXT_DIR="${ISSM_DIR}/externalpackages" # Redefine this constant if externalpackages are installed to a different directory 196 # Default path to external packages. Redefine this constant if they are 197 # installed to a different directory. Alternatively, export it on the command 198 # line or in a profile initialization file (that is why we check here if it is 199 # set already). 200 # 201 if [ -z "${ISSM_EXT_DIR+x}" ]; then 202 export ISSM_EXT_DIR="${ISSM_DIR}/externalpackages" 203 fi 179 204 180 205 ######################### … … 253 278 fi 254 279 255 # NOTE: Check *must* come before PETSc as we prefer packages installed via256 # 280 # NOTE: The following checks *must* come before PETSc as we prefer packages 281 # installed via PETSc 257 282 # 258 LAPACK_ROOT="${ISSM_DIR}/lapack/install" 283 BLAS_ROOT="${ISSM_EXT_DIR}/blas/install" 284 if [ -d "${BLAS_ROOT}" ]; then 285 export BLAS_ROOT # Used in installation of LAPACK, ScaLAPACK, PETSc 286 path_append "${BLAS_ROOT}/lib" # Lets dynamic linker find DLLs 287 library_path_append "${BLAS_ROOT}/lib" 288 ld_library_path_append "${BLAS_ROOT}/lib" 289 fi 290 291 LAPACK_ROOT="${ISSM_EXT_DIR}/lapack/install" 259 292 if [ -d "${LAPACK_ROOT}" ]; then 293 export LAPACK_ROOT # Used in installation of ScaLAPACK, MUMPS, PETSc 294 path_append "${LAPACK_ROOT}/lib" # Lets dynamic linker find DLLs 295 library_path_append "${LAPACK_ROOT}/lib" 260 296 ld_library_path_append "${LAPACK_ROOT}/lib" 261 297 fi 262 298 263 # NOTE: Check *must* come before PETSc as we prefer packages installed via 264 # PETSc 265 # 266 ZLIB_ROOT="${ISSM_DIR}/zlib/install" 299 METIS_ROOT="${ISSM_EXT_DIR}/metis/install" 300 if [ -d "${METIS_ROOT}" ]; then 301 export METIS_ROOT # Used in installation of ParMETIS, Gmsh, PETSc 302 path_append "${METIS_ROOT}/lib" # Lets dynamic linker find DLLs 303 library_path_prepend "${METIS_ROOT}/lib" 304 ld_library_path_prepend "${METIS_ROOT}/lib" 305 fi 306 307 MUMPS_ROOT="${ISSM_EXT_DIR}/mumps/install" 308 if [ -d "${MUMPS_ROOT}" ]; then 309 export MUMPS_ROOT # Used in installation of PETSc 310 path_append "${MUMPS_ROOT}/lib" # Lets dynamic linker find DLLs 311 library_path_append "${MUMPS_ROOT}/lib" 312 fi 313 314 PARMETIS_ROOT="${ISSM_EXT_DIR}/parmetis/install" 315 if [ -d "${PARMETIS_ROOT}" ]; then 316 export PARMETIS_ROOT # Used in installation of MUMPS, PETSc 317 path_append "${PARMETIS_ROOT}/lib" # Lets dynamic linker find DLLs 318 library_path_prepend "${PARMETIS_ROOT}/lib" 319 ld_library_path_prepend "${PARMETIS_ROOT}/lib" 320 fi 321 322 SCALAPACK_ROOT="${ISSM_EXT_DIR}/scalapack/install" 323 if [ -d "${SCALAPACK_ROOT}" ]; then 324 export SCALAPACK_ROOT # Used in installation of MUMPS, PETSc 325 path_append "${SCALAPACK_ROOT}/lib" # Lets dynamic linker find DLLs 326 library_path_append "${SCALAPACK_ROOT}/lib" 327 fi 328 329 ZLIB_ROOT="${ISSM_EXT_DIR}/zlib/install" 267 330 if [ -d "${ZLIB_ROOT}" ]; then 268 331 export ZLIB_ROOT # Used in installation of NetCDF, GDAL, GMT … … 271 334 272 335 PETSC_ROOT="${ISSM_EXT_DIR}/petsc/install" 273 if [ -d "$ PETSC_ROOT" ]; then336 if [ -d "${PETSC_ROOT}" ]; then 274 337 export PETSC_ROOT # Used in installation of Gmsh 338 path_append "${PETSC_ROOT}/lib" # Lets dynamic linker find DLLs 339 library_path_prepend "${PETSC_ROOT}/lib" 275 340 ld_library_path_prepend "${PETSC_ROOT}/lib" 276 341 … … 446 511 TRIANGLE_ROOT="${ISSM_EXT_DIR}/triangle/install" 447 512 if [ -d "${TRIANGLE_ROOT}" ]; then 513 path_append "${TRIANGLE_ROOT}/lib" # Lets dynamic linker find DLLs 448 514 ld_library_path_append "${TRIANGLE_ROOT}/lib" 449 515 dyld_library_path_append "${TRIANGLE_ROOT}/lib" -
issm/trunk-jpl/jenkins/jenkins.sh
r25979 r26034 7 7 # members of the ISSM development team. 8 8 # 9 # NOTE: 10 # - Variable OS is set in environment by running 11 # `source $ISSM_DIR/etc/environment.sh`. 12 # 9 13 # TODO: 10 14 # - Rename TEMP to something more descriptive (ensure first that other parts of … … 14 18 15 19 echo "Cleaning up execution directory" 16 rm -rf $ ISSM_DIR/execution/*17 rm -rf $ ISSM_DIR/nightlylog18 mkdir $ ISSM_DIR/nightlylog20 rm -rf ${ISSM_DIR}/execution/* 21 rm -rf ${ISSM_DIR}/nightlylog 22 mkdir ${ISSM_DIR}/nightlylog 19 23 20 24 #Server URI … … 53 57 fi 54 58 55 #Get Operating system (OS) name{{{56 OS=$(uname -s)57 if [[ $OS == CYGWIN* ]]; then58 OS="win";59 fi60 #}}}61 62 59 #Install ISSM 63 60 #Determining installation type depending on svn changes{{{ … … 65 62 echo " Determining Installation type " 66 63 echo "======================================================"; 67 if [ -a $ ISSM_DIR/svn_revision_old ]; then68 SVN_PREVIOUS=$(cat $ ISSM_DIR/svn_revision_old)64 if [ -a ${ISSM_DIR}/svn_revision_old ]; then 65 SVN_PREVIOUS=$(cat ${ISSM_DIR}/svn_revision_old) 69 66 SVN_CURRENT=$SVN_REVISION_1 70 67 echo "Previous revision number: $SVN_PREVIOUS" … … 74 71 # 75 72 76 #svn --non-interactive --no-auth-cache --trust-server-cert diff -r $SVN_PREVIOUS:$SVN_CURRENT --summarize $ ISSM_DIR | awk '{print $NF}' > $ISSM_DIR/TEMP73 #svn --non-interactive --no-auth-cache --trust-server-cert diff -r $SVN_PREVIOUS:$SVN_CURRENT --summarize ${ISSM_DIR} | awk '{print $NF}' > ${ISSM_DIR}/TEMP 77 74 78 75 # Get list of changes from Jenkins itself as svn requires credentials … … 81 78 82 79 # Process html page and get the list of files that has changed (tricky...) 83 #cat changes | grep '="The file was modified"' | sed -e 's/.*<\/td><td><a>\(.*\)<\/a><\/td><td>.*/\1/' > $ ISSM_DIR/TEMP80 #cat changes | grep '="The file was modified"' | sed -e 's/.*<\/td><td><a>\(.*\)<\/a><\/td><td>.*/\1/' > ${ISSM_DIR}/TEMP 84 81 #cat changes | grep 'document_edit' |sed -e 's/document_edit.png/document_edit.png\ 85 #/g' | sed -e 's/.*<\/a><\/td><td>\(.*\)<\/td><\/tr>.*/\1/' | grep -v 'document_edit.png' > $ ISSM_DIR/TEMP86 cat changes | tr " " "\n" | grep trunk | sed -e 's/.*<a>\(.*\)<\/a>.*/\1/' > $ ISSM_DIR/TEMP82 #/g' | sed -e 's/.*<\/a><\/td><td>\(.*\)<\/td><\/tr>.*/\1/' | grep -v 'document_edit.png' > ${ISSM_DIR}/TEMP 83 cat changes | tr " " "\n" | grep trunk | sed -e 's/.*<a>\(.*\)<\/a>.*/\1/' > ${ISSM_DIR}/TEMP 87 84 88 85 # Print list of changed files 89 86 echo " " 90 87 echo "List of updated files" 91 cat $ ISSM_DIR/TEMP88 cat ${ISSM_DIR}/TEMP 92 89 echo " " 93 90 … … 99 96 # If the contents of the externalpackages directory were modified in any 100 97 # way, check for changed external packages 101 if [ ! -z "$(cat $ ISSM_DIR/TEMP | grep externalpackages)" ]; then98 if [ ! -z "$(cat ${ISSM_DIR}/TEMP | grep externalpackages)" ]; then 102 99 echo " -- checking for changed externalpackages... yes" 103 100 ISSM_EXTERNALPACKAGES="yes" … … 109 106 # If the Makefile or m4 diirectory were changed in any way or if certain 110 107 # binary files from a previous compilation do not exist, reconfigure 111 if [ ! -z "$(cat $ ISSM_DIR/TEMP | grep -e "Makefile.am" -e "m4" )" ] ||112 [ ! -f "$ ISSM_DIR/bin/issm.exe" ] && [ ! -f "$ISSM_DIR/bin/issm-bin.js" ] ||108 if [ ! -z "$(cat ${ISSM_DIR}/TEMP | grep -e "Makefile.am" -e "m4" )" ] || 109 [ ! -f "${ISSM_DIR}/bin/issm.exe" ] && [ ! -f "${ISSM_DIR}/bin/issm-bin.js" ] || 113 110 [ "$ISSM_EXTERNALPACKAGES" == "yes" ]; then 114 111 echo " -- checking for reconfiguration... yes" … … 120 117 121 118 # If source files were changed in any way, recompile 122 if [ ! -z "$(cat $ ISSM_DIR/TEMP | grep -e "\.cpp" -e "\.h" )" ] ||119 if [ ! -z "$(cat ${ISSM_DIR}/TEMP | grep -e "\.cpp" -e "\.h" )" ] || 123 120 [ "$ISSM_RECONFIGURE" == "yes" ]; then 124 121 echo " -- checking for recompilation... yes" … … 131 128 # Cleanup 132 129 rm changes 133 rm $ ISSM_DIR/TEMP130 rm ${ISSM_DIR}/TEMP 134 131 else 135 132 echo "Previous revision not found, this must be a fresh install" … … 144 141 echo " " 145 142 echo "Recording current svn version: $SVN_REVISION_1" 146 echo $SVN_REVISION_1 > $ ISSM_DIR/svn_revision_old143 echo $SVN_REVISION_1 > ${ISSM_DIR}/svn_revision_old 147 144 #}}} 148 145 … … 154 151 155 152 #Jenkins XML files for individual packages 156 EXTERNAL_TEST_FILE="$ ISSM_DIR/nightlylog/results/external.xml"157 mkdir -p $ ISSM_DIR/nightlylog/results153 EXTERNAL_TEST_FILE="${ISSM_DIR}/nightlylog/results/external.xml" 154 mkdir -p ${ISSM_DIR}/nightlylog/results 158 155 echo "<testsuite tests=\"$NUMPACKAGES\">" > $EXTERNAL_TEST_FILE 159 156 160 157 # Need a source here for when builds start midway through installation of externalpackages. 161 source $ ISSM_DIR/etc/environment.sh162 163 if [ "$ OS" == "win"]; then158 source ${ISSM_DIR}/etc/environment.sh 159 160 if [ "${OS}" == CYGWIN* ]; then 164 161 echo " == WINDOWS ENVIRONMENT DETECTED ==" 165 source $ ISSM_DIR/externalpackages/windows/windows_environment.sh162 source ${ISSM_DIR}/externalpackages/windows/windows_environment.sh 166 163 fi 167 164 … … 175 172 176 173 #install if requested or if previous install has not been successful 177 if [ "$ ISSM_EXTERNALPACKAGES" == "yes" ]; then # NOTE: Removed check on if 'install' directory exist178 cd $ ISSM_DIR/externalpackages/$PACKAGENAME174 if [ "${ISSM_EXTERNALPACKAGES}" == "yes" ]; then # NOTE: Removed check on if 'install' directory exist 175 cd ${ISSM_DIR}/externalpackages/$PACKAGENAME 179 176 180 177 echo "======================================================"; … … 183 180 184 181 ./$PACKAGEINST $NUMCPUS_INSTALL &> compil.log 185 if [ $? -ne 0 ] && [ "$ PACKAGENAME" != "boost" ]; then182 if [ $? -ne 0 ] && [ "${PACKAGENAME}" != "boost" ]; then 186 183 cat compil.log 187 184 echo "======================================================"; … … 197 194 echo "<testcase classname=\"externalpackages\" name=\"$PACKAGENAME\"/>" >> $EXTERNAL_TEST_FILE 198 195 fi 199 source $ ISSM_DIR/etc/environment.sh196 source ${ISSM_DIR}/etc/environment.sh 200 197 201 198 #If external package is rebuilt, we also need to recompile … … 220 217 221 218 # Source here to include any newly installed externalpackages on the path. 222 source $ ISSM_DIR/etc/environment.sh223 224 if [ "$ OS" == "win"]; then219 source ${ISSM_DIR}/etc/environment.sh 220 221 if [ "${OS}" == CYGWIN* ]; then 225 222 echo " == WINDOWS ENVIRONMENT DETECTED ==" 226 source $ ISSM_DIR/externalpackages/windows/windows_environment.sh223 source ${ISSM_DIR}/externalpackages/windows/windows_environment.sh 227 224 fi 228 225 … … 244 241 #export EMCC_DEBUG=1 # Uncomment to enable debugging 245 242 export EMCC_CFLAGS="-s ERROR_ON_UNDEFINED_SYMBOLS=0" # Required after v1.38.14 to avoid undefined symbol warnings from our Fortran object files being treated as errors 246 source $ ISSM_DIR/externalpackages/emscripten/install/emsdk_env.sh243 source ${ISSM_DIR}/externalpackages/emscripten/install/emsdk_env.sh 247 244 fi 248 245 249 246 #}}} 250 247 #ISSM compilation yes/no (ISSM_COMPILATION) {{{ 251 if [ "$ ISSM_COMPILATION" == "yes" ]; then248 if [ "${ISSM_COMPILATION}" == "yes" ]; then 252 249 cd $ISSM_DIR 253 if [ "$ ISSM_RECONFIGURE" == "yes" ]; then250 if [ "${ISSM_RECONFIGURE}" == "yes" ]; then 254 251 echo "======================================================"; 255 252 echo " Cleaning up and reconfiguring " … … 262 259 exit 1 263 260 fi 264 eval "./configure $ ISSM_CONFIG"261 eval "./configure ${ISSM_CONFIG}" 265 262 if [ $? -ne 0 ]; then 266 263 echo "ISSM configuration failed (see options below)" … … 276 273 echo "======================================================" 277 274 if [ $NUMCPUS_INSTALL -gt 1 ]; then 278 echo "Making with " $NUMCPUS_INSTALL " cpus" 275 echo "Making with ${NUMCPUS_INSTALL} cpus" 276 277 # To debug compilation/linking, add 'V=1' option to the call to make 278 #make -j $NUMCPUS_INSTALL V=1 279 279 make -j $NUMCPUS_INSTALL 280 280 else 281 #make V=1 281 282 make 282 283 fi … … 292 293 fi 293 294 make install 294 elif [ "$ISSM_COMPILATION" == "no" ] 295 then 295 elif [ "${ISSM_COMPILATION}" == "no" ]; then 296 296 echo "Skipping ISSM compilation" 297 297 else … … 311 311 for (( i=1;i<=$NUMCPUS_RUN;i++ )); do 312 312 #Launch matlab and the nightly run script 313 cat > $ ISSM_DIR/nightlylog/matlab_run$i.m << EOF313 cat > ${ISSM_DIR}/nightlylog/matlab_run$i.m << EOF 314 314 warning off %necessary to avoid a log of several Go for parallel runs 315 315 try, 316 $(if [ "$ MATLAB_NROPTIONS" = "" ]; then317 echo "runme('output','nightly','rank',$ i,'numprocs',$NUMCPUS_RUN);"316 $(if [ "${MATLAB_NROPTIONS}" = "" ]; then 317 echo "runme('output','nightly','rank',${i},'numprocs',${NUMCPUS_RUN});" 318 318 else 319 echo "runme($ MATLAB_NROPTIONS,'output','nightly','rank',$i,'numprocs',$NUMCPUS_RUN);"319 echo "runme(${MATLAB_NROPTIONS},'output','nightly','rank',${i},'numprocs',${NUMCPUS_RUN});" 320 320 fi) 321 321 catch me, … … 332 332 EOF 333 333 cd $ISSM_DIR/test/NightlyRun 334 if [ "$OS" = "win"]; then335 $MATLAB_PATH/bin/matlab -nod isplay -nosplash -r "addpath $ISSM_DIR_WIN/src/m/dev; devpath; addpath $ISSM_DIR_WIN/nightlylog/; matlab_run$i" -logfile $ISSM_DIR_WIN/nightlylog/matlab_log$i.log &334 if [[ "${OS}" == CYGWIN* || "${OS}" == MINGW* ]]; then 335 $MATLAB_PATH/bin/matlab -nodesktop -nosplash -nojvm -r "addpath ${ISSM_DIR_WIN}/src/m/dev; devpath; addpath ${ISSM_DIR_WIN}/nightlylog; matlab_run$i" -logfile ${ISSM_DIR_WIN}/nightlylog/matlab_log$i.log & 336 336 else 337 $MATLAB_PATH/bin/matlab -nodisplay -nosplash -r "addpath $ ISSM_DIR/src/m/dev; devpath; addpath $ISSM_DIR/nightlylog/; matlab_run$i" -logfile $ISSM_DIR/nightlylog/matlab_log$i.log &337 $MATLAB_PATH/bin/matlab -nodisplay -nosplash -r "addpath ${ISSM_DIR}/src/m/dev; devpath; addpath ${ISSM_DIR}/nightlylog; matlab_run$i" -logfile ${ISSM_DIR}/nightlylog/matlab_log$i.log & 338 338 fi 339 339 done 340 340 341 # wait until matlab closes342 if [ "$OS" = "win"]; then341 # Wait for MATLAB to exit 342 if [[ "${OS}" == CYGWIN* ]]; then 343 343 sleep 5; 344 echo "Waiting for matlab on windows"344 echo "Waiting for MATLAB to exit" 345 345 pid=$(ps aux -W | grep MATLAB | awk '{printf("%s\n","MATLAB");}') 346 346 echo '-----------------------------' 347 echo "pid: $ pid"347 echo "pid: ${pid}" 348 348 echo '-----------------------------' 349 while [ -n "$ pid" ]; do349 while [ -n "${pid}" ]; do 350 350 pid=$(ps aux -W | grep MATLAB | awk '{printf("%s\n","MATLAB");}') 351 351 sleep 1; 352 352 done 353 353 echo "DONE!" 354 elif [[ "${OS}" == MINGW* ]]; then 355 # NOTE: The PID query used here may work as well on Cygwin. If so, combine the two conditional blocks. 356 sleep 5; 357 echo "Waiting for MATLAB to exit" 358 pid=$(ps -W | grep MATLAB | awk '{print $1}') 359 echo '-----------------------------' 360 echo "pid: ${pid}" 361 echo '-----------------------------' 362 while [ -n "${pid}" ]; do 363 pid=$(ps -W | grep MATLAB | awk '{print $1}') 364 sleep 1; 365 done 354 366 else 355 367 wait 356 368 fi 357 369 358 #concatenate reports 359 cd $ISSM_DIR/nightlylog/ 360 #echo 'CHECKING NIGHTLYLOG DIRECTORY' 361 #echo '-----------------------------' 362 #ls -la 363 #echo '-----------------------------' 370 # Concatenate logs 371 cd $ISSM_DIR/nightlylog 364 372 365 373 if [ -f matlab_log.log ]; then … … 368 376 369 377 for job in `jobs -p`; do 370 echo "Waiting on: $job"378 #echo "Waiting on: ${job}" # Commented out because it really has nothing to do with MATLAB processes 371 379 wait $job 372 380 done … … 387 395 if [ $PYTHON_TEST -eq 1 ]; then 388 396 #Launch all tests on different cpus 389 export PYTHONPATH="$ ISSM_DIR/src/m/dev"397 export PYTHONPATH="${ISSM_DIR}/src/m/dev" 390 398 export PYTHONSTARTUP="${PYTHONPATH}/devpath.py" 391 399 export PYTHONUNBUFFERED=1 #we don't want python to buffer otherwise issm.exe output is not captured … … 398 406 done 399 407 400 # concatenate reports401 cd $ISSM_DIR/nightlylog /408 # Concatenate logs 409 cd $ISSM_DIR/nightlylog 402 410 if [ -f python_log.log ]; then 403 411 rm python_log.log … … 406 414 for job in `jobs -p` 407 415 do 408 echo "Waiting on: $ job"416 echo "Waiting on: ${job}" 409 417 wait $job 410 418 done … … 429 437 # }}} 430 438 431 # process logs to be junit compatible439 # Process logs to be JUnit compatible 432 440 #{{{ 433 441 cd $ISSM_DIR/nightlylog -
issm/trunk-jpl/m4/issm_options.m4
r25929 r26034 31 31 PACKAGE_DATE="unknown" 32 32 fi 33 AC_DEFINE_UNQUOTED( PACKAGE_BUILD_DATE, "$PACKAGE_DATE", [build date])33 AC_DEFINE_UNQUOTED([PACKAGE_BUILD_DATE], "${PACKAGE_DATE}", [build date]) 34 34 AC_MSG_RESULT([${PACKAGE_DATE}]) 35 35 … … 46 46 fi 47 47 fi 48 AC_DEFINE_UNQUOTED( USER_NAME, "$user_name", [user name])48 AC_DEFINE_UNQUOTED([USER_NAME], "${user_name}", [user name]) 49 49 AC_MSG_RESULT([${user_name}]) 50 50 … … 55 55 linux-gnu* | lignux* ) host_os=linux ;; 56 56 esac 57 AC_DEFINE_UNQUOTED( HOST_OS, "$host_os", [host full OS name and version])57 AC_DEFINE_UNQUOTED([HOST_OS], "${host_os}", [host full OS name and version]) 58 58 AC_MSG_RESULT([${host_os}]) 59 59 60 60 AC_MSG_CHECKING([host cpu]) 61 AC_DEFINE_UNQUOTED( HOST_CPU, "$host_cpu", [host CPU])61 AC_DEFINE_UNQUOTED([HOST_CPU], "${host_cpu}", [host CPU]) 62 62 AC_MSG_RESULT([${host_cpu}]) 63 63 64 64 AC_MSG_CHECKING([vendor]) 65 AC_DEFINE_UNQUOTED( HOST_VENDOR, "$host_vendor", [host vendor])65 AC_DEFINE_UNQUOTED([HOST_VENDOR], "${host_vendor}", [host vendor]) 66 66 AC_MSG_RESULT([${host_vendor}]) 67 67 … … 73 73 linux-gnu* | lignux* ) host_os_name=linux ;; 74 74 esac 75 AC_DEFINE_UNQUOTED( HOST_OS_NAME, "$host_os_name", [host OS name])75 AC_DEFINE_UNQUOTED([HOST_OS_NAME], "${host_os_name}", [host OS name]) 76 76 AC_MSG_RESULT([${host_os_name}]) 77 77 … … 82 82 host_os_version=`(uname -r) 2>/dev/null` || host_os_version=unknown 83 83 fi 84 AC_DEFINE_UNQUOTED( HOST_OS_VERSION, "$host_os_version", [host OS version])84 AC_DEFINE_UNQUOTED([HOST_OS_VERSION], "${host_os_version}", [host OS version]) 85 85 AC_MSG_RESULT([${host_os_version}]) 86 86 … … 95 95 i?86 ) host_arch=i386 ;; # all x86 should show up as i386 96 96 esac 97 AC_DEFINE_UNQUOTED( HOST_ARCH, "$host_arch", [host archictecture])97 AC_DEFINE_UNQUOTED([HOST_ARCH], "${host_arch}", [host archictecture]) 98 98 AC_MSG_RESULT([${host_arch}]) 99 99 … … 219 219 AC_MSG_RESULT([no]) 220 220 fi 221 AC_DEFINE_UNQUOTED([_SYSTEM_HAS_FMEMOPEN_], $ SYSTEM_FMEMOPEN, [does system copy of libc have fmemopen])221 AC_DEFINE_UNQUOTED([_SYSTEM_HAS_FMEMOPEN_], ${SYSTEM_FMEMOPEN}, [does system copy of libc have fmemopen]) 222 222 AM_CONDITIONAL([SYSTEM_HAS_FMEMOPEN], [test "${SYSTEM_FMEMOPEN}" == "1"]) 223 223 224 IS_MSYS2=no 224 225 IS_WINDOWS=no 225 226 AC_MSG_CHECKING([for vendor compilers]) … … 318 319 export CFLAGS="-g -O3 -ipo -axAVX -ipo -no-inline-min-size -inline-max-size=345 -no-inline-max-total-size -no-inline-max-per-routine -no-inline-max-per-compile -restrict" 319 320 AC_DEFINE([_HAVE_RESTRICT_], [1], [with restrict buffers]) 321 elif test "${VENDOR}" == "win-msys2"; then 322 export LDFLAGS="${LDFLAGS} -no-undefined" 323 export OSLIBS="-Wl,-L/mingw64/lib/gcc/x86_64-w64-mingw32/10.2.0 -Wl,-L/mingw64/x86_64-w64-mingw32/lib -Wl,-lstdc++ -Wl,-lgfortran -Wl,-lmingw32 -Wl,-lgcc_s -Wl,-lmoldname -Wl,-lmingwex -Wl,-lmsvcrt -Wl,-lm -Wl,-lpthread -Wl,-lshell32 -Wl,-luser32 -Wl,-lgdi32 -Wl,-luser32 -Wl,-ladvapi32 -Wl,-lkernel32 -Wl,-lquadmath -Wl,-lstdc++ -Wl,-lgcc" 324 IS_MSYS2=yes 320 325 else 321 326 AC_MSG_ERROR([unknown compiler vendor!]) 322 327 fi 323 328 fi 329 dnl Set default standard for C++ 330 if test "${CXXFLAGS}" == ""; then 331 export CXXFLAGS="-std=C++11" 332 fi 324 333 AC_SUBST([OSLIBS]) 325 334 AC_MSG_RESULT([done]) 326 335 327 AC_MSG_CHECKING([if this is a Windowsbuild])336 AC_MSG_CHECKING([if this is a MSVC (Windows) build]) 328 337 AM_CONDITIONAL([WINDOWS], [test "x${IS_WINDOWS}" == "xyes"]) 329 338 AC_MSG_RESULT([${IS_WINDOWS}]) 339 340 AC_MSG_CHECKING([if this is a MSYS2 (Windows) build]) 341 AM_CONDITIONAL([MSYS2], [test "x${IS_MSYS2}" == "xyes"]) 342 AC_MSG_RESULT([${IS_MSYS2}]) 343 AC_DEFINE([_IS_MSYS2_], [1], [is a MSYS2 (Windows) build]) 330 344 dnl }}} 331 345 dnl MATLAB{{{ 332 346 333 347 dnl See if MATLAB has been provided 348 AC_MSG_CHECKING([for MATLAB]) 334 349 AC_ARG_WITH( 335 350 [matlab-dir], dnl feature … … 338 353 [MATLAB_ROOT="no"] dnl action if not given 339 354 ) 340 AC_MSG_CHECKING([for MATLAB])341 355 if test "x${MATLAB_ROOT}" == "xno"; then 342 356 HAVE_MATLAB=no … … 357 371 AC_DEFINE([_HAVE_MATLAB_], [1], [with MATLAB in ISSM src]) 358 372 359 dnl Set MEX LIB, MEXLINK, and MEXEXT373 dnl Set MEX* variable 360 374 AC_MSG_CHECKING([MATLAB's mex compilation flags]) 361 375 … … 367 381 if test "${VENDOR}" == "intel-win7-32"; then 368 382 MEXLIB="-Wl,libmx.lib -Wl,libmex.lib -Wl,libmat.lib ${OSLIBS} -Wl,libf2cblas.lib -Wl,libf2clapack.lib" 369 MEXLINK ="-Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win32/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"383 MEXLINKFLAGS="-Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win32/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL" 370 384 MEXEXT=`${MATLAB_ROOT}/bin/mexext.bat` 371 385 MEXEXT=".${MEXEXT}" 372 386 elif test "${VENDOR}" == "intel-win7-64"; then 373 387 MEXLIB="-Wl,libmx.lib -Wl,libmex.lib -Wl,libmat.lib ${OSLIBS} -Wl,libf2cblas.lib -Wl,libf2clapack.lib" 374 MEXLINK ="-Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win64/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"388 MEXLINKFLAGS="-Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win64/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL" 375 389 MEXEXT=".mexw64" 376 390 elif test "${VENDOR}" == "MSVC-Win64" || test "${VENDOR}" == "MSVC-Win64-par"; then 377 391 MEXLIB="-Wl,libmx.lib -Wl,libmex.lib -Wl,libmat.lib ${OSLIBS} -Wl,libf2cblas.lib -Wl,libf2clapack.lib" 378 MEXLINK ="-Wl,/link -Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win64/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"392 MEXLINKFLAGS="-Wl,/link -Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win64/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL" 379 393 MATLABINCL="-I`cygpath -m ${MATLAB_ROOT}/extern/include`" 380 394 MEXEXT=".mexw64" 381 395 fi 382 396 ;; 397 *mingw*) 398 if test "${IS_MSYS2}" == "yes"; then 399 dnl Value to set MEXEXT to can be found on Windows by running $MATLAB_ROOT/bin/mexext.bat 400 MEXEXT=".mexw64" 401 MATLABINCL="-I${MATLAB_ROOT}/extern/include" 402 MEXOPTFLAGS="-O2 -fwrapv -DNDEBUG -g" 403 MEXCFLAGS="-fexceptions -fno-omit-frame-pointer -m64 -DMATLAB_MEX_FILE" 404 MEXCXXFLAGS="-fexceptions -fno-omit-frame-pointer -std=c++11 -m64 -DMATLAB_MEX_FILE" 405 MEXLINKFLAGS="-m64 -Wl,--no-undefined -shared -static -Wl,${MATLAB_ROOT}/extern/lib/win64/mingw64/mexFunction.def" 406 MEXLIB_DIR="${MATLAB_ROOT}/extern/lib/win64/mingw64" 407 MEXLIB="-L${MEXLIB_DIR} -lmx -lmex -lmat -lm -lmwlapack -lmwblas" 408 fi 409 ;; 410 *msys*) 411 dnl Value to set MEXEXT to can be found on Windows by running $MATLAB_ROOT/bin/mexext.bat 412 MEXEXT=".mexw64" 413 MATLABINCL="-I${MATLAB_ROOT}/extern/include" 414 MEXOPTFLAGS="-O2 -fwrapv -DNDEBUG -g" 415 MEXCFLAGS="-fexceptions -fno-omit-frame-pointer -m64 -DMATLAB_MEX_FILE" 416 MEXCXXFLAGS="-fexceptions -fno-omit-frame-pointer -std=c++11 -m64 -DMATLAB_MEX_FILE" 417 MEXLINKFLAGS="-m64 -Wl,--no-undefined -shared -static -Wl,${MATLAB_ROOT}/extern/lib/win64/mingw64/mexFunction.def" 418 MEXLIB_DIR="${MATLAB_ROOT}/extern/lib/win64/mingw64" 419 MEXLIB="-L${MEXLIB_DIR} -lmx -lmex -lmat -lm -lmwlapack -lmwblas" 420 ;; 383 421 *) 422 MEXEXT=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep LDEXTENSION | sed -e "s/ LDEXTENSION = //g") 384 423 MATLABINCL="-I${MATLAB_ROOT}/extern/include" 385 MEXLINK =$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep LDFLAGS | sed -e "s/ LDFLAGS = //g")424 MEXLINKFLAGS=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep LDFLAGS | sed -e "s/ LDFLAGS = //g") 386 425 MEXLIB=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep CXXLIBS | sed -e "s/ CXXLIBS = //g") 387 MEXEXT=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep LDEXTENSION | sed -e "s/ LDEXTENSION = //g")388 dnl version 2014 and up389 426 if test -z "${MEXEXT}"; then 390 427 echo "#include <mex.h>" > conftest.cpp … … 392 429 ${MATLAB_ROOT}/bin/mex -v -lmex conftest.cpp > conftest.tmp 2>&1 393 430 rm -f conftest.cpp 394 MEXLINK =$(cat conftest.tmp | grep LDFLAGS | sed -e "s/LDFLAGS ://g")431 MEXLINKFLAGS=$(cat conftest.tmp | grep LDFLAGS | sed -e "s/LDFLAGS ://g") 395 432 MEXLIB=$(cat conftest.tmp | grep LINKLIBS | sed -e "s/LINKLIBS ://g") 396 433 MEXEXT=$(cat conftest.tmp | grep LDEXT | sed -e "s/LDEXT ://g" | awk '{print $[1]}') … … 402 439 403 440 dnl Make sure mexFunction.map is not in MEXLIB to avoid problems with global variables 404 dnl MEXLINK =$(echo ${MEXLINK} | sed -e "s/,-expo.*mexFunction\\.map\"//g" | sed -e "s/-[[^ ]]*mexFunction\\.map//g")405 MEXLINK ="" dnl We actually don't need MEXLINK????441 dnl MEXLINKFLAGS=$(echo ${MEXLINKFLAGS} | sed -e "s/,-expo.*mexFunction\\.map\"//g" | sed -e "s/-[[^ ]]*mexFunction\\.map//g") 442 MEXLINKFLAGS="" dnl We actually don't need MEXLINK???? 406 443 ;; 407 444 esac … … 411 448 fi 412 449 450 AC_SUBST([MEXEXT]) 451 AC_SUBST([MEXOPTFLAGS]) 452 AC_SUBST([MEXCFLAGS]) 453 AC_SUBST([MEXCXXFLAGS]) 413 454 AC_SUBST([MATLABINCL]) 414 MATLABWRAPPEREXT=${MEXEXT} 415 AC_SUBST([MATLABWRAPPEREXT]) 455 AC_SUBST([MEXLINKFLAGS]) 416 456 AC_SUBST([MEXLIB]) 417 AC_SUBST([MEXLINK])418 457 fi 419 458 dnl }}} 420 459 dnl JavaScript{{{ 460 AC_MSG_CHECKING([for JavaScript]) 421 461 AC_ARG_WITH( 422 462 [javascript], … … 425 465 [JAVASCRIPT="no"] 426 466 ) 427 AC_MSG_CHECKING([for JavaScript])428 467 if test "x${JAVASCRIPT}" == "xno"; then 429 468 HAVE_JAVASCRIPT=no … … 438 477 dnl }}} 439 478 dnl Triangle {{{ 479 AC_MSG_CHECKING([for triangle]) 440 480 AC_ARG_WITH( 441 481 [triangle-dir], … … 444 484 [TRIANGLE_ROOT="no"] 445 485 ) 446 AC_MSG_CHECKING([for triangle])447 486 if test "x${TRIANGLE_ROOT}" == "xno"; then 448 487 HAVE_TRIANGLE=no … … 483 522 fi 484 523 ;; 524 *mingw*) 525 if test "x${HAVE_JAVASCRIPT}" == "xyes"; then 526 dnl Link to the object file, not the library 527 TRIANGLELIB=${TRIANGLE_ROOT}/share/triangle.o 528 else 529 TRIANGLELIB="-L${TRIANGLE_ROOT}/lib -ltriangle" 530 fi 531 ;; 532 *msys*) 533 if test "x${HAVE_JAVASCRIPT}" == "xyes"; then 534 dnl Link to the object file, not the library 535 TRIANGLELIB=${TRIANGLE_ROOT}/share/triangle.o 536 else 537 TRIANGLELIB="-L${TRIANGLE_ROOT}/lib -ltriangle" 538 fi 539 ;; 485 540 esac 486 541 AC_DEFINE([_HAVE_TRIANGLE_], [1], [with Triangle in ISSM src]) … … 490 545 dnl }}} 491 546 dnl Boost{{{ 547 AC_MSG_CHECKING([for Boost]) 492 548 AC_ARG_WITH( 493 549 [boost-dir], … … 496 552 [BOOST_ROOT="no"] 497 553 ) 498 AC_MSG_CHECKING([for Boost])499 554 if test "x${BOOST_ROOT}" == "xno"; then 500 555 HAVE_BOOST=no … … 523 578 dnl }}} 524 579 dnl Dakota{{{ 580 AC_MSG_CHECKING([for Dakota]) 525 581 AC_ARG_WITH( 526 582 [dakota-dir], … … 529 585 [DAKOTA_ROOT="no"] 530 586 ) 531 AC_MSG_CHECKING([for Dakota])532 587 if test "x${DAKOTA_ROOT}" == "xno"; then 533 588 HAVE_DAKOTA=no … … 547 602 AC_MSG_CHECKING(for Dakota version) 548 603 dnl TODO: Check if this method applies to all other versions of 549 dnl Dakota (it should as long as the Dakota binaries have been 604 dnl Dakota (it should as long as the Dakota binaries have been 550 605 dnl compiled). If so, we can remove the other methods of 551 606 dnl getting the version. … … 564 619 fi 565 620 AC_MSG_RESULT([${DAKOTA_VERSION}]) 566 AC_DEFINE_UNQUOTED( _DAKOTA_VERSION_, "${DAKOTA_VERSION}", [Dakota version number])621 AC_DEFINE_UNQUOTED([_DAKOTA_VERSION_], ${DAKOTA_VERSION}, [Dakota version number]) 567 622 568 623 DAKOTAFLAGS="" … … 679 734 AC_MSG_CHECKING(for Dakota major version) 680 735 AC_MSG_RESULT(${DAKOTA_MAJOR}) 681 AC_DEFINE_UNQUOTED( _DAKOTA_MAJOR_, $DAKOTA_MAJOR, [Dakota major version number])736 AC_DEFINE_UNQUOTED([_DAKOTA_MAJOR_], ${DAKOTA_MAJOR}, [Dakota major version number]) 682 737 AC_MSG_CHECKING(for Dakota minor version) 683 738 AC_MSG_RESULT(${DAKOTA_MINOR}) 684 AC_DEFINE_UNQUOTED( _DAKOTA_MINOR_, $DAKOTA_MINOR, [Dakota minor version number])739 AC_DEFINE_UNQUOTED([_DAKOTA_MINOR_], ${DAKOTA_MINOR}, [Dakota minor version number]) 685 740 AC_MSG_CHECKING(for Dakota build version) 686 741 AC_MSG_RESULT(${DAKOTA_BUILD}) 687 AC_DEFINE_UNQUOTED( _DAKOTA_BUILD_, $DAKOTA_BUILD, [Dakota build version number])742 AC_DEFINE_UNQUOTED([_DAKOTA_BUILD_], ${DAKOTA_BUILD}, [Dakota build version number]) 688 743 689 744 AC_DEFINE([_HAVE_DAKOTA_], [1], [with Dakota in ISSM src]) … … 695 750 dnl }}} 696 751 dnl Python{{{ 752 AC_MSG_CHECKING([for Python]) 697 753 AC_ARG_WITH( 698 754 [python-dir], … … 708 764 [PYTHON_VERSION="no"] 709 765 ) 710 AC_MSG_CHECKING([for Python])711 766 if test "x${PYTHON_ROOT}" == "xno"; then 712 767 HAVE_PYTHON=no … … 735 790 dnl Determine major version 736 791 PYTHON_MAJOR=${PYTHON_VERSION%.*} 737 AC_DEFINE_UNQUOTED( _PYTHON_MAJOR_, $PYTHON_MAJOR, [Python version major])792 AC_DEFINE_UNQUOTED([_PYTHON_MAJOR_], ${PYTHON_MAJOR}, [Python version major]) 738 793 if test "x${PYTHON_MAJOR}" == "x3"; then 739 794 HAVE_PYTHON3="yes" … … 751 806 PYTHONINCL=-I${PYTHON_ROOT}/include/python${PYTHON_VERSION}m 752 807 else 753 AC_MSG_ERROR([Python.h not found , locate this file and contact ISSM developers]);808 AC_MSG_ERROR([Python.h not found! Please locate this file and contact ISSM developers via forum or email.]); 754 809 fi 755 810 AC_MSG_RESULT([found]) … … 764 819 PYTHONLINK="-shared" 765 820 ;; 821 *darwin*) 822 PYTHONLINK="-dynamiclib" 823 ;; 766 824 *linux*) 767 825 PYTHONLINK="-shared" 768 826 ;; 769 *darwin*) 770 PYTHONLINK="-dynamiclib" 827 *mingw*) 828 PYTHONLINK="-shared" 829 ;; 830 *msys*) 831 PYTHONLINK="-shared" 771 832 ;; 772 833 esac … … 781 842 dnl }}} 782 843 dnl NumPy{{{ 783 dnl TODO:784 dnl - Replace references to python-numpy with numpy (and similar terms)785 dnl project-wide786 dnl787 AC_ARG_WITH(788 [python-numpy-dir],789 AS_HELP_STRING([--with-python-numpy-dir=DIR], [python-numpy root directory]),790 [PYTHON_NUMPY_ROOT=${withval}],791 [PYTHON_NUMPY_ROOT="no"]792 )793 794 844 dnl NOTE: You can find NumPy by running, 795 845 dnl … … 797 847 dnl >>> numpy.__file__ 798 848 dnl 799 849 dnl TODO: 850 dnl - Replace references to python-numpy with numpy (and similar terms) 851 dnl project-wide 852 dnl 800 853 AC_MSG_CHECKING(for python-numpy) 854 AC_ARG_WITH( 855 [python-numpy-dir], 856 AS_HELP_STRING([--with-python-numpy-dir=DIR], [python-numpy root directory]), 857 [PYTHON_NUMPY_ROOT=${withval}], 858 [PYTHON_NUMPY_ROOT="no"] 859 ) 801 860 if test "x${PYTHON_NUMPY_ROOT}" == "xno"; then 802 861 HAVE_PYTHON_NUMPY=no … … 817 876 dnl }}} 818 877 dnl Chaco{{{ 878 AC_MSG_CHECKING([for Chaco]) 819 879 AC_ARG_WITH( 820 880 [chaco-dir], … … 823 883 [CHACO_ROOT="no"] 824 884 ) 825 AC_MSG_CHECKING([for Chaco])826 885 if test "x${CHACO_ROOT}" == "xno"; then 827 886 HAVE_CHACO=no … … 845 904 dnl }}} 846 905 dnl ESMF{{{ 906 AC_MSG_CHECKING([for ESMF]) 847 907 AC_ARG_WITH( 848 908 [esmf-dir], … … 851 911 [ESMF_ROOT="no"] 852 912 ) 853 AC_MSG_CHECKING([for ESMF])854 913 if test "x${ESMF_ROOT}" == "xno"; then 855 914 HAVE_ESMF=no … … 873 932 dnl }}} 874 933 dnl CoDiPack{{{ 934 AC_MSG_CHECKING([for CoDiPack]) 875 935 AC_ARG_WITH( 876 936 [codipack-dir], … … 879 939 [CODIPACK_ROOT="no"] 880 940 ) 881 AC_MSG_CHECKING([for CoDiPack])882 941 if test "x${CODIPACK_ROOT}" == "xno"; then 883 942 HAVE_CODIPACK=no … … 901 960 dnl }}} 902 961 dnl Tape Allocation {{{ 962 AC_MSG_CHECKING(for tape allocation) 903 963 AC_ARG_ENABLE( 904 964 [tape-alloc], dnl feature … … 907 967 [enable_tape_alloc=no] 908 968 ) 909 AC_MSG_CHECKING(for tape allocation)910 969 if test "x${enable_tape_alloc}" == "xyes"; then 911 970 AC_DEFINE([_AD_TAPE_ALLOC_], [1], [enable a priori tape allocation for AD]) … … 914 973 dnl }}} 915 974 dnl ADOL-C {{{ 975 AC_MSG_CHECKING([for ADOL-C]) 916 976 AC_ARG_WITH( 917 977 [adolc-dir], … … 920 980 [ADOLC_ROOT="no"] 921 981 ) 922 AC_MSG_CHECKING([for ADOL-C])923 982 if test "x${ADOLC_ROOT}" == "xno"; then 924 983 HAVE_ADOLC=no … … 945 1004 dnl }}} 946 1005 dnl ADOL-C version{{{ 1006 AC_MSG_CHECKING(for ADOL-C version) 947 1007 AC_ARG_WITH( 948 1008 [adolc-version], … … 951 1011 [ADOLC_VERSION=2] 952 1012 ) 953 AC_MSG_CHECKING(for ADOL-C version) 954 955 AC_DEFINE_UNQUOTED(_ADOLC_VERSION_, $ADOLC_VERSION, [ADOL-C version]) 1013 AC_DEFINE_UNQUOTED([_ADOLC_VERSION_], ${ADOLC_VERSION}, [ADOL-C version]) 956 1014 AC_MSG_RESULT(${ADOLC_VERSION}) 957 1015 dnl }}} 958 1016 dnl ADIC2 {{{ 1017 AC_MSG_CHECKING([for ADIC2]) 959 1018 AC_ARG_WITH( 960 1019 [adic2-dir], … … 963 1022 [ADIC2_ROOT="no"] 964 1023 ) 965 AC_MSG_CHECKING([for ADIC2])966 1024 if test "x${ADIC2_ROOT}" == "xno"; then 967 1025 HAVE_ADIC2=no … … 985 1043 dnl }}} 986 1044 dnl ATLAS {{{ 1045 AC_MSG_CHECKING(for ATLAS and CBLAS libraries) 987 1046 AC_ARG_WITH( 988 1047 [atlas-dir], … … 991 1050 [ATLAS_ROOT="no"] 992 1051 ) 993 AC_MSG_CHECKING(for ATLAS and CBLAS libraries)994 1052 if test "x${ATLAS_ROOT}" == "xno"; then 995 1053 HAVE_ATLAS=no … … 1008 1066 ATLASLIB="-L`cygpath -m ${ATLAS_ROOT}` -Wl,libatlas.lib -Wl,libcblas.lib" 1009 1067 ;; 1068 *darwin*) 1069 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm" 1070 ;; 1010 1071 *linux*) 1011 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm " 1012 ;; 1013 *darwin*) 1014 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm " 1072 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm" 1073 ;; 1074 *mingw*) 1075 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm" 1076 ;; 1077 *msys*) 1078 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm" 1015 1079 ;; 1016 1080 esac … … 1020 1084 dnl }}} 1021 1085 dnl GSL{{{ 1086 AC_MSG_CHECKING([for GSL]) 1022 1087 AC_ARG_WITH( 1023 1088 [gsl-dir], … … 1026 1091 [GSL_ROOT="no"] 1027 1092 ) 1028 AC_MSG_CHECKING([for GSL])1029 1093 if test "x${GSL_ROOT}" == "xno"; then 1030 1094 HAVE_GSL=no … … 1052 1116 dnl }}} 1053 1117 dnl AMPI (ADOL-C){{{ 1118 AC_MSG_CHECKING([for AMPI]) 1054 1119 AC_ARG_WITH( 1055 1120 [ampi-dir], … … 1058 1123 [AMPI_ROOT="no"] 1059 1124 ) 1060 AC_MSG_CHECKING([for AMPI])1061 1125 if test "x${AMPI_ROOT}" == "xno"; then 1062 1126 HAVE_AMPI=no … … 1088 1152 dnl }}} 1089 1153 dnl Adjoint MPI (CoDiPack){{{ 1154 AC_MSG_CHECKING([for Adjoint MPI]) 1090 1155 AC_ARG_WITH( 1091 1156 [adjointmpi-dir], … … 1094 1159 [ADJOINTMPI_ROOT="no"] 1095 1160 ) 1096 AC_MSG_CHECKING([for Adjoint MPI])1097 1161 if test "x${ADJOINTMPI_ROOT}" == "xno"; then 1098 1162 HAVE_ADJOINTMPI=no … … 1122 1186 dnl }}} 1123 1187 dnl MeDiPack (CoDiPack, ADOL-C dev){{{ 1188 AC_MSG_CHECKING([for MeDiPack]) 1124 1189 AC_ARG_WITH( 1125 1190 [medipack-dir], … … 1128 1193 [MEDIPACK_ROOT="no"] 1129 1194 ) 1130 AC_MSG_CHECKING([for MeDiPack])1131 1195 if test "x${MEDIPACK_ROOT}" == "xno"; then 1132 1196 HAVE_MEDIPACK=no … … 1154 1218 dnl }}} 1155 1219 dnl HDF5 {{{ 1220 AC_MSG_CHECKING(for HDF5 libraries) 1156 1221 AC_ARG_WITH( 1157 1222 [hdf5-dir], … … 1160 1225 [HDF5_ROOT="no"] 1161 1226 ) 1162 AC_MSG_CHECKING(for HDF5 libraries)1163 1227 if test "x${HDF5_ROOT}" == "xno"; then 1164 1228 HAVE_HDF5=no … … 1181 1245 HDF5LIB="-L`cygpath -m ${HDF5_ROOT}` -Wl,libhdf5.lib -Wl,libhdf5_hl.lib" 1182 1246 ;; 1247 *darwin*) 1248 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl" 1249 ;; 1183 1250 *linux*) 1184 1251 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl" 1185 1252 ;; 1186 *darwin*) 1253 *mingw*) 1254 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl" 1255 ;; 1256 *msys*) 1187 1257 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl" 1188 1258 ;; … … 1193 1263 dnl }}} 1194 1264 dnl PETSc{{{ 1265 AC_MSG_CHECKING([for PETSc]) 1195 1266 AC_ARG_WITH( 1196 1267 [petsc-dir], … … 1199 1270 [PETSC_ROOT="no"] 1200 1271 ) 1201 AC_MSG_CHECKING([for PETSc])1202 1272 if test "x${PETSC_ROOT}" == "xno"; then 1203 1273 HAVE_PETSC=no … … 1220 1290 PETSC_MAJOR=`cat ${PETSC_ROOT}/include/petscversion.h | grep "#define PETSC_VERSION_MAJOR" | sed 's/#define PETSC_VERSION_MAJOR//' | sed 's/ //g'` 1221 1291 PETSC_MINOR=`cat ${PETSC_ROOT}/include/petscversion.h | grep "#define PETSC_VERSION_MINOR" | sed 's/#define PETSC_VERSION_MINOR//' | sed 's/ //g'` 1222 AC_DEFINE_UNQUOTED([_PETSC_MAJOR_], [$PETSC_MAJOR], [PETSc version major])1223 AC_DEFINE_UNQUOTED([_PETSC_MINOR_], [$PETSC_MINOR], [PETSc version minor])1292 AC_DEFINE_UNQUOTED([_PETSC_MAJOR_], ${PETSC_MAJOR}, [PETSc version major]) 1293 AC_DEFINE_UNQUOTED([_PETSC_MINOR_], ${PETSC_MINOR}, [PETSc version minor]) 1224 1294 AC_MSG_RESULT([${PETSC_MAJOR}.${PETSC_MINOR}]) 1225 1295 … … 1262 1332 PETSCLIB="/link -Wl,/LIBPATH:`cygpath -m ${PETSC_ROOT}/lib` -Wl,libpetsc.lib" 1263 1333 PETSCINCL="/I`cygpath -m ${PETSC_ROOT}/include`" 1334 fi 1335 ;; 1336 *darwin*) 1337 if test ${PETSC_MAJOR} -lt 3; then 1338 PETSCLIB="-L${PETSC_ROOT}/lib -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetscsnes -lpetscts -lpetsc" 1339 else 1340 PETSCLIB="-L${PETSC_ROOT}/lib -lpetsc" 1341 if test ${PETSC_MAJOR} -gt 3 || test ${PETSC_MINOR} -ge 3; then 1342 PETSCLIB+=" -lmetis" 1343 fi 1264 1344 fi 1265 1345 ;; … … 1280 1360 fi 1281 1361 ;; 1282 *darwin*) 1283 if test ${PETSC_MAJOR} -lt 3; then 1284 PETSCLIB="-L${PETSC_ROOT}/lib -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetscsnes -lpetscts -lpetsc" 1285 else 1286 PETSCLIB="-L${PETSC_ROOT}/lib -lpetsc" 1287 if test ${PETSC_MAJOR} -gt 3 || test ${PETSC_MINOR} -ge 3; then 1288 PETSCLIB+=" -lmetis" 1289 fi 1290 fi 1362 *mingw*) 1363 PETSCLIB="-Wl,${PETSC_ROOT}/lib/libpetsc.a" 1364 ;; 1365 *msys*) 1366 PETSCLIB="${PETSC_ROOT}/lib -lpetsc" 1291 1367 ;; 1292 1368 esac … … 1299 1375 dnl MPI{{{ 1300 1376 AC_MSG_CHECKING(for MPI) 1301 1302 1377 AC_ARG_WITH( 1303 1378 [mpi-include], … … 1306 1381 [MPI_INCLUDE=""] 1307 1382 ) 1308 1309 1383 AC_ARG_WITH( 1310 1384 [mpi-libdir], … … 1313 1387 [MPI_LIBDIR=""] 1314 1388 ) 1315 1316 1389 AC_ARG_WITH( 1317 1390 [mpi-libflags], … … 1320 1393 [MPI_LIBFLAGS=""] 1321 1394 ) 1322 1323 1395 if test -z "${MPI_INCLUDE}"; then 1324 1396 HAVE_MPI=no … … 1363 1435 dnl }}} 1364 1436 dnl SCOTCH{{{ 1437 AC_MSG_CHECKING([for SCOTCH]) 1365 1438 AC_ARG_WITH( 1366 1439 [scotch-dir], … … 1369 1442 [SCOTCH_ROOT="no"] 1370 1443 ) 1371 AC_MSG_CHECKING([for SCOTCH])1372 1444 if test "x${SCOTCH_ROOT}" == "xno"; then 1373 1445 HAVE_SCOTCH=no … … 1402 1474 dnl }}} 1403 1475 dnl METIS{{{ 1404 1405 dnl NOTE: We know $VENDOR cannot be empty at this point, so no need to 1406 dnl check again in the following conditionals 1407 dnl 1408 if test "x${HAVE_PETSC}" == "xyes" && test "x${PETSC_MAJOR}" == "x3" && test ${PETSC_MINOR} -ge 3 && test "${VENDOR}" != "MSVC-Win64" && test "${VENDOR}" != "MSVC-Win64-par"; then 1409 dnl In PETSc >=3.3, METIS is provided 1410 HAVE_METIS="yes" 1411 AC_DEFINE([_METIS_VERSION_], [5], [METIS version number]) 1476 AC_MSG_CHECKING([for METIS]) 1477 AC_ARG_WITH( 1478 [metis-dir], 1479 AS_HELP_STRING([--with-metis-dir=DIR], [METIS root directory, necessary for serial build]), 1480 [METIS_ROOT=${withval}], 1481 [METIS_ROOT="no"] 1482 ) 1483 HAVE_METIS=no 1484 if test "x${METIS_ROOT}" == "xno"; then 1485 dnl Check if METIS was installed via PETSc 1486 if test -f ${PETSC_ROOT}/install/include/metis.h; then 1487 HAVE_METIS=yes 1488 METIS_ROOT="${PETSC_ROOT}" 1489 fi 1490 else 1491 if ! test -d "${METIS_ROOT}"; then 1492 AC_MSG_ERROR([METIS directory provided (${METIS_ROOT}) does not exist!]); 1493 fi 1494 HAVE_METIS=yes 1495 fi 1496 if test "${HAVE_METIS}" = "yes"; then 1497 METIS_VERSION=$(grep "#define METIS_VER_MAJOR" ${METIS_ROOT}/include/metis.h | sed 's|.*METIS_VER_MAJOR[[:space:]]*||') 1498 dnl METIS libraries and header files 1499 if test "x${METIS_VERSION}" == "x4"; then 1500 METISINCL="-I${METIS_ROOT}/Lib" 1501 case "${host_os}" in 1502 *cygwin*) 1503 METISINCL="/I`cygpath -m ${METIS_ROOT}/Lib`" 1504 METISLIB="-Wl,/link -Wl,/LIBPATH:`cygpath -m ${METIS_ROOT}` -Wl,libmetis.lib" 1505 ;; 1506 *darwin*) 1507 METISLIB="-L${METIS_ROOT} -lmetis" 1508 ;; 1509 *linux*) 1510 METISLIB="-L${METIS_ROOT} -lmetis" 1511 ;; 1512 *mingw*) 1513 METISLIB="-Wl,${METIS_ROOT}/lib/libmetis.a" 1514 ;; 1515 *msys*) 1516 METISLIB="-L${METIS_ROOT} -lmetis" 1517 ;; 1518 esac 1519 elif test "x${METIS_VERSION}" == "x5"; then 1520 METISINCL="-I${METIS_ROOT}/include" 1521 case "${host_os}" in 1522 *cygwin*) 1523 METISLIB="-L${METIS_ROOT} libmetis.lib" 1524 ;; 1525 *darwin*) 1526 METISLIB="-L${METIS_ROOT}/lib -lmetis" 1527 ;; 1528 *linux*) 1529 METISLIB="-L${METIS_ROOT}/lib -lmetis" 1530 ;; 1531 *mingw*) 1532 METISLIB="-Wl,${METIS_ROOT}/lib/libmetis.a" 1533 ;; 1534 *msys*) 1535 METISLIB="-L${METIS_ROOT}/lib -lmetis" 1536 ;; 1537 esac 1538 else 1539 AC_MSG_ERROR([METIS version ${METIS_VERSION} not yet supported! Please contact ISSM developers via forum or email.]) 1540 fi 1412 1541 AC_DEFINE([_HAVE_METIS_], [1], [with METIS in ISSM src]) 1413 else 1414 AC_ARG_WITH( 1415 [metis-dir], 1416 AS_HELP_STRING([--with-metis-dir=DIR], [METIS root directory, necessary for serial build]), 1417 [METIS_ROOT=${withval}], 1418 [METIS_ROOT="no"] 1419 ) 1420 AC_MSG_CHECKING([for METIS]) 1421 if test "x${METIS_ROOT}" == "xno"; then 1422 HAVE_METIS=no 1423 else 1424 HAVE_METIS=yes 1425 if ! test -d "${METIS_ROOT}"; then 1426 AC_MSG_ERROR([METIS directory provided (${METIS_ROOT}) does not exist!]); 1427 fi 1428 fi 1429 AC_MSG_RESULT([${HAVE_METIS}]) 1430 AM_CONDITIONAL([METIS], [test "x${HAVE_METIS}" == "xyes"]) 1431 1542 AC_DEFINE_UNQUOTED([_METIS_VERSION_], ${METIS_VERSION}, [METIS version number]) 1543 AC_SUBST([METISINCL]) 1544 AC_SUBST([METISLIB]) 1545 fi 1546 AC_MSG_RESULT([${HAVE_METIS}]) 1547 AM_CONDITIONAL([METIS], [test "x${HAVE_METIS}" = "xyes"]) 1548 dnl }}} 1549 dnl ParMETIS{{{ 1550 AC_MSG_CHECKING([for ParMETIS]) 1551 AC_ARG_WITH( 1552 [parmetis-dir], 1553 AS_HELP_STRING([--with-parmetis-dir=DIR], [ParMETIS root directory, necessary for parallel build]), 1554 [PARMETIS_ROOT=${withval}], 1555 [PARMETIS_ROOT="no"] 1556 ) 1557 HAVE_PARMETIS=no 1558 if test "x${PARMETIS_ROOT}" == "xno"; then 1559 dnl Check if ParMETIS was installed via PETSc 1560 if test -f ${PETSC_ROOT}/install/include/parmetis.h; then 1561 HAVE_PARMETIS="yes" 1562 PARMETIS_ROOT="${PETSC_ROOT}" 1563 fi 1564 else 1565 if ! test -d "${PARMETIS_ROOT}"; then 1566 AC_MSG_ERROR([ParMETIS directory provided (${PARMETIS_ROOT}) does not exist!]); 1567 fi 1568 if ! test -d "${METIS_ROOT}"; then 1569 AC_MSG_ERROR([If supplying path to ParMETIS with option --with-parmetis-dir, must also supply path to METIS with option --with-metis-dir]); 1570 fi 1571 HAVE_PARMETIS="yes" 1572 fi 1573 if test "${HAVE_PARMETIS}" == "yes"; then 1574 #PARMETIS_VERSION=$(grep "#define PARMETIS_MAJOR_VERSION" ${PARMETIS_ROOT}/include/parmetis.h | sed 's|.*PARMETIS_MAJOR_VERSION[[:space:]]*||') 1432 1575 dnl METIS libraries and header files 1433 if test "x${HAVE_METIS}" == "xyes"; then 1434 dnl Retrieve METIS version (does the VERSION file exist?) 1435 if test -f "${METIS_ROOT}/VERSION"; then 1436 METIS_VERSION=4 1437 else 1438 METIS_VERSION=5 1439 fi 1440 1441 if test "x${METIS_VERSION}" == "x4"; then 1442 METISINCL="-I${METIS_ROOT}/Lib" 1443 case "${host_os}" in 1444 *cygwin*) 1445 METISINCL="/I`cygpath -m ${METIS_ROOT}/Lib`" 1446 METISLIB="-Wl,/link -Wl,/LIBPATH:`cygpath -m ${METIS_ROOT}` -Wl,libmetis.lib" 1447 ;; 1448 *linux*) 1449 METISLIB="-L${METIS_ROOT} -lparmetis -lmetis" 1450 ;; 1451 *darwin*) 1452 METISLIB="-L${METIS_ROOT} -lparmetis -lmetis" 1453 ;; 1454 esac 1455 AC_DEFINE([_METIS_VERSION_], [4], [ METIS version number]) 1456 fi 1457 1458 if test "x${METIS_VERSION}" == "x5"; then 1459 case "${host_os}" in 1460 *cygwin*) 1461 METISLIB="-L${METIS_ROOT} libmetis.lib" 1462 ;; 1463 *linux*) 1464 METISLIB="-L${METIS_ROOT}/lib -lparmetis -lmetis" 1465 ;; 1466 *darwin*) 1467 METISLIB="-L${METIS_ROOT}/lib -lparmetis -lmetis" 1468 ;; 1469 esac 1470 METISINCL="-I${METIS_ROOT}/include" 1471 AC_DEFINE([_METIS_VERSION_], [5], [METIS version number]) 1472 fi 1473 1474 AC_DEFINE([_HAVE_METIS_], [1], [with METIS in ISSM src]) 1475 AC_SUBST([METISINCL]) 1476 AC_SUBST([METISLIB]) 1477 fi 1478 fi 1479 AM_CONDITIONAL([METIS], [test "x${HAVE_METIS}" == "xyes"]) 1576 #if test "x${PARMETIS_VERSION}" == "x4"; then 1577 PARMETISINCL="-I${PARMETIS_ROOT}/include" 1578 case "${host_os}" in 1579 *cygwin*) 1580 PARMETISLIB="-L${PARMETIS_ROOT}/lib -lparmetis" 1581 ;; 1582 *darwin*) 1583 PARMETISLIB="-L${PARMETIS_ROOT}/lib -lparmetis" 1584 ;; 1585 *linux*) 1586 PARMETISLIB="-L${PARMETIS_ROOT}/lib -lparmetis" 1587 ;; 1588 *mingw*) 1589 PARMETISLIB="-Wl,${PARMETIS_ROOT}/lib/libparmetis.a" 1590 ;; 1591 *msys*) 1592 PARMETISLIB="-L${PARMETIS_ROOT}/lib -lparmetis" 1593 ;; 1594 esac 1595 #else 1596 # AC_MSG_ERROR([ParMETIS version ${PARMETIS_VERSION} not yet supported! Please contact ISSM developers via forum or email.]) 1597 #fi 1598 AC_DEFINE([_HAVE_PARMETIS_], [1], [with ParMETIS in ISSM src]) 1599 #AC_DEFINE([_PARMETIS_VERSION_], [${PARMETIS_VERSION}], [ParMETIS version number]) 1600 AC_SUBST([PARMETISINCL]) 1601 AC_SUBST([PARMETISLIB]) 1602 fi 1603 AC_MSG_RESULT([${HAVE_PARMETIS}]) 1604 AM_CONDITIONAL([PARMETIS], [test "x${HAVE_PARMETIS}" = "xyes"]) 1480 1605 dnl }}} 1481 1606 dnl Toolkit for Advanced Optimization (TAO){{{ 1607 AC_MSG_CHECKING([for TAO]) 1482 1608 AC_ARG_WITH( 1483 1609 [tao-dir], … … 1486 1612 [TAO_ROOT="no"] 1487 1613 ) 1488 AC_MSG_CHECKING([for TAO])1489 1490 1614 if test "x${HAVE_PETSC}" == "xyes" && test "x${PETSC_MAJOR}" == "x3" && test ${PETSC_MINOR} -ge 5; then 1491 1615 dnl In PETSc >= 3.5, TAO is provided … … 1515 1639 dnl }}} 1516 1640 dnl M1QN3{{{ 1641 AC_MSG_CHECKING([for M1QN3]) 1517 1642 AC_ARG_WITH( 1518 1643 [m1qn3-dir], … … 1521 1646 [M1QN3_ROOT="no"] 1522 1647 ) 1523 AC_MSG_CHECKING([for M1QN3])1524 1648 if test "x${M1QN3_ROOT}" == "xno"; then 1525 1649 HAVE_M1QN3=no … … 1540 1664 dnl }}} 1541 1665 dnl PROJ{{{ 1666 AC_MSG_CHECKING([for PROJ]) 1542 1667 AC_ARG_WITH( 1543 1668 [proj-dir], … … 1546 1671 [PROJ_ROOT="no"] 1547 1672 ) 1548 AC_MSG_CHECKING([for PROJ])1549 1673 if test "x${PROJ_ROOT}" == "xno"; then 1550 1674 HAVE_PROJ=no … … 1568 1692 dnl }}} 1569 1693 dnl SLEPc{{{ 1694 AC_MSG_CHECKING([for SLEPc]) 1570 1695 AC_ARG_WITH( 1571 1696 [slepc-dir], … … 1574 1699 [SLEPC_ROOT="no"] 1575 1700 ) 1576 AC_MSG_CHECKING([for SLEPc])1577 1701 if test "x${SLEPC_ROOT}" == "xno"; then 1578 1702 HAVE_SLEPC=no … … 1595 1719 dnl }}} 1596 1720 dnl shapelib{{{ 1721 AC_MSG_CHECKING([for shapelib]) 1597 1722 AC_ARG_WITH( 1598 1723 [shapelib-dir], … … 1601 1726 [SHAPELIB_ROOT="no"] 1602 1727 ) 1603 AC_MSG_CHECKING([for shapelib])1604 1728 if test "x${SHAPELIB_ROOT}" == "xno"; then 1605 1729 HAVE_SHAPELIB=no … … 1622 1746 dnl }}} 1623 1747 dnl ScaLAPACK{{{ 1624 1625 1748 dnl NOTE: User should supply path to root directory or libraries, but not both 1749 dnl 1750 AC_MSG_CHECKING([for ScaLAPACK]) 1626 1751 AC_ARG_WITH( 1627 1752 [scalapack-dir], … … 1636 1761 [SCALAPACKLIB="no"] 1637 1762 ) 1638 AC_MSG_CHECKING([for ScaLAPACK])1639 1763 if test "x${SCALAPACK_ROOT}" == "xno" && test "x${SCALAPACKLIB}" == "xno"; then 1640 1764 HAVE_SCALAPACK=no … … 1645 1769 fi 1646 1770 HAVE_SCALAPACK=yes 1647 SCALAPACKLIB="-L${SCALAPACK_ROOT}/lib -lscalapack" 1771 if test "${VENDOR}" == "win-msys2"; then 1772 SCALAPACKLIB="-Wl,${SCALAPACK_ROOT}/lib/libscalapack.a" 1773 else 1774 SCALAPACKLIB="-L${SCALAPACK_ROOT}/lib -lscalapack" 1775 fi 1648 1776 elif test "x${SCALAPACKLIB}" != "xno"; then 1649 1777 dnl Value of SCALAPACKLIB should be valid here, so no need to set it (as above) … … 1661 1789 dnl }}} 1662 1790 dnl BLAS/LAPACK{{{ 1791 AC_MSG_CHECKING([for BLAS/LAPACK]) 1792 AC_ARG_WITH( 1793 [blas-dir], 1794 [AS_HELP_STRING([--with-blas-dir=DIR], [BLAS root directory])], 1795 [BLAS_ROOT=$withval], 1796 [BLAS_ROOT="no"] 1797 ) 1798 AC_ARG_WITH( 1799 [lapack-dir], 1800 [AS_HELP_STRING([--with-lapack-dir=DIR], [LAPACK root directory])], 1801 [LAPACK_ROOT=$withval], 1802 [LAPACK_ROOT="no"] 1803 ) 1663 1804 AC_ARG_WITH( 1664 1805 [blas-lapack-dir], … … 1667 1808 [BLASLAPACK_ROOT="no"] 1668 1809 ) 1669 AC_MSG_CHECKING([for BLAS/LAPACK]) 1670 if test "x${BLASLAPACK_ROOT}" == "xno" ; then 1810 if (test "x${BLAS_ROOT}" = "xno" || test "x${LAPACK_ROOT}" = "xno") && test "x${BLASLAPACK_ROOT}" = "xno"; then 1671 1811 HAVE_BLASLAPACK=no 1672 1812 else 1673 1813 HAVE_BLASLAPACK=yes 1674 if ! test -d "${BLASLAPACK_ROOT}"; then 1675 AC_MSG_ERROR([BLAS/LAPACK directory provided (${BLASLAPACK_ROOT}) does not exist!]); 1814 if ! test -d "${BLAS_ROOT}" || ! test -d "${LAPACK_ROOT}"; then 1815 if ! test -d "${BLASLAPACK_ROOT}"; then 1816 AC_MSG_ERROR([Use either --with-blas-dir and --with-lapack-dir *or* --with-blaslapack-dir]); 1817 fi 1676 1818 fi 1677 1819 fi … … 1680 1822 dnl BLAS/LAPACK libraries and header files 1681 1823 if test "x${HAVE_BLASLAPACK}" == "xyes"; then 1682 BLASLAPACKINCL=""1683 1824 case "${host_os}" in 1684 1825 *cygwin*) … … 1709 1850 fi 1710 1851 ;; 1852 *mingw*) 1853 if test -d "${BLASLAPACK_ROOT}"; then 1854 BLASLAPACKLIB="-L${BLASLAPACK_ROOT}/lib" 1855 if ls ${BLASLAPACK_ROOT}/lib/libopenblas.* 1> /dev/null 2>&1; then 1856 BLASLAPACKLIB+=" -lopenblas" 1857 elif ls ${BLASLAPACK_ROOT}/lib/libf2clapack.* 1> /dev/null 2>&1; then 1858 BLASLAPACKLIB+=" -lf2clapack -lf2cblas" 1859 elif ls ${BLASLAPACK_ROOT}/lib/libflapack.* 1> /dev/null 2>&1; then 1860 BLASLAPACKLIB="-Wl,${BLASLAPACK_ROOT}/lib/libflapack.a -Wl,${BLASLAPACK_ROOT}/lib/libfblas.a" 1861 else 1862 BLASLAPACKLIB+=" -llapack -lblas" 1863 fi 1864 else 1865 BLASLAPACKLIB="-Wl,${LAPACK_ROOT}/lib/liblapack.a -Wl,${BLAS_ROOT}/lib/libblas.a" 1866 fi 1867 ;; 1868 *msys*) 1869 if test -d "${BLASLAPACK_ROOT}"; then 1870 if ls ${BLASLAPACK_ROOT}/lib/libopenblas.* 1> /dev/null 2>&1; then 1871 BLASLAPACKLIB=" -lopenblas" 1872 elif ls ${BLASLAPACK_ROOT}/lib/libf2clapack.* 1> /dev/null 2>&1; then 1873 BLASLAPACKLIB=" -lf2clapack -lf2cblas" 1874 elif ls ${BLASLAPACK_ROOT}/lib/libflapack.* 1> /dev/null 2>&1; then 1875 BLASLAPACKLIB+=" -lflapack -lfblas" 1876 else 1877 BLASLAPACKLIB=" -llapack -lblas" 1878 fi 1879 else 1880 BLASLAPACKLIB="-L${LAPACK_ROOT}/lib -llapack -L${BLAS_ROOT}/lib -lblas" 1881 fi 1882 ;; 1711 1883 esac 1712 1884 AC_DEFINE([_HAVE_BLASLAPACK_], [1], [with BLAS/LAPACK in ISSM src]) 1713 1885 AC_SUBST([BLASLAPACKLIB]) 1714 AC_SUBST([BLASLAPACKINCL])1715 1886 fi 1716 1887 dnl }}} 1717 1888 dnl Math Kernel Library (MKL){{{ 1889 AC_MSG_CHECKING([for MKL]) 1718 1890 AC_ARG_WITH( 1719 1891 [mkl-libflags], … … 1722 1894 [MKL_LIBFLAGS="no"] 1723 1895 ) 1724 AC_MSG_CHECKING([for MKL])1725 1896 if test "x${MKL_LIBFLAGS}" == "xno"; then 1726 1897 HAVE_MKL=no … … 1735 1906 dnl }}} 1736 1907 dnl PlaLAPACK{{{ 1737 1738 1908 dnl TODO: Handle user supplying path to root directory *or* individual 1739 1909 dnl arguments (like ScaLAPACK) … … 1770 1940 dnl }}} 1771 1941 dnl MUMPS{{{ 1942 AC_MSG_CHECKING([for MUMPS]) 1772 1943 AC_ARG_WITH( 1773 1944 [mumps-dir], … … 1776 1947 [MUMPS_ROOT="no"] 1777 1948 ) 1778 AC_MSG_CHECKING([for MUMPS])1779 1949 if test "x${MUMPS_ROOT}" == "xno"; then 1780 1950 HAVE_MUMPS=no … … 1791 1961 MUMPSINCL="-I${MUMPS_ROOT}/include" 1792 1962 if test "x${MUMPS_ROOT}" == "x${PETSC_ROOT}"; then 1793 if test " x${PETSC_MAJOR}" == "x2"; then1794 MUMPSLIB="- L${MUMPS_ROOT}/lib"1963 if test "${VENDOR}" == "win-msys2"; then 1964 MUMPSLIB="-Wl,${MUMPS_ROOT}/lib/libcmumps.a -Wl,${MUMPS_ROOT}/lib/libdmumps.a -Wl,${MUMPS_ROOT}/lib/libsmumps.a -Wl,${MUMPS_ROOT}/lib/libzmumps.a -Wl,${MUMPS_ROOT}/lib/libmumps_common.a -Wl,${MUMPS_ROOT}/lib/libpord.a" 1795 1965 else 1796 1966 MUMPSLIB="-L${MUMPS_ROOT}/lib -ldmumps -lcmumps -lmumps_common -lpord -lparmetis -lzmumps -lmetis" … … 1841 2011 dnl }}} 1842 2012 dnl BLACS{{{ 2013 AC_MSG_CHECKING([for BLACS]) 1843 2014 AC_ARG_WITH( 1844 2015 [blacs-dir], … … 1847 2018 [BLACS_ROOT="no"] 1848 2019 ) 1849 AC_MSG_CHECKING([for BLACS])1850 2020 if test "x${BLACS_ROOT}" == "xno"; then 1851 2021 HAVE_BLACS=no … … 1868 2038 dnl }}} 1869 2039 dnl HYPRE{{{ 2040 AC_MSG_CHECKING([for HYPRE]) 1870 2041 AC_ARG_WITH( 1871 2042 [hypre-dir], … … 1874 2045 [HYPRE_ROOT="no"] 1875 2046 ) 1876 AC_MSG_CHECKING([for HYPRE])1877 2047 if test "x${HYPRE_ROOT}" == "xno"; then 1878 2048 HAVE_HYPRE=no … … 1895 2065 dnl }}} 1896 2066 dnl Prometheus{{{ 2067 AC_MSG_CHECKING([for Prometheus]) 1897 2068 AC_ARG_WITH( 1898 2069 [prometheus-dir], … … 1901 2072 [PROMETHEUS_ROOT="no"] 1902 2073 ) 1903 AC_MSG_CHECKING([for Prometheus])1904 2074 if test "x${PROMETHEUS_ROOT}" == "xno"; then 1905 2075 HAVE_PROMETHEUS=no … … 1922 2092 dnl }}} 1923 2093 dnl SEMIC{{{ 2094 AC_MSG_CHECKING([for SEMIC]) 1924 2095 AC_ARG_WITH( 1925 2096 [semic-dir], … … 1928 2099 [SEMIC_ROOT="no"] 1929 2100 ) 1930 AC_MSG_CHECKING([for SEMIC])1931 2101 if test "x${SEMIC_ROOT}" == "xno"; then 1932 2102 HAVE_SEMIC=no … … 1950 2120 dnl }}} 1951 2121 dnl SPAI{{{ 2122 AC_MSG_CHECKING([for SPAI]) 1952 2123 AC_ARG_WITH( 1953 2124 [spai-dir], … … 1956 2127 [SPAI_ROOT="no"] 1957 2128 ) 1958 AC_MSG_CHECKING([for SPAI])1959 2129 if test "x${SPAI_ROOT}" == "xno"; then 1960 2130 HAVE_SPAI=no … … 1977 2147 dnl }}} 1978 2148 dnl SuperLU{{{ 2149 AC_MSG_CHECKING([for SuperLU]) 1979 2150 AC_ARG_WITH( 1980 2151 [superlu-dir], … … 1983 2154 [SUPERLU_ROOT="no"] 1984 2155 ) 1985 AC_MSG_CHECKING([for SuperLU])1986 2156 if test "x${SUPERLU_ROOT}" == "xno"; then 1987 2157 HAVE_SUPERLU=no … … 2004 2174 dnl }}} 2005 2175 dnl SPOOLES{{{ 2176 AC_MSG_CHECKING([for SPOOLES]) 2006 2177 AC_ARG_WITH( 2007 2178 [spooles-dir], … … 2010 2181 [SPOOLES_ROOT="no"] 2011 2182 ) 2012 AC_MSG_CHECKING([for SPOOLES])2013 2183 if test "x${SPOOLES_ROOT}" == "xno"; then 2014 2184 HAVE_SPOOLES=no … … 2031 2201 dnl }}} 2032 2202 dnl PaStiX{{{ 2203 AC_MSG_CHECKING([for PaStiX]) 2033 2204 AC_ARG_WITH( 2034 2205 [pastix-dir], … … 2037 2208 [PASTIX_ROOT="no"] 2038 2209 ) 2039 AC_MSG_CHECKING([for PaStiX])2040 2210 if test "x${PASTIX_ROOT}" == "xno"; then 2041 2211 HAVE_PASTIX=no … … 2059 2229 dnl }}} 2060 2230 dnl ml{{{ 2231 AC_MSG_CHECKING([for ml]) 2061 2232 AC_ARG_WITH( 2062 2233 [ml-dir], … … 2065 2236 [ML_ROOT="no"] 2066 2237 ) 2067 AC_MSG_CHECKING([for ml])2068 2238 if test "x${ML_ROOT}" == "xno"; then 2069 2239 HAVE_ML=no … … 2086 2256 dnl }}} 2087 2257 dnl UMFPACK{{{ 2258 AC_MSG_CHECKING([for UMFPACK]) 2088 2259 AC_ARG_WITH( 2089 2260 [umfpack-dir], … … 2092 2263 [UMFPACK_ROOT="no"] 2093 2264 ) 2094 AC_MSG_CHECKING([for UMFPACK])2095 2265 if test "x${UMFPACK_ROOT}" == "xno"; then 2096 2266 HAVE_UMFPACK=no … … 2129 2299 dnl }}} 2130 2300 dnl MATH77{{{ 2301 AC_MSG_CHECKING([for MATH77]) 2131 2302 AC_ARG_WITH( 2132 2303 [math77-dir], … … 2135 2306 [MATH77_ROOT="no"] 2136 2307 ) 2137 AC_MSG_CHECKING([for MATH77])2138 2308 if test "x${MATH77_ROOT}" == "xno"; then 2139 2309 HAVE_MATH77=no … … 2154 2324 dnl }}} 2155 2325 dnl Fortran{{{ 2326 AC_MSG_CHECKING(for Fortran compilation) 2156 2327 AC_ARG_WITH( 2157 2328 [fortran], … … 2160 2331 [FORTRAN=yes] 2161 2332 ) 2162 AC_MSG_CHECKING(for Fortran compilation)2163 2333 if test "x${FORTRAN}" == "xyes"; then 2164 2334 HAVE_FORTRAN=yes … … 2224 2394 dnl }}} 2225 2395 dnl MeteoIO{{{ 2396 AC_MSG_CHECKING([for MeteoIO]) 2226 2397 AC_ARG_WITH( 2227 2398 [meteoio-dir], … … 2230 2401 [METEOIO_ROOT="no"] 2231 2402 ) 2232 AC_MSG_CHECKING([for MeteoIO])2233 2403 if test "x${METEOIO_ROOT}" == "xno"; then 2234 2404 HAVE_METEOIO=no … … 2253 2423 dnl }}} 2254 2424 dnl SNOWPACK{{{ 2425 AC_MSG_CHECKING([for SNOWPACK]) 2255 2426 AC_ARG_WITH( 2256 2427 [snowpack-dir], … … 2259 2430 [SNOWPACK_ROOT="no"] 2260 2431 ) 2261 AC_MSG_CHECKING([for SNOWPACK])2262 2432 if test "x${SNOWPACK_ROOT}" == "xno"; then 2263 2433 HAVE_SNOWPACK=no … … 2281 2451 dnl }}} 2282 2452 dnl NeoPZ{{{ 2453 AC_MSG_CHECKING([for NeoPZ]) 2283 2454 AC_ARG_WITH( 2284 2455 [neopz-dir], … … 2287 2458 [NEOPZ_ROOT="no"] 2288 2459 ) 2289 AC_MSG_CHECKING([for NeoPZ])2290 2460 if test "x${NEOPZ_ROOT}" == "xno"; then 2291 2461 HAVE_NEOPZ=no … … 2356 2526 GMSH_VERSION_MAJOR=`${GMSH_ROOT}/bin/gmsh -info | grep "Version" | sed -e "s/Version@<:@@<:@:blank:@:>@@:>@*:@<:@@<:@:blank:@:>@@:>@//" | cut -d "." -f 1` 2357 2527 AC_MSG_RESULT([${GMSH_VERSION_MAJOR}]) 2358 AC_DEFINE_UNQUOTED( _GMSH_VERSION_MAJOR_, $GMSH_VERSION_MAJOR, [Gmsh major version])2528 AC_DEFINE_UNQUOTED([_GMSH_VERSION_MAJOR_], ${GMSH_VERSION_MAJOR}, [Gmsh major version]) 2359 2529 fi 2360 2530 dnl }}} 2361 2531 dnl Capabilities 2362 2532 dnl with-bamg{{{ 2533 AC_MSG_CHECKING([for BAMG capability compilation]) 2363 2534 AC_ARG_WITH( 2364 2535 [bamg], … … 2367 2538 [BAMG=yes] 2368 2539 ) 2369 AC_MSG_CHECKING([for BAMG capability compilation])2370 2540 HAVE_BAMG=no 2371 2541 if test "x${BAMG}" == "xyes"; then … … 2377 2547 dnl }}} 2378 2548 dnl with-ocean{{{ 2549 AC_MSG_CHECKING(for ice/ocean coupling capability compilation) 2379 2550 AC_ARG_WITH( 2380 2551 [ocean], … … 2383 2554 [OCEAN=no] 2384 2555 ) 2385 AC_MSG_CHECKING(for ice/ocean coupling capability compilation)2386 2387 2556 HAVE_OCEAN=no 2388 2557 if test "x${OCEAN}" == "xyes"; then … … 2394 2563 dnl }}} 2395 2564 dnl with-kml{{{ 2565 AC_MSG_CHECKING(for kml capability compilation) 2396 2566 AC_ARG_WITH( 2397 2567 [kml], … … 2400 2570 [KML=no] 2401 2571 ) 2402 AC_MSG_CHECKING(for kml capability compilation)2403 2404 2572 HAVE_KML=no 2405 2573 if test "x${KML}" == "xyes"; then … … 2411 2579 dnl }}} 2412 2580 dnl with-kriging{{{ 2581 AC_MSG_CHECKING(for kriging capability compilation) 2413 2582 AC_ARG_WITH( 2414 2583 [kriging], … … 2417 2586 [KRIGING=yes] 2418 2587 ) 2419 AC_MSG_CHECKING(for kriging capability compilation)2420 2421 2588 HAVE_KRIGING=no 2422 2589 if test "x${KRIGING}" == "xyes"; then … … 2433 2600 dnl Platform specifics 2434 2601 dnl with-ios{{{ 2602 AC_MSG_CHECKING(for iOS compilation) 2435 2603 AC_ARG_WITH( 2436 2604 [ios], … … 2439 2607 [IOS=no] 2440 2608 ) 2441 AC_MSG_CHECKING(for iOS compilation)2442 2443 2609 HAVE_IOS=no 2444 2610 if test "x${IOS}" == "xyes"; then … … 2450 2616 dnl }}} 2451 2617 dnl with-android{{{ 2618 AC_MSG_CHECKING([for Android capability compilation]) 2452 2619 AC_ARG_WITH( 2453 2620 [android], 2454 2621 AS_HELP_STRING([--with-android=EXE], [compile with Android capabilities (default: "no"; alternatives: "exe", "jni")]), 2455 2622 [ANDROID=${withval}], 2456 [ANDROID=no]) 2457 AC_MSG_CHECKING([for Android capability compilation]) 2458 2623 [ANDROID=no] 2624 ) 2459 2625 if test "x${ANDROID}" == "xjni"; then 2460 2626 HAVE_ANDROID=jni … … 2475 2641 dnl }}} 2476 2642 dnl with-android-ndk{{{ 2643 AC_MSG_CHECKING([with Android Native Development Kit (NDK)]) 2477 2644 AC_ARG_WITH( 2478 2645 [android-ndk], … … 2481 2648 [ANDROID_NDK_ROOT=""] 2482 2649 ) 2483 AC_MSG_CHECKING([with Android Native Development Kit (NDK)])2484 2485 2650 if test -d "${ANDROID_NDK_ROOT}"; then 2486 2651 HAVE_ANDROID_NDK=yes … … 2496 2661 dnl other options 2497 2662 dnl optimization{{{ 2498 dnl -- bypass standard optimization -g -O2 -fPIC -std=c++11? 2663 dnl -- bypass standard optimization -g -O2 -fPIC? 2664 AC_MSG_CHECKING(for C++ optimization flags) 2499 2665 AC_ARG_WITH( 2500 2666 [cxxoptflags], 2501 2667 AS_HELP_STRING([--with-cxxoptflags=CXXOPTFLAGS], [C++ optimization flags (i.e. --with-cxxoptflags="-march=opteron -O3 -std=c++11"]), 2502 2668 [CXXOPTFLAGS=${withval}], 2503 [CXXOPTFLAGS="-g -O2 -fPIC -std=c++11"] 2504 ) 2505 AC_MSG_CHECKING(for C++ optimization flags) 2669 [CXXOPTFLAGS="-g -O2 -fPIC"] 2670 ) 2506 2671 AC_SUBST([CXXOPTFLAGS]) 2507 AC_MSG_RESULT([ done])2672 AC_MSG_RESULT([${CXXOPTFLAGS}]) 2508 2673 dnl }}} 2509 2674 dnl multithreading{{{ 2675 AC_MSG_CHECKING(for number of threads) 2510 2676 AC_ARG_WITH( 2511 2677 [numthreads], … … 2514 2680 [NUMTHREADS_VALUE=1] 2515 2681 ) 2516 AC_MSG_CHECKING(for number of threads)2517 2682 dnl Check that supplied value is an integer 2518 2683 if [[ "${NUMTHREADS_VALUE}" != "${NUMTHREADS_VALUE}" 2> /dev/null ]]; then … … 2529 2694 MULTITHREADINGLIB="-lpthread -lrt" 2530 2695 ;; 2696 *darwin*) 2697 MULTITHREADINGLIB="-lpthread" 2698 ;; 2531 2699 *linux*) 2532 2700 MULTITHREADINGLIB="-lpthread -lrt" 2533 2701 ;; 2534 *darwin*) 2535 MULTITHREADINGLIB="-lpthread" 2702 *mingw*) 2703 MULTITHREADINGLIB="" 2704 ;; 2705 *msys*) 2706 MULTITHREADINGLIB="" 2536 2707 ;; 2537 2708 esac 2538 2709 AC_DEFINE([_MULTITHREADING_], [1], [with multithreading enabled]) 2539 2710 fi 2540 AC_DEFINE_UNQUOTED( _NUMTHREADS_, $NUMTHREADS_VALUE, [number of threads])2711 AC_DEFINE_UNQUOTED([_NUMTHREADS_], ${NUMTHREADS_VALUE}, [number of threads]) 2541 2712 AC_SUBST([MULTITHREADINGLIB]) 2542 2713 AC_MSG_RESULT([${NUMTHREADS_VALUE}]) 2543 2714 dnl }}} 2544 2715 dnl 64-bit indices{{{ 2716 AC_MSG_CHECKING([for 64-bit indices]) 2545 2717 AC_ARG_WITH( 2546 2718 [64bit-indices], … … 2549 2721 [USE_64BIT_INDICES=0] 2550 2722 ) 2551 AC_MSG_CHECKING([for 64-bit indices])2552 2553 2723 if test "x${USE_64BIT_INDICES}" == "x1"; then 2554 2724 AC_DEFINE([ISSM_USE_64BIT_INDICES], [1], [with 64-bit indices]) … … 2560 2730 2561 2731 dnl Checks {{{ 2562 AC_MSG_CHECKING(consistency between all libraries)2732 AC_MSG_CHECKING(consistency between all external packages) 2563 2733 2564 2734 dnl Check that if PETSc is requested, MPI is specified … … 2590 2760 2591 2761 dnl Check that if we run ADOL-C, we don't compile kriging.exe 2592 if test "x$ HAVE_ADOLC" == "xyes" && test "${HAVE_KRIGING}" == "xyes"; then2762 if test "x${HAVE_ADOLC}" == "xyes" && test "${HAVE_KRIGING}" == "xyes"; then 2593 2763 AC_MSG_ERROR([cannot compile kriging.exe under ADOL-C conditions!]); 2594 2764 fi -
issm/trunk-jpl/src/c/Makefile.am
r26004 r26034 1 AM_CPPFLAGS = @NEOPZINCL@ @DAKOTAINCL@ @SHAPELIBINCL@ @PETSCINCL@ @SLEPCINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @MEDIPACKINCL@ @MPIINCL@ @METISINCL@ @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@ @ BLASLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @TRIANGLEINCL@ @SPAIINCL@ @HYPREINCL@ @PROMETHEUSINCL@ @SUPERLUINCL@ @SPOOLESINCL@ @PASTIXINCL@ @MLINCL@ @TAOINCL@ @ADIC2INCL@ @ADOLCINCL@ @CODIPACKINCL@ @GSLINCL@ @BOOSTINCL@ @ANDROID_NDKINCL@ @METEOIOINCL@ @SNOWPACKINCL@ @PROJINCL@ @ESMFINCL@1 AM_CPPFLAGS = @NEOPZINCL@ @DAKOTAINCL@ @SHAPELIBINCL@ @PETSCINCL@ @SLEPCINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @MEDIPACKINCL@ @MPIINCL@ @METISINCL@ @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @TRIANGLEINCL@ @SPAIINCL@ @HYPREINCL@ @PROMETHEUSINCL@ @SUPERLUINCL@ @SPOOLESINCL@ @PASTIXINCL@ @MLINCL@ @TAOINCL@ @ADIC2INCL@ @ADOLCINCL@ @CODIPACKINCL@ @GSLINCL@ @BOOSTINCL@ @ANDROID_NDKINCL@ @METEOIOINCL@ @SNOWPACKINCL@ @PROJINCL@ @ESMFINCL@ 2 2 AM_FCFLAGS = @SEMICINCL@ 3 3 … … 8 8 #Library declaration {{{ 9 9 if !WINDOWS 10 lib_LTLIBRARIES = libISSMCore.la libISSMOverload.la 10 lib_LTLIBRARIES = libISSMCore.la 11 if !MSYS2 12 lib_LTLIBRARIES += libISSMOverload.la 13 endif 11 14 if WRAPPERS 12 15 lib_LTLIBRARIES += libISSMModules.la … … 682 685 #}}} 683 686 #Library flags and sources {{{ 684 ALLCXXFLAGS= $(CXXFLAGS) $(CXXOPTFLAGS) 687 ALL_CXXFLAGS = $(CXXFLAGS) $(CXXOPTFLAGS) 688 689 # Cannot have undefined symbols under msys2 690 if MSYS2 691 ALL_CXXFLAGS += -D_DO_NOT_LOAD_GLOBALS_ 692 endif 685 693 686 694 libISSMCore_la_SOURCES = $(issm_sources) 687 libISSMCore_la_CXXFLAGS = $(ALL CXXFLAGS) $(DAKOTAFLAGS)695 libISSMCore_la_CXXFLAGS = $(ALL_CXXFLAGS) $(DAKOTAFLAGS) 688 696 libISSMCore_la_FFLAGS = $(AM_FFLAGS) 689 697 690 698 if !WINDOWS 691 699 if !STANDALONE_LIBRARIES 692 libISSMCore_la_LIBADD = $(PETSCLIB) $( HDF5LIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(ADJOINTMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)700 libISSMCore_la_LIBADD = $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(HDF5LIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(SUPERLULIB) $(SPOOLESLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(CHACOLIB) $(SCOTCHLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(ADJOINTMPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(OSLIBS) 693 701 if FORTRAN 694 702 libISSMCore_la_LIBADD += $(FLIBS) $(FORTRANLIB) … … 711 719 endif 712 720 713 libISSMModules_la_CXXFLAGS = $(ALL CXXFLAGS)721 libISSMModules_la_CXXFLAGS = $(ALL_CXXFLAGS) 714 722 if !WINDOWS 715 723 if STANDALONE_LIBRARIES … … 743 751 endif 744 752 753 if VERSION 754 libISSMCore_la_LDFLAGS = 755 if WRAPPERS 756 libISSMModules_la_LDFLAGS = 757 endif 758 else 759 libISSMCore_la_LDFLAGS = -avoid-version 760 if WRAPPERS 761 libISSMModules_la_LDFLAGS = -avoid-version 762 endif 763 endif 764 745 765 if STANDALONE_LIBRARIES 746 libISSMCore_la_LDFLAGS = -static 747 libISSMOverload_la_LDFLAGS = -static 766 libISSMCore_la_LDFLAGS += -static 748 767 if WRAPPERS 749 libISSMModules_la_LDFLAGS = -static 750 else 751 libISSMModules_la_LDFLAGS = 752 endif 753 else 754 libISSMCore_la_LDFLAGS = 755 libISSMOverload_la_LDFLAGS = 756 endif 757 758 #}}} 768 libISSMModules_la_LDFLAGS += -static 769 endif 770 endif 771 #}}} 772 773 if !MSYS2 759 774 #Overload library, to overload any non-standard symbols. {{{ 760 775 libISSMOverload_la_SOURCES = ./shared/String/ApiPrintf.cpp 761 762 776 libISSMOverload_la_CFLAGS = -D_C_ -fPIC $(COPTFLAGS) $(CFLAGS) 777 778 if VERSION 779 libISSMOverload_la_LDFLAGS = 780 else 781 libISSMOverload_la_LDFLAGS = -avoid-version 782 endif 783 784 if STANDALONE_LIBRARIES 785 libISSMOverload_la_LDFLAGS += -static 786 endif 787 endif 763 788 #}}} 764 789 #Executable {{{ … … 778 803 779 804 #Standard libraries 780 LDADD = ./libISSMCore.la ./libISSMOverload.la 805 LDADD = ./libISSMCore.la 806 807 if !MSYS2 808 LDADD += ./libISSMOverload.la 809 endif 810 781 811 if WRAPPERS 782 812 LDADD += ./libISSMModules.la $(TRIANGLELIB) … … 784 814 785 815 #External packages 786 LDADD += $(NEOPZLIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(SCALAPACKLIB) $(BLACSLIB) $(PETSCLIB) $(HDF5LIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(AMPILIB) $(ADJOINTMPILIB) $(ADOLCLIB) $(MPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(PROJLIB) $(ESMFLIB)816 LDADD += $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(NEOPZLIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(SUPERLULIB) $(SPOOLESLIB) $(BLACSLIB) $(HDF5LIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(CHACOLIB) $(SCOTCHLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(AMPILIB) $(ADJOINTMPILIB) $(ADOLCLIB) $(MPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(PROJLIB) $(ESMFLIB) $(OSLIBS) 787 817 788 818 if FORTRAN -
issm/trunk-jpl/src/c/shared/io/Comm/IssmComm.cpp
r15839 r26034 12 12 #include "../../Numerics/types.h" 13 13 #include "../../Exceptions/exceptions.h" 14 15 #ifdef _DO_NOT_LOAD_GLOBALS_ 16 ISSM_MPI_Comm IssmComm::comm; 17 bool IssmComm::parallel; 18 #endif 14 19 15 20 void IssmComm::SetComm(ISSM_MPI_Comm incomm){ /*{{{*/ -
issm/trunk-jpl/src/c/shared/io/Print/PrintfFunction.cpp
r24477 r26034 32 32 #ifdef _HAVE_ANDROID_JNI_ 33 33 __android_log_print(ANDROID_LOG_INFO, "Native",message.c_str()); 34 #elif _IS_MSYS2_ 35 printf("%s",message.c_str()); 34 36 #else 35 37 ApiPrintf(message.c_str()); … … 42 44 #ifdef _HAVE_ANDROID_JNI_ 43 45 __android_log_print(ANDROID_LOG_INFO, "Native",message.c_str()); 46 #elif _IS_MSYS2_ 47 printf("%s",message.c_str()); 44 48 #else 45 49 ApiPrintf(message.c_str()); -
issm/trunk-jpl/src/c/toolkits/ToolkitOptions.cpp
r24011 r26034 8 8 #include "../shared/Exceptions/exceptions.h" 9 9 #include "../shared/MemOps/MemOps.h" 10 11 #ifdef _DO_NOT_LOAD_GLOBALS_ 12 char* ToolkitOptions::toolkittype; 13 char* ToolkitOptions::toolkitoptions; 14 #endif 10 15 11 16 void ToolkitOptions::Init(const char* toolkit_in,const char* options){ /*{{{*/ -
issm/trunk-jpl/src/m/classes/clusters/generic.m
r25956 r26034 28 28 29 29 %Change the defaults if ispc 30 if ispc ,30 if ispc & ~ismingw, 31 31 cluster.codepath = [issmdir() '\bin']; 32 32 cluster.etcpath = [issmdir() '\etc']; … … 145 145 146 146 if cluster.np>1, 147 fprintf(fid,'"C:\\Program Files\\MPICH2\\bin\\mpiexec.exe" -n %i "%s/%s" %s ./ %s ',cluster.np,cluster.codepath,executable,solution,modelname); 147 % fprintf(fid,'"C:\\Program Files\\MPICH2\\bin\\mpiexec.exe" -n %i "%s/%s" %s ./ %s ',cluster.np,cluster.codepath,executable,solution,modelname); 148 fprintf(fid,'"C:\\PROGRA~1\\MICROS~1\\Bin\\mpiexec.exe" -n %i "%s/%s" %s ./ %s ',cluster.np,cluster.codepath,executable,solution,modelname); 148 149 else 149 150 fprintf(fid,'"%s/%s" %s ./ %s ',cluster.codepath,executable,solution,modelname); -
issm/trunk-jpl/src/m/classes/clusters/localpfe.m
r25956 r26034 27 27 function cluster=localpfe(varargin) % {{{ 28 28 29 %Change the defaults if ispc 30 if ispc ,29 %Change the defaults if ispc and not ismingw 30 if ispc & ~ismingw, 31 31 cluster.codepath = [issmdir() '\bin']; 32 32 cluster.etcpath = [issmdir() '\etc']; … … 106 106 executable='issm_slc.exe'; 107 107 108 if ispc (), error('BuildQueueScriptMultipleModels not support yet on windows machines');end;108 if ispc & ~ismingw, error('BuildQueueScriptMultipleModels not support yet on windows machines');end; 109 109 110 110 %write queuing script … … 170 170 171 171 %write queuing script 172 if ~ispc (),172 if ~ispc, 173 173 174 174 fid=fopen([modelname '.queue'],'w'); … … 214 214 %}}} 215 215 function UploadQueueJob(cluster,modelname,dirname,filelist)% {{{ 216 if ~ispc ,216 if ~ispc | ismingw, 217 217 218 218 %compress the files into one zip. … … 262 262 function Download(cluster,dirname,filelist)% {{{ 263 263 264 if ispc (),264 if ispc && ~ismingw, 265 265 %do nothing 266 266 return; -
issm/trunk-jpl/src/m/classes/clusters/pfe.m
r25956 r26034 216 216 executable='issm_slc.exe'; 217 217 218 if ispc (), error('BuildQueueScriptMultipleModels not support yet on windows machines');end;218 if ispc & ~ismingw, error('BuildQueueScriptMultipleModels not support yet on windows machines');end; 219 219 220 220 %write queuing script -
issm/trunk-jpl/src/m/dev/devpath.m
r25368 r26034 3 3 4 4 %Recover ISSM_DIR , or if on a Windows machine, ISSM_DIR_WIN 5 if ~ispc, 5 if ispc, 6 ISSM_DIR=getenv('ISSM_DIR_WIN'); 7 else 6 8 ISSM_DIR=getenv('ISSM_DIR'); 7 else8 ISSM_DIR=getenv('ISSM_DIR_WIN');9 9 end 10 10 11 if (isempty(ISSM_DIR)), 11 12 error('''ISSM_DIR'' environment variable is empty! You should define ISSM_DIR in your .cshrc or .bashrc!'); … … 18 19 %ISSM path 19 20 addpath([ISSM_DIR '/src/m/os/']); %load recursivepath 20 addpath([ISSM_DIR '/lib']); %load mex21 addpath([ISSM_DIR '/lib']); %load MEX files 21 22 addpath(recursivepath([ISSM_DIR '/src/m'])); 22 23 addpath(recursivepath([ISSM_DIR '/externalpackages/scotch'])); -
issm/trunk-jpl/src/m/os/issmscpin.m
r23054 r26034 18 18 %if hostname and host are the same, do a simple copy 19 19 if strcmpi(hostname,host), 20 21 for i=1:numel(packages), 20 for i=1:numel(packages), 22 21 success=copyfile([path '/' packages{i}]); %keep going, even if success=0 23 22 end 24 25 23 else 26 27 if ispc(), 24 if ispc & ~ismingw, 28 25 %use the putty project pscp.exe: it should be in the path. 29 26 -
issm/trunk-jpl/src/m/os/issmscpout.m
r15315 r26034 24 24 system(['rm -rf ' packages{i} ]); 25 25 if no_symlinks, 26 system(['cp 26 system(['cp ' here '/' packages{i} ' .']); 27 27 else 28 28 system(['ln -s ' here '/' packages{i} ' .']); … … 31 31 end 32 32 else 33 if ispc (),33 if ispc & ~ismingw, 34 34 %use the putty project pscp.exe: it should be in the path. 35 35 -
issm/trunk-jpl/src/m/os/issmssh.m
r13646 r26034 12 12 system(command); 13 13 else 14 if ispc (),14 if ispc & ~ismingw, 15 15 %use the putty project plink.exe: it should be in the path. 16 16 -
issm/trunk-jpl/src/m/os/oshostname.m
r22056 r26034 22 22 %Method 3, last chance 23 23 if isempty(hostname), 24 if ispc 24 if ispc % If OS is MinGW, $COMPUTERNAME and $HOSTNAME are identical 25 25 hostname = getenv('COMPUTERNAME'); 26 26 else -
issm/trunk-jpl/src/m/solve/loadresultsfromdisk.m
r25717 r26034 12 12 13 13 if ~md.qmu.isdakota, 14 15 14 %Check that file exists 16 15 if ~exist(filename,'file'), -
issm/trunk-jpl/src/wrappers/Triangle/Triangle.h
r22498 r26034 19 19 #ifdef _HAVE_JAVASCRIPT_MODULES_ 20 20 #undef _DO_NOT_LOAD_GLOBALS_ /*only module where this needs to be undefined, so as to 21 not include IssmComm several times in the javascript Modle construct.*/21 not include IssmComm several times in the JavaScript module construct.*/ 22 22 #endif 23 23 -
issm/trunk-jpl/src/wrappers/javascript/Makefile.am
r23246 r26034 1 AM_CPPFLAGS = @DAKOTAINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @ METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @CODIPACKINCL@1 AM_CPPFLAGS = @DAKOTAINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @PARMETISINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @CODIPACKINCL@ 2 2 AUTOMAKE_OPTIONS = subdir-objects 3 3 … … 60 60 AM_CXXFLAGS += -D_HAVE_JAVASCRIPT_MODULES_ -fPIC 61 61 62 deps = ./libISSMJavascript.la . ./../c/libISSMModules.la ../../c/libISSMCore.la ./libISSMApi.la62 deps = ./libISSMJavascript.la ./libISSMApi.la ../../c/libISSMCore.la ../../c/libISSMModules.la 63 63 64 64 #Optimization flags: -
issm/trunk-jpl/src/wrappers/matlab/Makefile.am
r25770 r26034 20 20 ./io/WriteMatlabData.cpp 21 21 22 ALLCXXFLAGS= -fPIC -D_WRAPPERS_ $(CXXFLAGS) $(CXXOPTFLAGS) 22 ALL_CXXFLAGS = -fPIC -D_WRAPPERS_ 23 24 # Cannot have undefined symbols under msys2 25 if MSYS2 26 ALL_CXXFLAGS += -D_DO_NOT_LOAD_GLOBALS_ 27 endif 28 29 ALL_CXXFLAGS += $(CXXOPTFLAGS) $(CXXFLAGS) 23 30 24 31 libISSMMatlab_la_SOURCES = $(io_sources) 25 libISSMMatlab_la_CXXFLAGS = $(ALLCXXFLAGS)32 libISSMMatlab_la_CXXFLAGS = ${ALL_CXXFLAGS} 26 33 #}}} 27 34 #api io{{{ … … 32 39 endif 33 40 41 if !MSYS2 34 42 api_sources= ./io/ApiPrintf.cpp 35 43 36 44 libISSMApi_la_SOURCES = $(api_sources) 37 libISSMApi_la_CXXFLAGS= $(ALLCXXFLAGS) 45 libISSMApi_la_CXXFLAGS = ${ALL_CXXFLAGS} 46 endif 38 47 #}}} 39 48 #Wrappers {{{ … … 82 91 83 92 #Triangle library 84 AM_CXXFLAGS = -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER -D_WRAPPERS_ 93 TRI_CXXFLAGS = -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER 85 94 86 95 #Matlab part 87 AM_LDFLAGS = -module $(MEXLINK) -shrext ${EXEEXT} --export-dynamic -rdynamic -no-undefined 96 MEX_CXXFLAGS = -D_HAVE_MATLAB_MODULES_ $(MEXOPTFLAGS) $(MEXCXXFLAGS) 97 MEX_CPPFLAGS = $(MATLABINCL) 98 MEX_LDFLAGS = -module -shrext $(MEXEXT) -no-undefined 99 MEX_LIBADD = $(MEXLINKFLAGS) $(MEXLIB) 100 101 AM_CPPFLAGS += ${MEX_CPPFLAGS} 102 AM_CXXFLAGS = ${TRI_CXXFLAGS} ${MEX_CXXFLAGS} 103 AM_LDFLAGS = ${MEX_LDFLAGS} 104 AM_LIBADD = ${MEX_LIBADD} 105 106 if !MSYS2 107 AM_LDFLAGS += --export-dynamic -rdynamic 108 endif 88 109 89 110 if !VERSION … … 108 129 AM_CXXFLAGS += -D_HAVE_MATLAB_MODULES_ -fPIC 109 130 110 deps += ./libISSMMatlab.la ../../c/libISSMModules.la ../../c/libISSMCore.la ./libISSMApi.la 111 112 if WINDOWS 113 deps += $(METISLIB) 114 endif 131 deps += ./libISSMMatlab.la ../../c/libISSMCore.la ../../c/libISSMModules.la 132 133 if !MSYS2 134 deps += ./libISSMApi.la 135 endif 136 137 # if WINDOWS 138 # deps += $(METISLIB) 139 # endif 115 140 116 141 if ADOLC … … 122 147 endif 123 148 124 # MEXLIB needs to be the last (undefined references on larsen)125 deps += ${MEXLIB}126 127 # Optimization flags:128 AM_CXXFLAGS += $(CXXOPTFLAGS)149 # #MEXLIB needs to be the last (undefined references on larsen) 150 # deps += ${MEXLIB} 151 152 # #Optimization flags: 153 # AM_CXXFLAGS += $(CXXOPTFLAGS) 129 154 #}}} 130 155 # Module sources and dependencies {{{ 131 156 if !WINDOWS 132 libISSMMatlab_la_LIBADD = ./../../c/libISSMCore.la ./../../c/libISSMModules.la $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(MKLLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB) 157 libISSMMatlab_la_LIBADD = ./../../c/libISSMCore.la ./../../c/libISSMModules.la $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB) $(MKLLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB) 158 endif 159 160 if VERSION 161 libISSMMatlab_la_LDFLAGS = 162 libISSMApi_la_LDFLAGS = 163 else 164 libISSMMatlab_la_LDFLAGS = -avoid-version 165 libISSMApi_la_LDFLAGS = -avoid-version 133 166 endif 134 167 135 168 if STANDALONE_LIBRARIES 136 libISSMMatlab_la_LDFLAGS = -static137 libISSMApi_la_LDFLAGS = -static138 deps += $(PETSCLIB) $(HDF5LIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)139 endif 140 141 if !WINDOWS 142 libISSMApi_la_LIBADD = $(PETSCLIB) $( HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB)169 libISSMMatlab_la_LDFLAGS += -static 170 libISSMApi_la_LDFLAGS += -static 171 deps += $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(HDF5LIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(CHACOLIB) $(SCOTCHLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(PROJLIB) $(OSLIBS) 172 endif 173 174 if !WINDOWS 175 libISSMApi_la_LIBADD = $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB) 143 176 endif 144 177 145 178 BamgConvertMesh_matlab_la_SOURCES = ../BamgConvertMesh/BamgConvertMesh.cpp 146 179 BamgConvertMesh_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 147 BamgConvertMesh_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)180 BamgConvertMesh_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 148 181 149 182 BamgMesher_matlab_la_SOURCES = ../BamgMesher/BamgMesher.cpp 150 183 BamgMesher_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 151 BamgMesher_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)184 BamgMesher_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 152 185 153 186 BamgTriangulate_matlab_la_SOURCES = ../BamgTriangulate/BamgTriangulate.cpp 154 187 BamgTriangulate_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 155 BamgTriangulate_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)188 BamgTriangulate_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 156 189 157 190 if CHACO 158 191 Chaco_matlab_la_SOURCES = ../Chaco/Chaco.cpp 159 192 Chaco_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 160 Chaco_matlab_la_LIBADD = ${deps} $ (CHACOLIB) $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)193 Chaco_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 161 194 endif 162 195 163 196 ContourToMesh_matlab_la_SOURCES = ../ContourToMesh/ContourToMesh.cpp 164 197 ContourToMesh_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 165 ContourToMesh_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)198 ContourToMesh_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 166 199 167 200 ContourToNodes_matlab_la_SOURCES = ../ContourToNodes/ContourToNodes.cpp 168 201 ContourToNodes_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 169 ContourToNodes_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)202 ContourToNodes_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 170 203 171 204 CoordTransform_matlab_la_SOURCES = ../CoordTransform/CoordTransform.cpp 172 205 CoordTransform_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 173 CoordTransform_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)206 CoordTransform_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 174 207 175 208 DistanceToMaskBoundary_matlab_la_SOURCES = ../DistanceToMaskBoundary/DistanceToMaskBoundary.cpp 176 209 DistanceToMaskBoundary_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 177 DistanceToMaskBoundary_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)210 DistanceToMaskBoundary_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 178 211 179 212 ElementConnectivity_matlab_la_SOURCES = ../ElementConnectivity/ElementConnectivity.cpp 180 213 ElementConnectivity_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 181 ElementConnectivity_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)214 ElementConnectivity_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 182 215 183 216 ExpToLevelSet_matlab_la_SOURCES = ../ExpToLevelSet/ExpToLevelSet.cpp 184 217 ExpToLevelSet_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 185 ExpToLevelSet_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)218 ExpToLevelSet_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 186 219 187 220 ExpSimplify_matlab_la_SOURCES = ../ExpSimplify/ExpSimplify.cpp 188 221 ExpSimplify_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 189 ExpSimplify_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(NEOPZLIB)222 ExpSimplify_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 190 223 191 224 InterpFromGridToMesh_matlab_la_SOURCES = ../InterpFromGridToMesh/InterpFromGridToMesh.cpp 192 225 InterpFromGridToMesh_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 193 InterpFromGridToMesh_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)226 InterpFromGridToMesh_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 194 227 195 228 InterpFromMesh2d_matlab_la_SOURCES = ../InterpFromMesh2d/InterpFromMesh2d.cpp 196 229 InterpFromMesh2d_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 197 InterpFromMesh2d_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)230 InterpFromMesh2d_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 198 231 199 232 InterpFromMeshToGrid_matlab_la_SOURCES = ../InterpFromMeshToGrid/InterpFromMeshToGrid.cpp 200 233 InterpFromMeshToGrid_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 201 InterpFromMeshToGrid_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)234 InterpFromMeshToGrid_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 202 235 203 236 InterpFromMeshToMesh2d_matlab_la_SOURCES = ../InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp 204 237 InterpFromMeshToMesh2d_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 205 InterpFromMeshToMesh2d_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)238 InterpFromMeshToMesh2d_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 206 239 207 240 InterpFromMeshToMesh3d_matlab_la_SOURCES = ../InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp 208 241 InterpFromMeshToMesh3d_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 209 InterpFromMeshToMesh3d_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)242 InterpFromMeshToMesh3d_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 210 243 211 244 IssmConfig_matlab_la_SOURCES = ../IssmConfig/IssmConfig.cpp 212 245 IssmConfig_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 213 IssmConfig_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB)246 IssmConfig_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 214 247 215 248 Kriging_matlab_la_SOURCES = ../Kriging/Kriging.cpp 216 249 Kriging_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 217 Kriging_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJLIB)250 Kriging_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 218 251 219 252 M1qn3_matlab_la_SOURCES = ../M1qn3/M1qn3.cpp 220 253 M1qn3_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 221 M1qn3_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(METISLIB) $(M1QN3LIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)254 M1qn3_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 222 255 223 256 MeshPartition_matlab_la_SOURCES = ../MeshPartition/MeshPartition.cpp 224 257 MeshPartition_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 225 MeshPartition_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(METISLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)258 MeshPartition_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 226 259 227 260 MeshProfileIntersection_matlab_la_SOURCES = ../MeshProfileIntersection/MeshProfileIntersection.cpp 228 261 MeshProfileIntersection_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 229 MeshProfileIntersection_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)262 MeshProfileIntersection_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 230 263 231 264 NodeConnectivity_matlab_la_SOURCES = ../NodeConnectivity/NodeConnectivity.cpp 232 265 NodeConnectivity_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 233 NodeConnectivity_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)266 NodeConnectivity_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 234 267 235 268 PointCloudFindNeighbors_matlab_la_SOURCES = ../PointCloudFindNeighbors/PointCloudFindNeighbors.cpp 236 269 PointCloudFindNeighbors_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 237 PointCloudFindNeighbors_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)270 PointCloudFindNeighbors_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 238 271 239 272 PropagateFlagsFromConnectivity_matlab_la_SOURCES = ../PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp 240 273 PropagateFlagsFromConnectivity_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 241 PropagateFlagsFromConnectivity_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)274 PropagateFlagsFromConnectivity_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 242 275 243 276 Scotch_matlab_la_SOURCES = ../Scotch/Scotch.cpp 244 277 Scotch_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 245 Scotch_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(BLASLAPACKLIB)278 Scotch_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 246 279 247 280 ShpRead_matlab_la_SOURCES = ../ShpRead/ShpRead.cpp 248 281 ShpRead_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 249 ShpRead_matlab_la_LIBADD = ${deps} $ (SHAPELIBLIB) $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)282 ShpRead_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 250 283 251 284 Triangle_matlab_la_SOURCES = ../Triangle/Triangle.cpp 252 285 Triangle_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 253 Triangle_matlab_la_LIBADD = ${deps} $(TRIANGLELIB) $ (PETSCLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)286 Triangle_matlab_la_LIBADD = ${deps} $(TRIANGLELIB) ${AM_LIBADD} 254 287 255 288 ProcessRifts_matlab_la_SOURCES = ../ProcessRifts/ProcessRifts.cpp 256 289 ProcessRifts_matlab_la_CXXFLAGS = ${AM_CXXFLAGS} 257 ProcessRifts_matlab_la_LIBADD = ${deps} $ (PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)258 #}}} 290 ProcessRifts_matlab_la_LIBADD = ${deps} ${AM_LIBADD} 291 #}}} -
issm/trunk-jpl/src/wrappers/matlab/include/wrapper_macros.h
r24011 r26034 34 34 /*}}}*/ 35 35 /* WRAPPER {{{*/ 36 #define WRAPPER(modulename,...) void mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]) 36 #define WRAPPER(modulename,...) void mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]) /* NOTE: In this case, modulename is thrown away in the macro expansion whereas it is used in for the Python wrappers (see also: src/wrappers/python/include/wrapper_macros.h, any result of `grep -r 'WRAPPER(' $ISSM_DIR/src)` */ 37 37 /*}}}*/ 38 38 /* CHECKARGUMENTS {{{*/ -
issm/trunk-jpl/src/wrappers/python/Makefile.am
r25770 r26034 1 AM_CPPFLAGS = @DAKOTAINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @ METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @PYTHONINCL@ @PYTHON_NUMPYINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @MEDIPACKINCL@ @CODIPACKINCL@1 AM_CPPFLAGS = @DAKOTAINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @PARMETISINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @PYTHONINCL@ @PYTHON_NUMPYINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @MEDIPACKINCL@ @CODIPACKINCL@ 2 2 AUTOMAKE_OPTIONS = subdir-objects 3 3 … … 70 70 # will be linked to, whether we like it or not, if no static version is 71 71 # available. 72 # - On macO S, static linking of binaries is not supported.72 # - On macOC, static linking of binaries is not supported. 73 73 # 74 74 if STANDALONE_MODULES … … 87 87 endif 88 88 89 deps += ./libISSMPython.la . ./../c/libISSMModules.la ../../c/libISSMCore.la ./libISSMApi.la89 deps += ./libISSMPython.la ./libISSMApi.la ../../c/libISSMCore.la ../../c/libISSMModules.la 90 90 91 91 if ADOLC … … 106 106 libISSMPython_la_LDFLAGS = -static 107 107 libISSMApi_la_LDFLAGS = -static 108 deps += $(DAKOTALIB) $(PETSCLIB) $( HDF5LIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)108 deps += $(DAKOTALIB) $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(HDF5LIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(CHACOLIB) $(SCOTCHLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(OSLIBS) 109 109 endif 110 110
Note:
See TracChangeset
for help on using the changeset viewer.