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

CHG: Reverting temporarily

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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
Note: See TracChangeset for help on using the changeset viewer.