Changeset 26036


Ignore:
Timestamp:
02/26/21 19:41:25 (4 years ago)
Author:
jdquinn
Message:

CHG: Reverting temporarily

Location:
issm/trunk-jpl
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/jenkins/jenkins.sh

    r26034 r26036  
    77# members of the ISSM development team.
    88#
    9 # NOTE:
    10 # - Variable OS is set in environment by running
    11 #       `source $ISSM_DIR/etc/environment.sh`.
    12 #
    139# TODO:
    1410# - Rename TEMP to something more descriptive (ensure first that other parts of
     
    1814
    1915echo "Cleaning up execution directory"
    20 rm -rf ${ISSM_DIR}/execution/*
    21 rm -rf ${ISSM_DIR}/nightlylog
    22 mkdir ${ISSM_DIR}/nightlylog
     16rm -rf $ISSM_DIR/execution/*
     17rm -rf $ISSM_DIR/nightlylog
     18mkdir $ISSM_DIR/nightlylog
    2319
    2420#Server URI
     
    5753fi
    5854
     55#Get Operating system (OS) name{{{
     56OS=$(uname -s)
     57if [[ $OS == CYGWIN* ]]; then
     58        OS="win";
     59fi
     60#}}}
     61
    5962#Install ISSM
    6063#Determining installation type depending on svn changes{{{
     
    6265echo "             Determining Installation type            "
    6366echo "======================================================";
    64 if [ -a ${ISSM_DIR}/svn_revision_old ]; then
    65         SVN_PREVIOUS=$(cat ${ISSM_DIR}/svn_revision_old)
     67if [ -a $ISSM_DIR/svn_revision_old ]; then
     68        SVN_PREVIOUS=$(cat $ISSM_DIR/svn_revision_old)
    6669        SVN_CURRENT=$SVN_REVISION_1
    6770        echo "Previous revision number: $SVN_PREVIOUS"
     
    7174        #
    7275
    73         #svn --non-interactive --no-auth-cache --trust-server-cert diff -r $SVN_PREVIOUS:$SVN_CURRENT --summarize ${ISSM_DIR} | awk '{print $NF}' > ${ISSM_DIR}/TEMP
     76        #svn --non-interactive --no-auth-cache --trust-server-cert diff -r $SVN_PREVIOUS:$SVN_CURRENT --summarize $ISSM_DIR | awk '{print $NF}' > $ISSM_DIR/TEMP
    7477
    7578        # Get list of changes from Jenkins itself as svn requires credentials
     
    7881
    7982        # Process html page and get the list of files that has changed (tricky...)
    80         #cat changes | grep '="The file was modified"' | sed -e 's/.*<\/td><td><a>\(.*\)<\/a><\/td><td>.*/\1/' > ${ISSM_DIR}/TEMP
     83        #cat changes | grep '="The file was modified"' | sed -e 's/.*<\/td><td><a>\(.*\)<\/a><\/td><td>.*/\1/' > $ISSM_DIR/TEMP
    8184        #cat changes | grep 'document_edit' |sed -e 's/document_edit.png/document_edit.png\
    82                 #/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
     85                #/g' | sed -e 's/.*<\/a><\/td><td>\(.*\)<\/td><\/tr>.*/\1/' | grep -v 'document_edit.png' > $ISSM_DIR/TEMP
     86        cat changes | tr " " "\n" | grep trunk | sed -e 's/.*<a>\(.*\)<\/a>.*/\1/' > $ISSM_DIR/TEMP
    8487
    8588        # Print list of changed files
    8689        echo "   "
    8790        echo "List of updated files"
    88         cat ${ISSM_DIR}/TEMP
     91        cat $ISSM_DIR/TEMP
    8992        echo "   "
    9093
     
    9699        # If the contents of the externalpackages directory were modified in any
    97100        # way, check for changed external packages
    98         if [ ! -z "$(cat ${ISSM_DIR}/TEMP | grep externalpackages)" ]; then
     101        if [ ! -z "$(cat $ISSM_DIR/TEMP | grep externalpackages)" ]; then
    99102                echo "  -- checking for changed externalpackages... yes"
    100103                ISSM_EXTERNALPACKAGES="yes"
     
    106109        # If the Makefile or m4 diirectory were changed in any way or if certain
    107110        # binary files from a previous compilation do not exist, reconfigure
    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" ] ||
     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" ] ||
    110113                [ "$ISSM_EXTERNALPACKAGES" == "yes" ]; then
    111114                echo "  -- checking for reconfiguration... yes"
     
    117120
    118121        # If source files were changed in any way, recompile
    119         if [ ! -z "$(cat ${ISSM_DIR}/TEMP | grep -e "\.cpp" -e "\.h" )" ] ||
     122        if [ ! -z "$(cat $ISSM_DIR/TEMP | grep -e "\.cpp" -e "\.h" )" ] ||
    120123                [ "$ISSM_RECONFIGURE" == "yes" ]; then
    121124                echo "  -- checking for recompilation... yes"
     
    128131        # Cleanup
    129132        rm changes
    130         rm ${ISSM_DIR}/TEMP
     133        rm $ISSM_DIR/TEMP
    131134else
    132135        echo "Previous revision not found, this must be a fresh install"
     
    141144echo " "
    142145echo "Recording current svn version: $SVN_REVISION_1"
    143 echo $SVN_REVISION_1 > ${ISSM_DIR}/svn_revision_old
     146echo $SVN_REVISION_1 > $ISSM_DIR/svn_revision_old
    144147#}}}
    145148
     
    151154
    152155#Jenkins XML files for individual packages
    153 EXTERNAL_TEST_FILE="${ISSM_DIR}/nightlylog/results/external.xml"
    154 mkdir -p ${ISSM_DIR}/nightlylog/results
     156EXTERNAL_TEST_FILE="$ISSM_DIR/nightlylog/results/external.xml"
     157mkdir -p $ISSM_DIR/nightlylog/results
    155158echo "<testsuite tests=\"$NUMPACKAGES\">" > $EXTERNAL_TEST_FILE
    156159
    157160# Need a source here for when builds start midway through installation of externalpackages.
    158 source ${ISSM_DIR}/etc/environment.sh
    159 
    160 if [ "${OS}" == CYGWIN* ]; then
     161source $ISSM_DIR/etc/environment.sh
     162
     163if [ "$OS" == "win" ]; then
    161164        echo " == WINDOWS ENVIRONMENT DETECTED =="
    162         source ${ISSM_DIR}/externalpackages/windows/windows_environment.sh
     165        source $ISSM_DIR/externalpackages/windows/windows_environment.sh
    163166fi
    164167
     
    172175
    173176        #install if requested or if previous install has not been successful
    174         if [ "${ISSM_EXTERNALPACKAGES}" == "yes" ]; then # NOTE: Removed check on if 'install' directory exist
    175                 cd ${ISSM_DIR}/externalpackages/$PACKAGENAME
     177        if [ "$ISSM_EXTERNALPACKAGES" == "yes" ]; then # NOTE: Removed check on if 'install' directory exist
     178                cd $ISSM_DIR/externalpackages/$PACKAGENAME
    176179
    177180                echo "======================================================";
     
    180183
    181184                ./$PACKAGEINST $NUMCPUS_INSTALL &> compil.log
    182                 if [ $? -ne 0 ] && [ "${PACKAGENAME}" != "boost" ]; then
     185                if [ $? -ne 0 ] && [ "$PACKAGENAME" != "boost" ]; then
    183186                        cat compil.log
    184187                        echo "======================================================";
     
    194197                        echo "<testcase classname=\"externalpackages\" name=\"$PACKAGENAME\"/>" >> $EXTERNAL_TEST_FILE
    195198                fi
    196                 source ${ISSM_DIR}/etc/environment.sh
     199                source $ISSM_DIR/etc/environment.sh
    197200
    198201                #If external package is rebuilt, we also need to recompile
     
    217220
    218221# Source here to include any newly installed externalpackages on the path.
    219 source ${ISSM_DIR}/etc/environment.sh
    220 
    221 if [ "${OS}" == CYGWIN* ]; then
     222source $ISSM_DIR/etc/environment.sh
     223
     224if [ "$OS" == "win" ]; then
    222225        echo " == WINDOWS ENVIRONMENT DETECTED =="
    223         source ${ISSM_DIR}/externalpackages/windows/windows_environment.sh
     226        source $ISSM_DIR/externalpackages/windows/windows_environment.sh
    224227fi
    225228
     
    241244        #export EMCC_DEBUG=1 # Uncomment to enable debugging
    242245        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
    243         source ${ISSM_DIR}/externalpackages/emscripten/install/emsdk_env.sh
     246        source $ISSM_DIR/externalpackages/emscripten/install/emsdk_env.sh
    244247fi
    245248
    246249#}}}
    247250#ISSM compilation yes/no                (ISSM_COMPILATION) {{{
    248 if [ "${ISSM_COMPILATION}" == "yes" ]; then
     251if [ "$ISSM_COMPILATION" == "yes" ]; then
    249252        cd $ISSM_DIR
    250         if [ "${ISSM_RECONFIGURE}" == "yes" ]; then
     253        if [ "$ISSM_RECONFIGURE" == "yes" ]; then
    251254                echo "======================================================";
    252255                echo "             Cleaning up and reconfiguring            "
     
    259262                        exit 1
    260263                fi
    261                 eval "./configure ${ISSM_CONFIG}"
     264                eval "./configure $ISSM_CONFIG"
    262265                if [ $? -ne 0 ]; then
    263266                        echo "ISSM configuration failed (see options below)"
     
    273276        echo "======================================================"
    274277        if [ $NUMCPUS_INSTALL -gt 1 ]; then
    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
     278                echo "Making with " $NUMCPUS_INSTALL " cpus"
    279279                make -j $NUMCPUS_INSTALL
    280280        else
    281                 #make V=1
    282281                make
    283282        fi
     
    293292        fi
    294293        make install
    295 elif [ "${ISSM_COMPILATION}" == "no" ]; then
     294elif [ "$ISSM_COMPILATION" == "no" ]
     295then
    296296        echo "Skipping ISSM compilation"
    297297else
     
    311311        for (( i=1;i<=$NUMCPUS_RUN;i++ )); do
    312312                #Launch matlab and the nightly run script
    313                 cat > ${ISSM_DIR}/nightlylog/matlab_run$i.m << EOF
     313                cat > $ISSM_DIR/nightlylog/matlab_run$i.m << EOF
    314314                warning off %necessary to avoid a log of several Go for parallel runs
    315315                try,
    316                         $(if [ "${MATLAB_NROPTIONS}" = "" ]; then
    317                                 echo "runme('output','nightly','rank',${i},'numprocs',${NUMCPUS_RUN});"
     316                        $(if [ "$MATLAB_NROPTIONS" = "" ]; then
     317                                echo "runme('output','nightly','rank',$i,'numprocs',$NUMCPUS_RUN);"
    318318                        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);"
    320320                        fi)
    321321                catch me,
     
    332332EOF
    333333                cd $ISSM_DIR/test/NightlyRun
    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 &
     334                if [ "$OS" = "win" ]; then
     335                        $MATLAB_PATH/bin/matlab -nodisplay -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 &
    336336                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 &
    338338                fi
    339339        done
    340340
    341         # Wait for MATLAB to exit
    342         if [[ "${OS}" == CYGWIN* ]]; then
     341        #wait until matlab closes
     342        if [ "$OS" = "win" ]; then
    343343                sleep 5;
    344                 echo "Waiting for MATLAB to exit"
     344                echo "Waiting for matlab on windows"
    345345                pid=$(ps aux -W | grep MATLAB | awk '{printf("%s\n","MATLAB");}')
    346346                echo '-----------------------------'
    347                 echo "pid: ${pid}"
     347                echo "pid: $pid"
    348348                echo '-----------------------------'
    349                 while [ -n "${pid}" ]; do
     349                while [ -n "$pid" ]; do
    350350                        pid=$(ps aux -W | grep MATLAB | awk '{printf("%s\n","MATLAB");}')
    351351                        sleep 1;
    352352                done
    353353                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
    366354        else
    367355                wait
    368356        fi
    369357
    370         # Concatenate logs
    371         cd $ISSM_DIR/nightlylog
     358        #concatenate reports
     359        cd $ISSM_DIR/nightlylog/
     360        #echo 'CHECKING NIGHTLYLOG DIRECTORY'
     361        #echo '-----------------------------'
     362        #ls -la
     363        #echo '-----------------------------'
    372364
    373365        if [ -f matlab_log.log ]; then
     
    376368
    377369        for job in `jobs -p`; do
    378                 #echo "Waiting on: ${job}" # Commented out because it really has nothing to do with MATLAB processes
     370                echo "Waiting on: $job"
    379371                wait $job
    380372        done
     
    395387if [ $PYTHON_TEST -eq 1 ]; then
    396388        #Launch all tests on different cpus
    397         export PYTHONPATH="${ISSM_DIR}/src/m/dev"
     389        export PYTHONPATH="$ISSM_DIR/src/m/dev"
    398390        export PYTHONSTARTUP="${PYTHONPATH}/devpath.py"
    399391        export PYTHONUNBUFFERED=1 #we don't want python to buffer otherwise issm.exe output is not captured
     
    406398        done
    407399
    408         # Concatenate logs
    409         cd $ISSM_DIR/nightlylog
     400        # concatenate reports
     401        cd $ISSM_DIR/nightlylog/
    410402        if [ -f python_log.log ]; then
    411403                rm python_log.log
     
    414406        for job in `jobs -p`
    415407        do
    416                 echo "Waiting on: ${job}"
     408                echo "Waiting on: $job"
    417409                wait $job
    418410        done
     
    437429# }}}
    438430
    439 # Process logs to be JUnit compatible
     431#process logs to be junit compatible
    440432#{{{
    441433cd $ISSM_DIR/nightlylog
  • issm/trunk-jpl/m4/issm_options.m4

    r26034 r26036  
    3131                PACKAGE_DATE="unknown"
    3232        fi
    33         AC_DEFINE_UNQUOTED([PACKAGE_BUILD_DATE], "${PACKAGE_DATE}", [build date])
     33        AC_DEFINE_UNQUOTED(PACKAGE_BUILD_DATE, "$PACKAGE_DATE", [build date])
    3434        AC_MSG_RESULT([${PACKAGE_DATE}])
    3535
     
    4646                fi
    4747        fi
    48         AC_DEFINE_UNQUOTED([USER_NAME], "${user_name}", [user name])
     48        AC_DEFINE_UNQUOTED(USER_NAME, "$user_name", [user name])
    4949        AC_MSG_RESULT([${user_name}])
    5050
     
    5555                linux-gnu* | lignux* )  host_os=linux ;;
    5656        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])
    5858        AC_MSG_RESULT([${host_os}])
    5959
    6060        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])
    6262        AC_MSG_RESULT([${host_cpu}])
    6363
    6464        AC_MSG_CHECKING([vendor])
    65         AC_DEFINE_UNQUOTED([HOST_VENDOR], "${host_vendor}", [host vendor])
     65        AC_DEFINE_UNQUOTED(HOST_VENDOR, "$host_vendor", [host vendor])
    6666        AC_MSG_RESULT([${host_vendor}])
    6767
     
    7373                linux-gnu* | lignux* )  host_os_name=linux ;;
    7474        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])
    7676        AC_MSG_RESULT([${host_os_name}])
    7777
     
    8282                host_os_version=`(uname -r) 2>/dev/null` || host_os_version=unknown
    8383        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])
    8585        AC_MSG_RESULT([${host_os_version}])
    8686
     
    9595                i?86 )  host_arch=i386 ;; # all x86 should show up as i386
    9696        esac
    97         AC_DEFINE_UNQUOTED([HOST_ARCH], "${host_arch}", [host archictecture])
     97        AC_DEFINE_UNQUOTED(HOST_ARCH, "$host_arch", [host archictecture])
    9898        AC_MSG_RESULT([${host_arch}])
    9999
     
    219219                AC_MSG_RESULT([no])
    220220        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])
    222222        AM_CONDITIONAL([SYSTEM_HAS_FMEMOPEN], [test "${SYSTEM_FMEMOPEN}" == "1"])
    223223
    224         IS_MSYS2=no
    225224        IS_WINDOWS=no
    226225        AC_MSG_CHECKING([for vendor compilers])
     
    319318                        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"
    320319                        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
    325320                else
    326321                        AC_MSG_ERROR([unknown compiler vendor!])
    327322                fi
    328323        fi
    329         dnl Set default standard for C++
    330         if test "${CXXFLAGS}" == ""; then
    331                 export CXXFLAGS="-std=C++11"
    332         fi
    333324        AC_SUBST([OSLIBS])
    334325        AC_MSG_RESULT([done])
    335326
    336         AC_MSG_CHECKING([if this is a MSVC (Windows) build])
     327        AC_MSG_CHECKING([if this is a Windows build])
    337328        AM_CONDITIONAL([WINDOWS], [test "x${IS_WINDOWS}" == "xyes"])
    338329        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])
    344330        dnl }}}
    345331        dnl MATLAB{{{
    346332
    347333        dnl See if MATLAB has been provided
    348         AC_MSG_CHECKING([for MATLAB])
    349334        AC_ARG_WITH(
    350335                [matlab-dir],                                                                                                           dnl feature
     
    353338                [MATLAB_ROOT="no"]                                                                                                      dnl action if not given
    354339        )
     340        AC_MSG_CHECKING([for MATLAB])
    355341        if test "x${MATLAB_ROOT}" == "xno"; then
    356342                HAVE_MATLAB=no
     
    371357                AC_DEFINE([_HAVE_MATLAB_], [1], [with MATLAB in ISSM src])
    372358
    373                 dnl Set MEX* variable
     359                dnl Set MEXLIB, MEXLINK, and MEXEXT
    374360                AC_MSG_CHECKING([MATLAB's mex compilation flags])
    375361
     
    381367                                if test "${VENDOR}" == "intel-win7-32"; then
    382368                                        MEXLIB="-Wl,libmx.lib -Wl,libmex.lib -Wl,libmat.lib ${OSLIBS} -Wl,libf2cblas.lib -Wl,libf2clapack.lib"
    383                                         MEXLINKFLAGS="-Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win32/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"
     369                                        MEXLINK="-Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win32/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"
    384370                                        MEXEXT=`${MATLAB_ROOT}/bin/mexext.bat`
    385371                                        MEXEXT=".${MEXEXT}"
    386372                                elif test "${VENDOR}" == "intel-win7-64"; then
    387373                                        MEXLIB="-Wl,libmx.lib -Wl,libmex.lib -Wl,libmat.lib ${OSLIBS} -Wl,libf2cblas.lib -Wl,libf2clapack.lib"
    388                                         MEXLINKFLAGS="-Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win64/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"
     374                                        MEXLINK="-Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win64/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"
    389375                                        MEXEXT=".mexw64"
    390376                                elif test "${VENDOR}" == "MSVC-Win64" || test "${VENDOR}" == "MSVC-Win64-par"; then
    391377                                        MEXLIB="-Wl,libmx.lib -Wl,libmex.lib -Wl,libmat.lib ${OSLIBS} -Wl,libf2cblas.lib -Wl,libf2clapack.lib"
    392                                         MEXLINKFLAGS="-Wl,/link -Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win64/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"
     378                                        MEXLINK="-Wl,/link -Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win64/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"
    393379                                        MATLABINCL="-I`cygpath -m ${MATLAB_ROOT}/extern/include`"
    394380                                        MEXEXT=".mexw64"
    395381                                fi
    396382                        ;;
    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"
     383                        *)
    413384                                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                         ;;
    421                         *)
     385                                MEXLINK=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep LDFLAGS | sed -e "s/         LDFLAGS            = //g")
     386                                MEXLIB=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep CXXLIBS | sed -e "s/         CXXLIBS            = //g")
    422387                                MEXEXT=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep LDEXTENSION | sed -e "s/         LDEXTENSION        = //g")
    423                                 MATLABINCL="-I${MATLAB_ROOT}/extern/include"
    424                                 MEXLINKFLAGS=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep LDFLAGS | sed -e "s/         LDFLAGS            = //g")
    425                                 MEXLIB=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep CXXLIBS | sed -e "s/         CXXLIBS            = //g")
     388                                dnl version 2014 and up
    426389                                if test -z "${MEXEXT}"; then
    427390                                        echo "#include <mex.h>" > conftest.cpp
     
    429392                                        ${MATLAB_ROOT}/bin/mex -v -lmex conftest.cpp > conftest.tmp 2>&1
    430393                                        rm -f conftest.cpp
    431                                         MEXLINKFLAGS=$(cat conftest.tmp | grep LDFLAGS | sed -e "s/LDFLAGS ://g")
     394                                        MEXLINK=$(cat conftest.tmp | grep LDFLAGS | sed -e "s/LDFLAGS ://g")
    432395                                        MEXLIB=$(cat conftest.tmp | grep LINKLIBS | sed -e "s/LINKLIBS ://g")
    433396                                        MEXEXT=$(cat conftest.tmp | grep LDEXT | sed -e "s/LDEXT ://g" | awk '{print $[1]}')
     
    439402
    440403                                dnl Make sure mexFunction.map is not in MEXLIB to avoid problems with global variables
    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????
     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????
    443406                        ;;
    444407                esac
     
    448411                fi
    449412
    450                 AC_SUBST([MEXEXT])
    451                 AC_SUBST([MEXOPTFLAGS])
    452                 AC_SUBST([MEXCFLAGS])
    453                 AC_SUBST([MEXCXXFLAGS])
    454413                AC_SUBST([MATLABINCL])
    455                 AC_SUBST([MEXLINKFLAGS])
     414                MATLABWRAPPEREXT=${MEXEXT}
     415                AC_SUBST([MATLABWRAPPEREXT])
    456416                AC_SUBST([MEXLIB])
     417                AC_SUBST([MEXLINK])
    457418        fi
    458419        dnl }}}
    459420        dnl JavaScript{{{
    460         AC_MSG_CHECKING([for JavaScript])
    461421        AC_ARG_WITH(
    462422                [javascript],
     
    465425                [JAVASCRIPT="no"]
    466426        )
     427        AC_MSG_CHECKING([for JavaScript])
    467428        if test "x${JAVASCRIPT}" == "xno"; then
    468429                HAVE_JAVASCRIPT=no
     
    477438        dnl }}}
    478439        dnl Triangle {{{
    479         AC_MSG_CHECKING([for triangle])
    480440        AC_ARG_WITH(
    481441                [triangle-dir],
     
    484444                [TRIANGLE_ROOT="no"]
    485445        )
     446        AC_MSG_CHECKING([for triangle])
    486447        if test "x${TRIANGLE_ROOT}" == "xno"; then
    487448                HAVE_TRIANGLE=no
     
    522483                                fi
    523484                        ;;
    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                         ;;
    540485                esac
    541486                AC_DEFINE([_HAVE_TRIANGLE_], [1], [with Triangle in ISSM src])
     
    545490        dnl }}}
    546491        dnl Boost{{{
    547         AC_MSG_CHECKING([for Boost])
    548492        AC_ARG_WITH(
    549493                [boost-dir],
     
    552496                [BOOST_ROOT="no"]
    553497        )
     498        AC_MSG_CHECKING([for Boost])
    554499        if test "x${BOOST_ROOT}" == "xno"; then
    555500                HAVE_BOOST=no
     
    578523        dnl }}}
    579524        dnl Dakota{{{
    580         AC_MSG_CHECKING([for Dakota])
    581525        AC_ARG_WITH(
    582526                [dakota-dir],
     
    585529                [DAKOTA_ROOT="no"]
    586530        )
     531        AC_MSG_CHECKING([for Dakota])
    587532        if test "x${DAKOTA_ROOT}" == "xno"; then
    588533                HAVE_DAKOTA=no
     
    602547                AC_MSG_CHECKING(for Dakota version)
    603548                dnl TODO:       Check if this method applies to all other versions of
    604                 dnl                     Dakota (it should as long as the Dakota binaries have been 
     549                dnl                     Dakota (it should as long as the Dakota binaries have been
    605550                dnl             compiled). If so, we can remove the other methods of
    606551                dnl                     getting the version.
     
    619564                fi
    620565                AC_MSG_RESULT([${DAKOTA_VERSION}])
    621                 AC_DEFINE_UNQUOTED([_DAKOTA_VERSION_], ${DAKOTA_VERSION}, [Dakota version number])
     566                AC_DEFINE_UNQUOTED(_DAKOTA_VERSION_, "${DAKOTA_VERSION}", [Dakota version number])
    622567
    623568                DAKOTAFLAGS=""
     
    734679                AC_MSG_CHECKING(for Dakota major version)
    735680                AC_MSG_RESULT(${DAKOTA_MAJOR})
    736                 AC_DEFINE_UNQUOTED([_DAKOTA_MAJOR_], ${DAKOTA_MAJOR}, [Dakota major version number])
     681                AC_DEFINE_UNQUOTED(_DAKOTA_MAJOR_, $DAKOTA_MAJOR, [Dakota major version number])
    737682                AC_MSG_CHECKING(for Dakota minor version)
    738683                AC_MSG_RESULT(${DAKOTA_MINOR})
    739                 AC_DEFINE_UNQUOTED([_DAKOTA_MINOR_], ${DAKOTA_MINOR}, [Dakota minor version number])
     684                AC_DEFINE_UNQUOTED(_DAKOTA_MINOR_, $DAKOTA_MINOR, [Dakota minor version number])
    740685                AC_MSG_CHECKING(for Dakota build version)
    741686                AC_MSG_RESULT(${DAKOTA_BUILD})
    742                 AC_DEFINE_UNQUOTED([_DAKOTA_BUILD_], ${DAKOTA_BUILD}, [Dakota build version number])
     687                AC_DEFINE_UNQUOTED(_DAKOTA_BUILD_, $DAKOTA_BUILD, [Dakota build version number])
    743688
    744689                AC_DEFINE([_HAVE_DAKOTA_], [1], [with Dakota in ISSM src])
     
    750695        dnl }}}
    751696        dnl Python{{{
    752         AC_MSG_CHECKING([for Python])
    753697        AC_ARG_WITH(
    754698                [python-dir],
     
    764708                [PYTHON_VERSION="no"]
    765709        )
     710        AC_MSG_CHECKING([for Python])
    766711        if test "x${PYTHON_ROOT}" == "xno"; then
    767712                HAVE_PYTHON=no
     
    790735                dnl Determine major version
    791736                PYTHON_MAJOR=${PYTHON_VERSION%.*}
    792                 AC_DEFINE_UNQUOTED([_PYTHON_MAJOR_], ${PYTHON_MAJOR}, [Python version major])
     737                AC_DEFINE_UNQUOTED(_PYTHON_MAJOR_, $PYTHON_MAJOR, [Python version major])
    793738                if test "x${PYTHON_MAJOR}" == "x3"; then
    794739                        HAVE_PYTHON3="yes"
     
    806751                        PYTHONINCL=-I${PYTHON_ROOT}/include/python${PYTHON_VERSION}m
    807752                else
    808                         AC_MSG_ERROR([Python.h not found! Please locate this file and contact ISSM developers via forum or email.]);
     753                        AC_MSG_ERROR([Python.h not found, locate this file and contact ISSM developers]);
    809754                fi
    810755                AC_MSG_RESULT([found])
     
    819764                                PYTHONLINK="-shared"
    820765                        ;;
     766                        *linux*)
     767                                PYTHONLINK="-shared"
     768                        ;;
    821769                        *darwin*)
    822770                                PYTHONLINK="-dynamiclib"
    823                         ;;
    824                         *linux*)
    825                                 PYTHONLINK="-shared"
    826                         ;;
    827                         *mingw*)
    828                                 PYTHONLINK="-shared"
    829                         ;;
    830                         *msys*)
    831                                 PYTHONLINK="-shared"
    832771                        ;;
    833772                esac
     
    842781        dnl }}}
    843782        dnl NumPy{{{
     783        dnl TODO:
     784        dnl - Replace references to python-numpy with numpy (and similar terms)
     785        dnl       project-wide
     786        dnl
     787        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
    844794        dnl NOTE: You can find NumPy by running,
    845795        dnl
     
    847797        dnl             >>> numpy.__file__
    848798        dnl
    849         dnl TODO:
    850         dnl - Replace references to python-numpy with numpy (and similar terms)
    851         dnl       project-wide
    852         dnl
     799
    853800        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         )
    860801        if test "x${PYTHON_NUMPY_ROOT}" == "xno"; then
    861802                HAVE_PYTHON_NUMPY=no
     
    876817        dnl }}}
    877818        dnl Chaco{{{
    878         AC_MSG_CHECKING([for Chaco])
    879819        AC_ARG_WITH(
    880820                [chaco-dir],
     
    883823                [CHACO_ROOT="no"]
    884824        )
     825        AC_MSG_CHECKING([for Chaco])
    885826        if test "x${CHACO_ROOT}" == "xno"; then
    886827                HAVE_CHACO=no
     
    904845        dnl }}}
    905846        dnl ESMF{{{
    906         AC_MSG_CHECKING([for ESMF])
    907847        AC_ARG_WITH(
    908848                [esmf-dir],
     
    911851                [ESMF_ROOT="no"]
    912852        )
     853        AC_MSG_CHECKING([for ESMF])
    913854        if test "x${ESMF_ROOT}" == "xno"; then
    914855                HAVE_ESMF=no
     
    932873        dnl }}}
    933874        dnl CoDiPack{{{
    934         AC_MSG_CHECKING([for CoDiPack])
    935875        AC_ARG_WITH(
    936876                [codipack-dir],
     
    939879                [CODIPACK_ROOT="no"]
    940880        )
     881        AC_MSG_CHECKING([for CoDiPack])
    941882        if test "x${CODIPACK_ROOT}" == "xno"; then
    942883                HAVE_CODIPACK=no
     
    960901        dnl }}}
    961902        dnl Tape Allocation {{{
    962         AC_MSG_CHECKING(for tape allocation)
    963903        AC_ARG_ENABLE(
    964904                [tape-alloc],                                                                                                                           dnl feature
     
    967907                [enable_tape_alloc=no]
    968908        )
     909        AC_MSG_CHECKING(for tape allocation)
    969910        if test "x${enable_tape_alloc}" == "xyes"; then
    970911                AC_DEFINE([_AD_TAPE_ALLOC_], [1], [enable a priori tape allocation for AD])
     
    973914        dnl }}}
    974915        dnl ADOL-C {{{
    975         AC_MSG_CHECKING([for ADOL-C])
    976916        AC_ARG_WITH(
    977917                [adolc-dir],
     
    980920                [ADOLC_ROOT="no"]
    981921        )
     922        AC_MSG_CHECKING([for ADOL-C])
    982923        if test "x${ADOLC_ROOT}" == "xno"; then
    983924                HAVE_ADOLC=no
     
    1004945        dnl }}}
    1005946        dnl ADOL-C version{{{
    1006         AC_MSG_CHECKING(for ADOL-C version)
    1007947        AC_ARG_WITH(
    1008948                [adolc-version],
     
    1011951                [ADOLC_VERSION=2]
    1012952        )
    1013         AC_DEFINE_UNQUOTED([_ADOLC_VERSION_], ${ADOLC_VERSION}, [ADOL-C version])
     953        AC_MSG_CHECKING(for ADOL-C version)
     954
     955        AC_DEFINE_UNQUOTED(_ADOLC_VERSION_, $ADOLC_VERSION, [ADOL-C version])
    1014956        AC_MSG_RESULT(${ADOLC_VERSION})
    1015957        dnl }}}
    1016958        dnl ADIC2 {{{
    1017         AC_MSG_CHECKING([for ADIC2])
    1018959        AC_ARG_WITH(
    1019960                [adic2-dir],
     
    1022963                [ADIC2_ROOT="no"]
    1023964        )
     965        AC_MSG_CHECKING([for ADIC2])
    1024966        if test "x${ADIC2_ROOT}" == "xno"; then
    1025967                HAVE_ADIC2=no
     
    1043985        dnl }}}
    1044986        dnl ATLAS {{{
    1045         AC_MSG_CHECKING(for ATLAS and CBLAS libraries)
    1046987        AC_ARG_WITH(
    1047988                [atlas-dir],
     
    1050991                [ATLAS_ROOT="no"]
    1051992        )
     993        AC_MSG_CHECKING(for ATLAS and CBLAS libraries)
    1052994        if test "x${ATLAS_ROOT}" == "xno"; then
    1053995                HAVE_ATLAS=no
     
    10661008                                ATLASLIB="-L`cygpath -m ${ATLAS_ROOT}` -Wl,libatlas.lib  -Wl,libcblas.lib"
    10671009                        ;;
     1010                        *linux*)
     1011                                ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm "
     1012                        ;;
    10681013                        *darwin*)
    1069                                 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm"
    1070                         ;;
    1071                         *linux*)
    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"
     1014                                ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm "
    10791015                        ;;
    10801016                esac
     
    10841020        dnl }}}
    10851021        dnl GSL{{{
    1086         AC_MSG_CHECKING([for GSL])
    10871022        AC_ARG_WITH(
    10881023                [gsl-dir],
     
    10911026                [GSL_ROOT="no"]
    10921027        )
     1028        AC_MSG_CHECKING([for GSL])
    10931029        if test "x${GSL_ROOT}" == "xno"; then
    10941030                HAVE_GSL=no
     
    11161052        dnl }}}
    11171053        dnl AMPI (ADOL-C){{{
    1118         AC_MSG_CHECKING([for AMPI])
    11191054        AC_ARG_WITH(
    11201055                [ampi-dir],
     
    11231058                [AMPI_ROOT="no"]
    11241059        )
     1060        AC_MSG_CHECKING([for AMPI])
    11251061        if test "x${AMPI_ROOT}" == "xno"; then
    11261062                HAVE_AMPI=no
     
    11521088        dnl }}}
    11531089        dnl Adjoint MPI (CoDiPack){{{
    1154         AC_MSG_CHECKING([for Adjoint MPI])
    11551090        AC_ARG_WITH(
    11561091                [adjointmpi-dir],
     
    11591094                [ADJOINTMPI_ROOT="no"]
    11601095        )
     1096        AC_MSG_CHECKING([for Adjoint MPI])
    11611097        if test "x${ADJOINTMPI_ROOT}" == "xno"; then
    11621098                HAVE_ADJOINTMPI=no
     
    11861122        dnl }}}
    11871123        dnl MeDiPack (CoDiPack, ADOL-C dev){{{
    1188         AC_MSG_CHECKING([for MeDiPack])
    11891124        AC_ARG_WITH(
    11901125                [medipack-dir],
     
    11931128                [MEDIPACK_ROOT="no"]
    11941129        )
     1130        AC_MSG_CHECKING([for MeDiPack])
    11951131        if test "x${MEDIPACK_ROOT}" == "xno"; then
    11961132                HAVE_MEDIPACK=no
     
    12181154        dnl }}}
    12191155        dnl HDF5 {{{
    1220         AC_MSG_CHECKING(for HDF5 libraries)
    12211156        AC_ARG_WITH(
    12221157                [hdf5-dir],
     
    12251160                [HDF5_ROOT="no"]
    12261161        )
     1162        AC_MSG_CHECKING(for HDF5 libraries)
    12271163        if test "x${HDF5_ROOT}" == "xno"; then
    12281164                HAVE_HDF5=no
     
    12451181                                HDF5LIB="-L`cygpath -m ${HDF5_ROOT}` -Wl,libhdf5.lib  -Wl,libhdf5_hl.lib"
    12461182                        ;;
    1247                         *darwin*)
    1248                                 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl"
    1249                         ;;
    12501183                        *linux*)
    12511184                                HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl"
    12521185                        ;;
    1253                         *mingw*)
    1254                                 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl"
    1255                         ;;
    1256                         *msys*)
     1186                        *darwin*)
    12571187                                HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl"
    12581188                        ;;
     
    12631193        dnl }}}
    12641194        dnl PETSc{{{
    1265         AC_MSG_CHECKING([for PETSc])
    12661195        AC_ARG_WITH(
    12671196                [petsc-dir],
     
    12701199                [PETSC_ROOT="no"]
    12711200        )
     1201        AC_MSG_CHECKING([for PETSc])
    12721202        if test "x${PETSC_ROOT}" == "xno"; then
    12731203                HAVE_PETSC=no
     
    12901220                PETSC_MAJOR=`cat ${PETSC_ROOT}/include/petscversion.h | grep "#define PETSC_VERSION_MAJOR" | sed 's/#define PETSC_VERSION_MAJOR//' | sed 's/ //g'`
    12911221                PETSC_MINOR=`cat ${PETSC_ROOT}/include/petscversion.h | grep "#define PETSC_VERSION_MINOR" | sed 's/#define PETSC_VERSION_MINOR//' | sed 's/ //g'`
    1292                 AC_DEFINE_UNQUOTED([_PETSC_MAJOR_], ${PETSC_MAJOR}, [PETSc version major])
    1293                 AC_DEFINE_UNQUOTED([_PETSC_MINOR_], ${PETSC_MINOR}, [PETSc version minor])
     1222                AC_DEFINE_UNQUOTED([_PETSC_MAJOR_], [$PETSC_MAJOR], [PETSc version major])
     1223                AC_DEFINE_UNQUOTED([_PETSC_MINOR_], [$PETSC_MINOR], [PETSc version minor])
    12941224                AC_MSG_RESULT([${PETSC_MAJOR}.${PETSC_MINOR}])
    12951225
     
    13321262                                        PETSCLIB="/link -Wl,/LIBPATH:`cygpath -m ${PETSC_ROOT}/lib` -Wl,libpetsc.lib"
    13331263                                        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
    13441264                                fi
    13451265                        ;;
     
    13601280                                fi
    13611281                        ;;
    1362                         *mingw*)
    1363                                 PETSCLIB="-Wl,${PETSC_ROOT}/lib/libpetsc.a"
    1364                         ;;
    1365                         *msys*)
    1366                                 PETSCLIB="${PETSC_ROOT}/lib -lpetsc"
     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
    13671291                        ;;
    13681292                esac
     
    13751299        dnl MPI{{{
    13761300        AC_MSG_CHECKING(for MPI)
     1301
    13771302        AC_ARG_WITH(
    13781303                [mpi-include],
     
    13811306                [MPI_INCLUDE=""]
    13821307        )
     1308
    13831309        AC_ARG_WITH(
    13841310                [mpi-libdir],
     
    13871313                [MPI_LIBDIR=""]
    13881314        )
     1315
    13891316        AC_ARG_WITH(
    13901317                [mpi-libflags],
     
    13931320                [MPI_LIBFLAGS=""]
    13941321        )
     1322
    13951323        if test -z "${MPI_INCLUDE}"; then
    13961324                HAVE_MPI=no
     
    14351363        dnl }}}
    14361364        dnl SCOTCH{{{
    1437         AC_MSG_CHECKING([for SCOTCH])
    14381365        AC_ARG_WITH(
    14391366                [scotch-dir],
     
    14421369                [SCOTCH_ROOT="no"]
    14431370        )
     1371        AC_MSG_CHECKING([for SCOTCH])
    14441372        if test "x${SCOTCH_ROOT}" == "xno"; then
    14451373                HAVE_SCOTCH=no
     
    14741402        dnl }}}
    14751403        dnl METIS{{{
    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
     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])
     1412                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
    14871424                        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:]]*||')
     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
    14981432                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
    1541                 AC_DEFINE([_HAVE_METIS_], [1], [with METIS in ISSM src])
    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:]]*||')
    1575                 dnl METIS libraries and header files
    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"])
     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"])
    16051480        dnl }}}
    16061481        dnl Toolkit for Advanced Optimization (TAO){{{
    1607         AC_MSG_CHECKING([for TAO])
    16081482        AC_ARG_WITH(
    16091483                [tao-dir],
     
    16121486                [TAO_ROOT="no"]
    16131487        )
     1488        AC_MSG_CHECKING([for TAO])
     1489
    16141490        if test "x${HAVE_PETSC}" == "xyes" && test "x${PETSC_MAJOR}" == "x3" && test ${PETSC_MINOR} -ge 5; then
    16151491                dnl In PETSc >= 3.5, TAO is provided
     
    16391515        dnl }}}
    16401516        dnl M1QN3{{{
    1641         AC_MSG_CHECKING([for M1QN3])
    16421517        AC_ARG_WITH(
    16431518                [m1qn3-dir],
     
    16461521                [M1QN3_ROOT="no"]
    16471522        )
     1523        AC_MSG_CHECKING([for M1QN3])
    16481524        if test "x${M1QN3_ROOT}" == "xno"; then
    16491525                HAVE_M1QN3=no
     
    16641540        dnl }}}
    16651541        dnl PROJ{{{
    1666         AC_MSG_CHECKING([for PROJ])
    16671542        AC_ARG_WITH(
    16681543                [proj-dir],
     
    16711546                [PROJ_ROOT="no"]
    16721547        )
     1548        AC_MSG_CHECKING([for PROJ])
    16731549        if test "x${PROJ_ROOT}" == "xno"; then
    16741550                HAVE_PROJ=no
     
    16921568        dnl }}}
    16931569        dnl SLEPc{{{
    1694         AC_MSG_CHECKING([for SLEPc])
    16951570        AC_ARG_WITH(
    16961571                [slepc-dir],
     
    16991574                [SLEPC_ROOT="no"]
    17001575        )
     1576        AC_MSG_CHECKING([for SLEPc])
    17011577        if test "x${SLEPC_ROOT}" == "xno"; then
    17021578                HAVE_SLEPC=no
     
    17191595        dnl }}}
    17201596        dnl shapelib{{{
    1721         AC_MSG_CHECKING([for shapelib])
    17221597        AC_ARG_WITH(
    17231598                [shapelib-dir],
     
    17261601                [SHAPELIB_ROOT="no"]
    17271602        )
     1603        AC_MSG_CHECKING([for shapelib])
    17281604        if test "x${SHAPELIB_ROOT}" == "xno"; then
    17291605                HAVE_SHAPELIB=no
     
    17461622        dnl }}}
    17471623        dnl ScaLAPACK{{{
     1624
    17481625        dnl NOTE: User should supply path to root directory or libraries, but not both
    1749         dnl
    1750         AC_MSG_CHECKING([for ScaLAPACK])
    17511626        AC_ARG_WITH(
    17521627                [scalapack-dir],
     
    17611636                [SCALAPACKLIB="no"]
    17621637        )
     1638        AC_MSG_CHECKING([for ScaLAPACK])
    17631639        if test "x${SCALAPACK_ROOT}" == "xno" && test "x${SCALAPACKLIB}" == "xno"; then
    17641640                HAVE_SCALAPACK=no
     
    17691645                fi
    17701646                HAVE_SCALAPACK=yes
    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
     1647                SCALAPACKLIB="-L${SCALAPACK_ROOT}/lib -lscalapack"
    17761648        elif test "x${SCALAPACKLIB}" != "xno"; then
    17771649                dnl Value of SCALAPACKLIB should be valid here, so no need to set it (as above)
     
    17891661        dnl }}}
    17901662        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         )
    18041663        AC_ARG_WITH(
    18051664                [blas-lapack-dir],
     
    18081667                [BLASLAPACK_ROOT="no"]
    18091668        )
    1810         if (test "x${BLAS_ROOT}" = "xno" || test "x${LAPACK_ROOT}" = "xno") && test "x${BLASLAPACK_ROOT}" = "xno"; then
     1669        AC_MSG_CHECKING([for BLAS/LAPACK])
     1670        if test "x${BLASLAPACK_ROOT}" == "xno" ; then
    18111671                HAVE_BLASLAPACK=no
    18121672        else
    18131673                HAVE_BLASLAPACK=yes
    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
     1674                if ! test -d "${BLASLAPACK_ROOT}"; then
     1675                        AC_MSG_ERROR([BLAS/LAPACK directory provided (${BLASLAPACK_ROOT}) does not exist!]);
    18181676                fi
    18191677        fi
     
    18221680        dnl BLAS/LAPACK libraries and header files
    18231681        if test "x${HAVE_BLASLAPACK}" == "xyes"; then
     1682                BLASLAPACKINCL=""
    18241683                case "${host_os}" in
    18251684                        *cygwin*)
     
    18501709                                fi
    18511710                        ;;
    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                         ;;
    18831711                esac
    18841712                AC_DEFINE([_HAVE_BLASLAPACK_], [1], [with BLAS/LAPACK in ISSM src])
    18851713                AC_SUBST([BLASLAPACKLIB])
     1714                AC_SUBST([BLASLAPACKINCL])
    18861715        fi
    18871716        dnl }}}
    18881717        dnl Math Kernel Library (MKL){{{
    1889         AC_MSG_CHECKING([for MKL])
    18901718        AC_ARG_WITH(
    18911719                [mkl-libflags],
     
    18941722                [MKL_LIBFLAGS="no"]
    18951723        )
     1724        AC_MSG_CHECKING([for MKL])
    18961725        if test "x${MKL_LIBFLAGS}" == "xno"; then
    18971726                HAVE_MKL=no
     
    19061735        dnl }}}
    19071736        dnl PlaLAPACK{{{
     1737
    19081738        dnl TODO:       Handle user supplying path to root directory *or* individual
    19091739        dnl             arguments (like ScaLAPACK)
     
    19401770        dnl }}}
    19411771        dnl MUMPS{{{
    1942         AC_MSG_CHECKING([for MUMPS])
    19431772        AC_ARG_WITH(
    19441773                [mumps-dir],
     
    19471776                [MUMPS_ROOT="no"]
    19481777        )
     1778        AC_MSG_CHECKING([for MUMPS])
    19491779        if test "x${MUMPS_ROOT}" == "xno"; then
    19501780                HAVE_MUMPS=no
     
    19611791                MUMPSINCL="-I${MUMPS_ROOT}/include"
    19621792                if test "x${MUMPS_ROOT}" == "x${PETSC_ROOT}"; then
    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"
     1793                        if test "x${PETSC_MAJOR}" == "x2"; then
     1794                                MUMPSLIB="-L${MUMPS_ROOT}/lib "
    19651795                        else
    19661796                                MUMPSLIB="-L${MUMPS_ROOT}/lib -ldmumps -lcmumps -lmumps_common -lpord -lparmetis -lzmumps -lmetis"
     
    20111841        dnl }}}
    20121842        dnl BLACS{{{
    2013         AC_MSG_CHECKING([for BLACS])
    20141843        AC_ARG_WITH(
    20151844                [blacs-dir],
     
    20181847                [BLACS_ROOT="no"]
    20191848        )
     1849        AC_MSG_CHECKING([for BLACS])
    20201850        if test "x${BLACS_ROOT}" == "xno"; then
    20211851                HAVE_BLACS=no
     
    20381868        dnl }}}
    20391869        dnl HYPRE{{{
    2040         AC_MSG_CHECKING([for HYPRE])
    20411870        AC_ARG_WITH(
    20421871                [hypre-dir],
     
    20451874                [HYPRE_ROOT="no"]
    20461875        )
     1876        AC_MSG_CHECKING([for HYPRE])
    20471877        if test "x${HYPRE_ROOT}" == "xno"; then
    20481878                HAVE_HYPRE=no
     
    20651895        dnl }}}
    20661896        dnl Prometheus{{{
    2067         AC_MSG_CHECKING([for Prometheus])
    20681897        AC_ARG_WITH(
    20691898                [prometheus-dir],
     
    20721901                [PROMETHEUS_ROOT="no"]
    20731902        )
     1903        AC_MSG_CHECKING([for Prometheus])
    20741904        if test "x${PROMETHEUS_ROOT}" == "xno"; then
    20751905                HAVE_PROMETHEUS=no
     
    20921922        dnl }}}
    20931923        dnl SEMIC{{{
    2094         AC_MSG_CHECKING([for SEMIC])
    20951924        AC_ARG_WITH(
    20961925                [semic-dir],
     
    20991928                [SEMIC_ROOT="no"]
    21001929        )
     1930        AC_MSG_CHECKING([for SEMIC])
    21011931        if test "x${SEMIC_ROOT}" == "xno"; then
    21021932                HAVE_SEMIC=no
     
    21201950        dnl }}}
    21211951        dnl SPAI{{{
    2122         AC_MSG_CHECKING([for SPAI])
    21231952        AC_ARG_WITH(
    21241953                [spai-dir],
     
    21271956                [SPAI_ROOT="no"]
    21281957        )
     1958        AC_MSG_CHECKING([for SPAI])
    21291959        if test "x${SPAI_ROOT}" == "xno"; then
    21301960                HAVE_SPAI=no
     
    21471977        dnl }}}
    21481978        dnl SuperLU{{{
    2149         AC_MSG_CHECKING([for SuperLU])
    21501979        AC_ARG_WITH(
    21511980                [superlu-dir],
     
    21541983                [SUPERLU_ROOT="no"]
    21551984        )
     1985        AC_MSG_CHECKING([for SuperLU])
    21561986        if test "x${SUPERLU_ROOT}" == "xno"; then
    21571987                HAVE_SUPERLU=no
     
    21742004        dnl }}}
    21752005        dnl SPOOLES{{{
    2176         AC_MSG_CHECKING([for SPOOLES])
    21772006        AC_ARG_WITH(
    21782007                [spooles-dir],
     
    21812010                [SPOOLES_ROOT="no"]
    21822011        )
     2012        AC_MSG_CHECKING([for SPOOLES])
    21832013        if test "x${SPOOLES_ROOT}" == "xno"; then
    21842014                HAVE_SPOOLES=no
     
    22012031        dnl }}}
    22022032        dnl PaStiX{{{
    2203         AC_MSG_CHECKING([for PaStiX])
    22042033        AC_ARG_WITH(
    22052034                [pastix-dir],
     
    22082037                [PASTIX_ROOT="no"]
    22092038        )
     2039        AC_MSG_CHECKING([for PaStiX])
    22102040        if test "x${PASTIX_ROOT}" == "xno"; then
    22112041                HAVE_PASTIX=no
     
    22292059        dnl }}}
    22302060        dnl ml{{{
    2231         AC_MSG_CHECKING([for ml])
    22322061        AC_ARG_WITH(
    22332062                [ml-dir],
     
    22362065                [ML_ROOT="no"]
    22372066        )
     2067        AC_MSG_CHECKING([for ml])
    22382068        if test "x${ML_ROOT}" == "xno"; then
    22392069                HAVE_ML=no
     
    22562086        dnl }}}
    22572087        dnl UMFPACK{{{
    2258         AC_MSG_CHECKING([for UMFPACK])
    22592088        AC_ARG_WITH(
    22602089                [umfpack-dir],
     
    22632092                [UMFPACK_ROOT="no"]
    22642093        )
     2094        AC_MSG_CHECKING([for UMFPACK])
    22652095        if test "x${UMFPACK_ROOT}" == "xno"; then
    22662096                HAVE_UMFPACK=no
     
    22992129        dnl }}}
    23002130        dnl MATH77{{{
    2301         AC_MSG_CHECKING([for MATH77])
    23022131        AC_ARG_WITH(
    23032132                [math77-dir],
     
    23062135                [MATH77_ROOT="no"]
    23072136        )
     2137        AC_MSG_CHECKING([for MATH77])
    23082138        if test "x${MATH77_ROOT}" == "xno"; then
    23092139                HAVE_MATH77=no
     
    23242154        dnl }}}
    23252155        dnl Fortran{{{
    2326         AC_MSG_CHECKING(for Fortran compilation)
    23272156        AC_ARG_WITH(
    23282157                [fortran],
     
    23312160                [FORTRAN=yes]
    23322161        )
     2162        AC_MSG_CHECKING(for Fortran compilation)
    23332163        if test "x${FORTRAN}" == "xyes"; then
    23342164                HAVE_FORTRAN=yes
     
    23942224        dnl }}}
    23952225        dnl MeteoIO{{{
    2396         AC_MSG_CHECKING([for MeteoIO])
    23972226        AC_ARG_WITH(
    23982227                [meteoio-dir],
     
    24012230                [METEOIO_ROOT="no"]
    24022231        )
     2232        AC_MSG_CHECKING([for MeteoIO])
    24032233        if test "x${METEOIO_ROOT}" == "xno"; then
    24042234                HAVE_METEOIO=no
     
    24232253        dnl }}}
    24242254        dnl SNOWPACK{{{
    2425         AC_MSG_CHECKING([for SNOWPACK])
    24262255        AC_ARG_WITH(
    24272256                [snowpack-dir],
     
    24302259                [SNOWPACK_ROOT="no"]
    24312260        )
     2261        AC_MSG_CHECKING([for SNOWPACK])
    24322262        if test "x${SNOWPACK_ROOT}" == "xno"; then
    24332263                HAVE_SNOWPACK=no
     
    24512281        dnl }}}
    24522282        dnl NeoPZ{{{
    2453         AC_MSG_CHECKING([for NeoPZ])
    24542283        AC_ARG_WITH(
    24552284                [neopz-dir],
     
    24582287                [NEOPZ_ROOT="no"]
    24592288        )
     2289        AC_MSG_CHECKING([for NeoPZ])
    24602290        if test "x${NEOPZ_ROOT}" == "xno"; then
    24612291                HAVE_NEOPZ=no
     
    25262356                GMSH_VERSION_MAJOR=`${GMSH_ROOT}/bin/gmsh -info | grep "Version" | sed -e "s/Version@<:@@<:@:blank:@:>@@:>@*:@<:@@<:@:blank:@:>@@:>@//" | cut -d "." -f 1`
    25272357                AC_MSG_RESULT([${GMSH_VERSION_MAJOR}])
    2528                 AC_DEFINE_UNQUOTED([_GMSH_VERSION_MAJOR_], ${GMSH_VERSION_MAJOR}, [Gmsh major version])
     2358                AC_DEFINE_UNQUOTED(_GMSH_VERSION_MAJOR_, $GMSH_VERSION_MAJOR, [Gmsh major version])
    25292359        fi     
    25302360        dnl }}}
    25312361        dnl Capabilities
    25322362        dnl with-bamg{{{
    2533         AC_MSG_CHECKING([for BAMG capability compilation])
    25342363        AC_ARG_WITH(
    25352364                [bamg],
     
    25382367                [BAMG=yes]
    25392368        )
     2369        AC_MSG_CHECKING([for BAMG capability compilation])
    25402370        HAVE_BAMG=no
    25412371        if test "x${BAMG}" == "xyes"; then
     
    25472377        dnl }}}
    25482378        dnl with-ocean{{{
    2549         AC_MSG_CHECKING(for ice/ocean coupling capability compilation)
    25502379        AC_ARG_WITH(
    25512380                [ocean],
     
    25542383                [OCEAN=no]
    25552384        )
     2385        AC_MSG_CHECKING(for ice/ocean coupling capability compilation)
     2386
    25562387        HAVE_OCEAN=no
    25572388        if test "x${OCEAN}" == "xyes"; then
     
    25632394        dnl }}}
    25642395        dnl with-kml{{{
    2565         AC_MSG_CHECKING(for kml capability compilation)
    25662396        AC_ARG_WITH(
    25672397                [kml],
     
    25702400                [KML=no]
    25712401        )
     2402        AC_MSG_CHECKING(for kml capability compilation)
     2403
    25722404        HAVE_KML=no
    25732405        if test "x${KML}" == "xyes"; then
     
    25792411        dnl }}}
    25802412        dnl with-kriging{{{
    2581         AC_MSG_CHECKING(for kriging capability compilation)
    25822413        AC_ARG_WITH(
    25832414                [kriging],
     
    25862417                [KRIGING=yes]
    25872418        )
     2419        AC_MSG_CHECKING(for kriging capability compilation)
     2420
    25882421        HAVE_KRIGING=no
    25892422        if test "x${KRIGING}" == "xyes"; then
     
    26002433        dnl Platform specifics
    26012434        dnl with-ios{{{
    2602         AC_MSG_CHECKING(for iOS compilation)
    26032435        AC_ARG_WITH(
    26042436                [ios],
     
    26072439                [IOS=no]
    26082440        )
     2441        AC_MSG_CHECKING(for iOS compilation)
     2442
    26092443        HAVE_IOS=no
    26102444        if test "x${IOS}" == "xyes"; then
     
    26162450        dnl }}}
    26172451        dnl with-android{{{
    2618         AC_MSG_CHECKING([for Android capability compilation])
    26192452        AC_ARG_WITH(
    26202453                [android],
    26212454                AS_HELP_STRING([--with-android=EXE], [compile with Android capabilities (default: "no"; alternatives: "exe", "jni")]),
    26222455                [ANDROID=${withval}],
    2623                 [ANDROID=no]
    2624         )
     2456                [ANDROID=no])
     2457        AC_MSG_CHECKING([for Android capability compilation])
     2458
    26252459        if test "x${ANDROID}" == "xjni"; then
    26262460                HAVE_ANDROID=jni
     
    26412475        dnl }}}
    26422476        dnl with-android-ndk{{{
    2643         AC_MSG_CHECKING([with Android Native Development Kit (NDK)])
    26442477        AC_ARG_WITH(
    26452478                [android-ndk],
     
    26482481                [ANDROID_NDK_ROOT=""]
    26492482        )
     2483        AC_MSG_CHECKING([with Android Native Development Kit (NDK)])
     2484
    26502485        if test -d "${ANDROID_NDK_ROOT}"; then
    26512486                HAVE_ANDROID_NDK=yes
     
    26612496        dnl other options
    26622497        dnl optimization{{{
    2663         dnl -- bypass standard optimization -g -O2 -fPIC?
    2664         AC_MSG_CHECKING(for C++ optimization flags)
     2498        dnl -- bypass standard optimization -g -O2 -fPIC -std=c++11?
    26652499        AC_ARG_WITH(
    26662500                [cxxoptflags],
    26672501                AS_HELP_STRING([--with-cxxoptflags=CXXOPTFLAGS], [C++ optimization flags (i.e. --with-cxxoptflags="-march=opteron -O3 -std=c++11"]),
    26682502                [CXXOPTFLAGS=${withval}],
    2669                 [CXXOPTFLAGS="-g -O2 -fPIC"]
    2670         )
     2503                [CXXOPTFLAGS="-g -O2 -fPIC -std=c++11"]
     2504        )
     2505        AC_MSG_CHECKING(for C++ optimization flags)
    26712506        AC_SUBST([CXXOPTFLAGS])
    2672         AC_MSG_RESULT([${CXXOPTFLAGS}])
     2507        AC_MSG_RESULT([done])
    26732508        dnl }}}
    26742509        dnl multithreading{{{
    2675         AC_MSG_CHECKING(for number of threads)
    26762510        AC_ARG_WITH(
    26772511                [numthreads],
     
    26802514                [NUMTHREADS_VALUE=1]
    26812515        )
     2516        AC_MSG_CHECKING(for number of threads)
    26822517        dnl Check that supplied value is an integer
    26832518        if [[ "${NUMTHREADS_VALUE}" != "${NUMTHREADS_VALUE}" 2> /dev/null ]]; then
     
    26942529                                MULTITHREADINGLIB="-lpthread -lrt"
    26952530                        ;;
     2531                        *linux*)
     2532                                MULTITHREADINGLIB="-lpthread -lrt"
     2533                        ;;
    26962534                        *darwin*)
    26972535                                MULTITHREADINGLIB="-lpthread"
    26982536                        ;;
    2699                         *linux*)
    2700                                 MULTITHREADINGLIB="-lpthread -lrt"
    2701                         ;;
    2702                         *mingw*)
    2703                                 MULTITHREADINGLIB=""
    2704                         ;;
    2705                         *msys*)
    2706                                 MULTITHREADINGLIB=""
    2707                         ;;
    27082537                esac
    27092538                AC_DEFINE([_MULTITHREADING_], [1], [with multithreading enabled])
    27102539        fi
    2711         AC_DEFINE_UNQUOTED([_NUMTHREADS_], ${NUMTHREADS_VALUE}, [number of threads])
     2540        AC_DEFINE_UNQUOTED(_NUMTHREADS_, $NUMTHREADS_VALUE, [number of threads])
    27122541        AC_SUBST([MULTITHREADINGLIB])
    27132542        AC_MSG_RESULT([${NUMTHREADS_VALUE}])
    27142543        dnl }}}
    27152544        dnl 64-bit indices{{{
    2716         AC_MSG_CHECKING([for 64-bit indices])
    27172545        AC_ARG_WITH(
    27182546                [64bit-indices],
     
    27212549                [USE_64BIT_INDICES=0]
    27222550        )
     2551        AC_MSG_CHECKING([for 64-bit indices])
     2552
    27232553        if test "x${USE_64BIT_INDICES}" == "x1"; then
    27242554                AC_DEFINE([ISSM_USE_64BIT_INDICES], [1], [with 64-bit indices])
     
    27302560
    27312561        dnl Checks {{{
    2732         AC_MSG_CHECKING(consistency between all external packages)
     2562        AC_MSG_CHECKING(consistency between all libraries)
    27332563
    27342564        dnl Check that if PETSc is requested, MPI is specified
     
    27602590
    27612591        dnl Check that if we run ADOL-C, we don't compile kriging.exe
    2762         if test "x${HAVE_ADOLC}" == "xyes" && test "${HAVE_KRIGING}" == "xyes"; then
     2592        if test "x$HAVE_ADOLC" == "xyes" && test "${HAVE_KRIGING}" == "xyes"; then
    27632593                AC_MSG_ERROR([cannot compile kriging.exe under ADOL-C conditions!]);
    27642594        fi
  • issm/trunk-jpl/src/c/Makefile.am

    r26034 r26036  
    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@
     1AM_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@
    22AM_FCFLAGS = @SEMICINCL@
    33
     
    88#Library declaration {{{
    99if !WINDOWS
    10 lib_LTLIBRARIES = libISSMCore.la
    11 if !MSYS2
    12 lib_LTLIBRARIES += libISSMOverload.la
    13 endif
     10lib_LTLIBRARIES = libISSMCore.la libISSMOverload.la
    1411if WRAPPERS
    1512lib_LTLIBRARIES += libISSMModules.la
     
    685682#}}}
    686683#Library flags and sources {{{
    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
     684ALLCXXFLAGS= $(CXXFLAGS) $(CXXOPTFLAGS)
    693685
    694686libISSMCore_la_SOURCES  = $(issm_sources)
    695 libISSMCore_la_CXXFLAGS = $(ALL_CXXFLAGS) $(DAKOTAFLAGS)
     687libISSMCore_la_CXXFLAGS = $(ALLCXXFLAGS) $(DAKOTAFLAGS)
    696688libISSMCore_la_FFLAGS = $(AM_FFLAGS)
    697689
    698690if !WINDOWS
    699691if !STANDALONE_LIBRARIES
    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)
     692libISSMCore_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)
    701693if FORTRAN
    702694libISSMCore_la_LIBADD += $(FLIBS) $(FORTRANLIB)
     
    719711endif
    720712
    721 libISSMModules_la_CXXFLAGS = $(ALL_CXXFLAGS)
     713libISSMModules_la_CXXFLAGS = $(ALLCXXFLAGS)
    722714if !WINDOWS
    723715if STANDALONE_LIBRARIES
     
    751743endif
    752744
    753 if VERSION
     745if STANDALONE_LIBRARIES
     746libISSMCore_la_LDFLAGS = -static
     747libISSMOverload_la_LDFLAGS = -static
     748if WRAPPERS
     749libISSMModules_la_LDFLAGS = -static
     750else
     751libISSMModules_la_LDFLAGS =
     752endif
     753else
    754754libISSMCore_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 
    765 if STANDALONE_LIBRARIES
    766 libISSMCore_la_LDFLAGS += -static
    767 if WRAPPERS
    768 libISSMModules_la_LDFLAGS += -static
    769 endif
    770 endif
    771 #}}}
    772 
    773 if !MSYS2
     755libISSMOverload_la_LDFLAGS =
     756endif
     757
     758#}}}
    774759#Overload library, to overload any non-standard symbols. {{{
    775760libISSMOverload_la_SOURCES = ./shared/String/ApiPrintf.cpp
     761
    776762libISSMOverload_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
    788763#}}}
    789764#Executable {{{
     
    803778
    804779#Standard libraries
    805 LDADD = ./libISSMCore.la
    806 
    807 if !MSYS2
    808 LDADD += ./libISSMOverload.la
    809 endif
    810 
     780LDADD = ./libISSMCore.la ./libISSMOverload.la
    811781if WRAPPERS
    812782LDADD += ./libISSMModules.la $(TRIANGLELIB)
     
    814784
    815785#External packages
    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)
     786LDADD += $(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)
    817787
    818788if FORTRAN
  • issm/trunk-jpl/src/wrappers/Triangle/Triangle.h

    r26034 r26036  
    1919#ifdef _HAVE_JAVASCRIPT_MODULES_
    2020#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 module construct.*/
     21                                                           not include IssmComm several times in the javascript Modle construct.*/
    2222#endif
    2323
  • issm/trunk-jpl/src/wrappers/javascript/Makefile.am

    r26034 r26036  
    1 AM_CPPFLAGS = @DAKOTAINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @PARMETISINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @CODIPACKINCL@
     1AM_CPPFLAGS = @DAKOTAINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @CODIPACKINCL@
    22AUTOMAKE_OPTIONS = subdir-objects
    33
     
    6060AM_CXXFLAGS +=  -D_HAVE_JAVASCRIPT_MODULES_ -fPIC
    6161
    62 deps = ./libISSMJavascript.la ./libISSMApi.la ../../c/libISSMCore.la ../../c/libISSMModules.la
     62deps = ./libISSMJavascript.la ../../c/libISSMModules.la ../../c/libISSMCore.la ./libISSMApi.la
    6363
    6464#Optimization flags:
  • issm/trunk-jpl/src/wrappers/matlab/Makefile.am

    r26034 r26036  
    2020        ./io/WriteMatlabData.cpp
    2121
    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)
     22ALLCXXFLAGS= -fPIC -D_WRAPPERS_ $(CXXFLAGS) $(CXXOPTFLAGS)
    3023
    3124libISSMMatlab_la_SOURCES = $(io_sources)
    32 libISSMMatlab_la_CXXFLAGS = ${ALL_CXXFLAGS}
     25libISSMMatlab_la_CXXFLAGS= $(ALLCXXFLAGS)
    3326#}}}
    3427#api io{{{
     
    3932endif
    4033
    41 if !MSYS2
    4234api_sources= ./io/ApiPrintf.cpp
    4335
    4436libISSMApi_la_SOURCES = $(api_sources)
    45 libISSMApi_la_CXXFLAGS = ${ALL_CXXFLAGS}
    46 endif
     37libISSMApi_la_CXXFLAGS= $(ALLCXXFLAGS)
    4738#}}}
    4839#Wrappers {{{
     
    9182
    9283#Triangle library
    93 TRI_CXXFLAGS = -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER
     84AM_CXXFLAGS =  -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER -D_WRAPPERS_
    9485
    9586#Matlab part
    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
     87AM_LDFLAGS = -module $(MEXLINK) -shrext ${EXEEXT} --export-dynamic -rdynamic -no-undefined
    10988
    11089if !VERSION
     
    129108AM_CXXFLAGS += -D_HAVE_MATLAB_MODULES_ -fPIC
    130109
    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
     110deps += ./libISSMMatlab.la ../../c/libISSMModules.la ../../c/libISSMCore.la ./libISSMApi.la
     111
     112if WINDOWS
     113deps += $(METISLIB)
     114endif
    140115
    141116if ADOLC
     
    147122endif
    148123
    149 # #MEXLIB needs to be the last (undefined references on larsen)
    150 # deps += ${MEXLIB}
    151 
    152 # #Optimization flags:
    153 # AM_CXXFLAGS += $(CXXOPTFLAGS)
     124#MEXLIB needs to be the last (undefined references on larsen)
     125deps += ${MEXLIB}
     126
     127#Optimization flags:
     128AM_CXXFLAGS += $(CXXOPTFLAGS)
    154129#}}}
    155130# Module sources and dependencies {{{
    156131if !WINDOWS
    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
     132libISSMMatlab_la_LIBADD = ./../../c/libISSMCore.la ./../../c/libISSMModules.la $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(MKLLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB)
    166133endif
    167134
    168135if STANDALONE_LIBRARIES
    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)
     136libISSMMatlab_la_LDFLAGS = -static
     137libISSMApi_la_LDFLAGS = -static
     138deps += $(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)
     139endif
     140
     141if !WINDOWS
     142libISSMApi_la_LIBADD = $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB)
    176143endif
    177144
    178145BamgConvertMesh_matlab_la_SOURCES = ../BamgConvertMesh/BamgConvertMesh.cpp
    179146BamgConvertMesh_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    180 BamgConvertMesh_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     147BamgConvertMesh_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    181148
    182149BamgMesher_matlab_la_SOURCES = ../BamgMesher/BamgMesher.cpp
    183150BamgMesher_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    184 BamgMesher_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     151BamgMesher_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    185152
    186153BamgTriangulate_matlab_la_SOURCES = ../BamgTriangulate/BamgTriangulate.cpp
    187154BamgTriangulate_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    188 BamgTriangulate_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     155BamgTriangulate_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    189156
    190157if CHACO
    191158Chaco_matlab_la_SOURCES = ../Chaco/Chaco.cpp
    192159Chaco_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    193 Chaco_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     160Chaco_matlab_la_LIBADD = ${deps} $(CHACOLIB) $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    194161endif
    195162
    196163ContourToMesh_matlab_la_SOURCES = ../ContourToMesh/ContourToMesh.cpp
    197164ContourToMesh_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    198 ContourToMesh_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     165ContourToMesh_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    199166
    200167ContourToNodes_matlab_la_SOURCES = ../ContourToNodes/ContourToNodes.cpp
    201168ContourToNodes_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    202 ContourToNodes_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     169ContourToNodes_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    203170
    204171CoordTransform_matlab_la_SOURCES = ../CoordTransform/CoordTransform.cpp
    205172CoordTransform_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    206 CoordTransform_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     173CoordTransform_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    207174
    208175DistanceToMaskBoundary_matlab_la_SOURCES = ../DistanceToMaskBoundary/DistanceToMaskBoundary.cpp
    209176DistanceToMaskBoundary_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    210 DistanceToMaskBoundary_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     177DistanceToMaskBoundary_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    211178
    212179ElementConnectivity_matlab_la_SOURCES = ../ElementConnectivity/ElementConnectivity.cpp
    213180ElementConnectivity_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    214 ElementConnectivity_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     181ElementConnectivity_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    215182
    216183ExpToLevelSet_matlab_la_SOURCES = ../ExpToLevelSet/ExpToLevelSet.cpp
    217184ExpToLevelSet_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    218 ExpToLevelSet_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     185ExpToLevelSet_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    219186
    220187ExpSimplify_matlab_la_SOURCES = ../ExpSimplify/ExpSimplify.cpp
    221188ExpSimplify_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    222 ExpSimplify_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     189ExpSimplify_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(NEOPZLIB)
    223190
    224191InterpFromGridToMesh_matlab_la_SOURCES = ../InterpFromGridToMesh/InterpFromGridToMesh.cpp
    225192InterpFromGridToMesh_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    226 InterpFromGridToMesh_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     193InterpFromGridToMesh_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    227194
    228195InterpFromMesh2d_matlab_la_SOURCES = ../InterpFromMesh2d/InterpFromMesh2d.cpp
    229196InterpFromMesh2d_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    230 InterpFromMesh2d_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     197InterpFromMesh2d_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    231198
    232199InterpFromMeshToGrid_matlab_la_SOURCES = ../InterpFromMeshToGrid/InterpFromMeshToGrid.cpp
    233200InterpFromMeshToGrid_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    234 InterpFromMeshToGrid_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     201InterpFromMeshToGrid_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    235202
    236203InterpFromMeshToMesh2d_matlab_la_SOURCES = ../InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp
    237204InterpFromMeshToMesh2d_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    238 InterpFromMeshToMesh2d_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     205InterpFromMeshToMesh2d_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    239206
    240207InterpFromMeshToMesh3d_matlab_la_SOURCES = ../InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp
    241208InterpFromMeshToMesh3d_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    242 InterpFromMeshToMesh3d_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     209InterpFromMeshToMesh3d_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    243210
    244211IssmConfig_matlab_la_SOURCES = ../IssmConfig/IssmConfig.cpp
    245212IssmConfig_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    246 IssmConfig_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     213IssmConfig_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB)
    247214
    248215Kriging_matlab_la_SOURCES = ../Kriging/Kriging.cpp
    249216Kriging_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    250 Kriging_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     217Kriging_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJLIB)
    251218
    252219M1qn3_matlab_la_SOURCES = ../M1qn3/M1qn3.cpp
    253220M1qn3_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    254 M1qn3_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     221M1qn3_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(METISLIB) $(M1QN3LIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    255222
    256223MeshPartition_matlab_la_SOURCES = ../MeshPartition/MeshPartition.cpp
    257224MeshPartition_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    258 MeshPartition_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     225MeshPartition_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(METISLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    259226
    260227MeshProfileIntersection_matlab_la_SOURCES = ../MeshProfileIntersection/MeshProfileIntersection.cpp
    261228MeshProfileIntersection_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    262 MeshProfileIntersection_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     229MeshProfileIntersection_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    263230
    264231NodeConnectivity_matlab_la_SOURCES = ../NodeConnectivity/NodeConnectivity.cpp
    265232NodeConnectivity_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    266 NodeConnectivity_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     233NodeConnectivity_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    267234
    268235PointCloudFindNeighbors_matlab_la_SOURCES = ../PointCloudFindNeighbors/PointCloudFindNeighbors.cpp
    269236PointCloudFindNeighbors_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    270 PointCloudFindNeighbors_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     237PointCloudFindNeighbors_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    271238
    272239PropagateFlagsFromConnectivity_matlab_la_SOURCES = ../PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp
    273240PropagateFlagsFromConnectivity_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    274 PropagateFlagsFromConnectivity_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     241PropagateFlagsFromConnectivity_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    275242
    276243Scotch_matlab_la_SOURCES = ../Scotch/Scotch.cpp
    277244Scotch_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    278 Scotch_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     245Scotch_matlab_la_LIBADD = ${deps}  $(PETSCLIB) $(HDF5LIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(BLASLAPACKLIB)
    279246
    280247ShpRead_matlab_la_SOURCES = ../ShpRead/ShpRead.cpp
    281248ShpRead_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    282 ShpRead_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
     249ShpRead_matlab_la_LIBADD = ${deps} $(SHAPELIBLIB) $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    283250
    284251Triangle_matlab_la_SOURCES = ../Triangle/Triangle.cpp
    285252Triangle_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    286 Triangle_matlab_la_LIBADD = ${deps} $(TRIANGLELIB) ${AM_LIBADD}
     253Triangle_matlab_la_LIBADD = ${deps} $(TRIANGLELIB) $(PETSCLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    287254
    288255ProcessRifts_matlab_la_SOURCES = ../ProcessRifts/ProcessRifts.cpp
    289256ProcessRifts_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    290 ProcessRifts_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
    291 #}}}
     257ProcessRifts_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     258#}}}
  • issm/trunk-jpl/src/wrappers/matlab/include/wrapper_macros.h

    r26034 r26036  
    3434/*}}}*/
    3535/* WRAPPER {{{*/
    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)` */
     36#define WRAPPER(modulename,...) void mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
    3737/*}}}*/
    3838/* CHECKARGUMENTS {{{*/
  • issm/trunk-jpl/src/wrappers/python/Makefile.am

    r26034 r26036  
    1 AM_CPPFLAGS = @DAKOTAINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @PARMETISINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @PYTHONINCL@ @PYTHON_NUMPYINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @MEDIPACKINCL@ @CODIPACKINCL@
     1AM_CPPFLAGS = @DAKOTAINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @PYTHONINCL@ @PYTHON_NUMPYINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @MEDIPACKINCL@ @CODIPACKINCL@
    22AUTOMAKE_OPTIONS = subdir-objects
    33
     
    7070#       will be linked to, whether we like it or not, if no static version is
    7171#       available.
    72 # - On macOC, static linking of binaries is not supported.
     72# - On macOS, static linking of binaries is not supported.
    7373#
    7474if STANDALONE_MODULES
     
    8787endif
    8888
    89 deps += ./libISSMPython.la ./libISSMApi.la ../../c/libISSMCore.la ../../c/libISSMModules.la
     89deps += ./libISSMPython.la ../../c/libISSMModules.la ../../c/libISSMCore.la ./libISSMApi.la
    9090
    9191if ADOLC
     
    106106libISSMPython_la_LDFLAGS = -static
    107107libISSMApi_la_LDFLAGS = -static
    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)
     108deps += $(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)
    109109endif
    110110
Note: See TracChangeset for help on using the changeset viewer.