Changeset 26034 for issm/trunk-jpl/m4/issm_options.m4
- Timestamp:
- 02/26/21 10:56:08 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/m4/issm_options.m4 ¶
r25929 r26034 31 31 PACKAGE_DATE="unknown" 32 32 fi 33 AC_DEFINE_UNQUOTED( PACKAGE_BUILD_DATE, "$PACKAGE_DATE", [build date])33 AC_DEFINE_UNQUOTED([PACKAGE_BUILD_DATE], "${PACKAGE_DATE}", [build date]) 34 34 AC_MSG_RESULT([${PACKAGE_DATE}]) 35 35 … … 46 46 fi 47 47 fi 48 AC_DEFINE_UNQUOTED( USER_NAME, "$user_name", [user name])48 AC_DEFINE_UNQUOTED([USER_NAME], "${user_name}", [user name]) 49 49 AC_MSG_RESULT([${user_name}]) 50 50 … … 55 55 linux-gnu* | lignux* ) host_os=linux ;; 56 56 esac 57 AC_DEFINE_UNQUOTED( HOST_OS, "$host_os", [host full OS name and version])57 AC_DEFINE_UNQUOTED([HOST_OS], "${host_os}", [host full OS name and version]) 58 58 AC_MSG_RESULT([${host_os}]) 59 59 60 60 AC_MSG_CHECKING([host cpu]) 61 AC_DEFINE_UNQUOTED( HOST_CPU, "$host_cpu", [host CPU])61 AC_DEFINE_UNQUOTED([HOST_CPU], "${host_cpu}", [host CPU]) 62 62 AC_MSG_RESULT([${host_cpu}]) 63 63 64 64 AC_MSG_CHECKING([vendor]) 65 AC_DEFINE_UNQUOTED( HOST_VENDOR, "$host_vendor", [host vendor])65 AC_DEFINE_UNQUOTED([HOST_VENDOR], "${host_vendor}", [host vendor]) 66 66 AC_MSG_RESULT([${host_vendor}]) 67 67 … … 73 73 linux-gnu* | lignux* ) host_os_name=linux ;; 74 74 esac 75 AC_DEFINE_UNQUOTED( HOST_OS_NAME, "$host_os_name", [host OS name])75 AC_DEFINE_UNQUOTED([HOST_OS_NAME], "${host_os_name}", [host OS name]) 76 76 AC_MSG_RESULT([${host_os_name}]) 77 77 … … 82 82 host_os_version=`(uname -r) 2>/dev/null` || host_os_version=unknown 83 83 fi 84 AC_DEFINE_UNQUOTED( HOST_OS_VERSION, "$host_os_version", [host OS version])84 AC_DEFINE_UNQUOTED([HOST_OS_VERSION], "${host_os_version}", [host OS version]) 85 85 AC_MSG_RESULT([${host_os_version}]) 86 86 … … 95 95 i?86 ) host_arch=i386 ;; # all x86 should show up as i386 96 96 esac 97 AC_DEFINE_UNQUOTED( HOST_ARCH, "$host_arch", [host archictecture])97 AC_DEFINE_UNQUOTED([HOST_ARCH], "${host_arch}", [host archictecture]) 98 98 AC_MSG_RESULT([${host_arch}]) 99 99 … … 219 219 AC_MSG_RESULT([no]) 220 220 fi 221 AC_DEFINE_UNQUOTED([_SYSTEM_HAS_FMEMOPEN_], $ SYSTEM_FMEMOPEN, [does system copy of libc have fmemopen])221 AC_DEFINE_UNQUOTED([_SYSTEM_HAS_FMEMOPEN_], ${SYSTEM_FMEMOPEN}, [does system copy of libc have fmemopen]) 222 222 AM_CONDITIONAL([SYSTEM_HAS_FMEMOPEN], [test "${SYSTEM_FMEMOPEN}" == "1"]) 223 223 224 IS_MSYS2=no 224 225 IS_WINDOWS=no 225 226 AC_MSG_CHECKING([for vendor compilers]) … … 318 319 export CFLAGS="-g -O3 -ipo -axAVX -ipo -no-inline-min-size -inline-max-size=345 -no-inline-max-total-size -no-inline-max-per-routine -no-inline-max-per-compile -restrict" 319 320 AC_DEFINE([_HAVE_RESTRICT_], [1], [with restrict buffers]) 321 elif test "${VENDOR}" == "win-msys2"; then 322 export LDFLAGS="${LDFLAGS} -no-undefined" 323 export OSLIBS="-Wl,-L/mingw64/lib/gcc/x86_64-w64-mingw32/10.2.0 -Wl,-L/mingw64/x86_64-w64-mingw32/lib -Wl,-lstdc++ -Wl,-lgfortran -Wl,-lmingw32 -Wl,-lgcc_s -Wl,-lmoldname -Wl,-lmingwex -Wl,-lmsvcrt -Wl,-lm -Wl,-lpthread -Wl,-lshell32 -Wl,-luser32 -Wl,-lgdi32 -Wl,-luser32 -Wl,-ladvapi32 -Wl,-lkernel32 -Wl,-lquadmath -Wl,-lstdc++ -Wl,-lgcc" 324 IS_MSYS2=yes 320 325 else 321 326 AC_MSG_ERROR([unknown compiler vendor!]) 322 327 fi 323 328 fi 329 dnl Set default standard for C++ 330 if test "${CXXFLAGS}" == ""; then 331 export CXXFLAGS="-std=C++11" 332 fi 324 333 AC_SUBST([OSLIBS]) 325 334 AC_MSG_RESULT([done]) 326 335 327 AC_MSG_CHECKING([if this is a Windowsbuild])336 AC_MSG_CHECKING([if this is a MSVC (Windows) build]) 328 337 AM_CONDITIONAL([WINDOWS], [test "x${IS_WINDOWS}" == "xyes"]) 329 338 AC_MSG_RESULT([${IS_WINDOWS}]) 339 340 AC_MSG_CHECKING([if this is a MSYS2 (Windows) build]) 341 AM_CONDITIONAL([MSYS2], [test "x${IS_MSYS2}" == "xyes"]) 342 AC_MSG_RESULT([${IS_MSYS2}]) 343 AC_DEFINE([_IS_MSYS2_], [1], [is a MSYS2 (Windows) build]) 330 344 dnl }}} 331 345 dnl MATLAB{{{ 332 346 333 347 dnl See if MATLAB has been provided 348 AC_MSG_CHECKING([for MATLAB]) 334 349 AC_ARG_WITH( 335 350 [matlab-dir], dnl feature … … 338 353 [MATLAB_ROOT="no"] dnl action if not given 339 354 ) 340 AC_MSG_CHECKING([for MATLAB])341 355 if test "x${MATLAB_ROOT}" == "xno"; then 342 356 HAVE_MATLAB=no … … 357 371 AC_DEFINE([_HAVE_MATLAB_], [1], [with MATLAB in ISSM src]) 358 372 359 dnl Set MEX LIB, MEXLINK, and MEXEXT373 dnl Set MEX* variable 360 374 AC_MSG_CHECKING([MATLAB's mex compilation flags]) 361 375 … … 367 381 if test "${VENDOR}" == "intel-win7-32"; then 368 382 MEXLIB="-Wl,libmx.lib -Wl,libmex.lib -Wl,libmat.lib ${OSLIBS} -Wl,libf2cblas.lib -Wl,libf2clapack.lib" 369 MEXLINK ="-Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win32/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"383 MEXLINKFLAGS="-Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win32/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL" 370 384 MEXEXT=`${MATLAB_ROOT}/bin/mexext.bat` 371 385 MEXEXT=".${MEXEXT}" 372 386 elif test "${VENDOR}" == "intel-win7-64"; then 373 387 MEXLIB="-Wl,libmx.lib -Wl,libmex.lib -Wl,libmat.lib ${OSLIBS} -Wl,libf2cblas.lib -Wl,libf2clapack.lib" 374 MEXLINK ="-Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win64/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"388 MEXLINKFLAGS="-Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win64/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL" 375 389 MEXEXT=".mexw64" 376 390 elif test "${VENDOR}" == "MSVC-Win64" || test "${VENDOR}" == "MSVC-Win64-par"; then 377 391 MEXLIB="-Wl,libmx.lib -Wl,libmex.lib -Wl,libmat.lib ${OSLIBS} -Wl,libf2cblas.lib -Wl,libf2clapack.lib" 378 MEXLINK ="-Wl,/link -Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win64/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"392 MEXLINKFLAGS="-Wl,/link -Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win64/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL" 379 393 MATLABINCL="-I`cygpath -m ${MATLAB_ROOT}/extern/include`" 380 394 MEXEXT=".mexw64" 381 395 fi 382 396 ;; 397 *mingw*) 398 if test "${IS_MSYS2}" == "yes"; then 399 dnl Value to set MEXEXT to can be found on Windows by running $MATLAB_ROOT/bin/mexext.bat 400 MEXEXT=".mexw64" 401 MATLABINCL="-I${MATLAB_ROOT}/extern/include" 402 MEXOPTFLAGS="-O2 -fwrapv -DNDEBUG -g" 403 MEXCFLAGS="-fexceptions -fno-omit-frame-pointer -m64 -DMATLAB_MEX_FILE" 404 MEXCXXFLAGS="-fexceptions -fno-omit-frame-pointer -std=c++11 -m64 -DMATLAB_MEX_FILE" 405 MEXLINKFLAGS="-m64 -Wl,--no-undefined -shared -static -Wl,${MATLAB_ROOT}/extern/lib/win64/mingw64/mexFunction.def" 406 MEXLIB_DIR="${MATLAB_ROOT}/extern/lib/win64/mingw64" 407 MEXLIB="-L${MEXLIB_DIR} -lmx -lmex -lmat -lm -lmwlapack -lmwblas" 408 fi 409 ;; 410 *msys*) 411 dnl Value to set MEXEXT to can be found on Windows by running $MATLAB_ROOT/bin/mexext.bat 412 MEXEXT=".mexw64" 413 MATLABINCL="-I${MATLAB_ROOT}/extern/include" 414 MEXOPTFLAGS="-O2 -fwrapv -DNDEBUG -g" 415 MEXCFLAGS="-fexceptions -fno-omit-frame-pointer -m64 -DMATLAB_MEX_FILE" 416 MEXCXXFLAGS="-fexceptions -fno-omit-frame-pointer -std=c++11 -m64 -DMATLAB_MEX_FILE" 417 MEXLINKFLAGS="-m64 -Wl,--no-undefined -shared -static -Wl,${MATLAB_ROOT}/extern/lib/win64/mingw64/mexFunction.def" 418 MEXLIB_DIR="${MATLAB_ROOT}/extern/lib/win64/mingw64" 419 MEXLIB="-L${MEXLIB_DIR} -lmx -lmex -lmat -lm -lmwlapack -lmwblas" 420 ;; 383 421 *) 422 MEXEXT=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep LDEXTENSION | sed -e "s/ LDEXTENSION = //g") 384 423 MATLABINCL="-I${MATLAB_ROOT}/extern/include" 385 MEXLINK =$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep LDFLAGS | sed -e "s/ LDFLAGS = //g")424 MEXLINKFLAGS=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep LDFLAGS | sed -e "s/ LDFLAGS = //g") 386 425 MEXLIB=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep CXXLIBS | sed -e "s/ CXXLIBS = //g") 387 MEXEXT=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep LDEXTENSION | sed -e "s/ LDEXTENSION = //g")388 dnl version 2014 and up389 426 if test -z "${MEXEXT}"; then 390 427 echo "#include <mex.h>" > conftest.cpp … … 392 429 ${MATLAB_ROOT}/bin/mex -v -lmex conftest.cpp > conftest.tmp 2>&1 393 430 rm -f conftest.cpp 394 MEXLINK =$(cat conftest.tmp | grep LDFLAGS | sed -e "s/LDFLAGS ://g")431 MEXLINKFLAGS=$(cat conftest.tmp | grep LDFLAGS | sed -e "s/LDFLAGS ://g") 395 432 MEXLIB=$(cat conftest.tmp | grep LINKLIBS | sed -e "s/LINKLIBS ://g") 396 433 MEXEXT=$(cat conftest.tmp | grep LDEXT | sed -e "s/LDEXT ://g" | awk '{print $[1]}') … … 402 439 403 440 dnl Make sure mexFunction.map is not in MEXLIB to avoid problems with global variables 404 dnl MEXLINK =$(echo ${MEXLINK} | sed -e "s/,-expo.*mexFunction\\.map\"//g" | sed -e "s/-[[^ ]]*mexFunction\\.map//g")405 MEXLINK ="" dnl We actually don't need MEXLINK????441 dnl MEXLINKFLAGS=$(echo ${MEXLINKFLAGS} | sed -e "s/,-expo.*mexFunction\\.map\"//g" | sed -e "s/-[[^ ]]*mexFunction\\.map//g") 442 MEXLINKFLAGS="" dnl We actually don't need MEXLINK???? 406 443 ;; 407 444 esac … … 411 448 fi 412 449 450 AC_SUBST([MEXEXT]) 451 AC_SUBST([MEXOPTFLAGS]) 452 AC_SUBST([MEXCFLAGS]) 453 AC_SUBST([MEXCXXFLAGS]) 413 454 AC_SUBST([MATLABINCL]) 414 MATLABWRAPPEREXT=${MEXEXT} 415 AC_SUBST([MATLABWRAPPEREXT]) 455 AC_SUBST([MEXLINKFLAGS]) 416 456 AC_SUBST([MEXLIB]) 417 AC_SUBST([MEXLINK])418 457 fi 419 458 dnl }}} 420 459 dnl JavaScript{{{ 460 AC_MSG_CHECKING([for JavaScript]) 421 461 AC_ARG_WITH( 422 462 [javascript], … … 425 465 [JAVASCRIPT="no"] 426 466 ) 427 AC_MSG_CHECKING([for JavaScript])428 467 if test "x${JAVASCRIPT}" == "xno"; then 429 468 HAVE_JAVASCRIPT=no … … 438 477 dnl }}} 439 478 dnl Triangle {{{ 479 AC_MSG_CHECKING([for triangle]) 440 480 AC_ARG_WITH( 441 481 [triangle-dir], … … 444 484 [TRIANGLE_ROOT="no"] 445 485 ) 446 AC_MSG_CHECKING([for triangle])447 486 if test "x${TRIANGLE_ROOT}" == "xno"; then 448 487 HAVE_TRIANGLE=no … … 483 522 fi 484 523 ;; 524 *mingw*) 525 if test "x${HAVE_JAVASCRIPT}" == "xyes"; then 526 dnl Link to the object file, not the library 527 TRIANGLELIB=${TRIANGLE_ROOT}/share/triangle.o 528 else 529 TRIANGLELIB="-L${TRIANGLE_ROOT}/lib -ltriangle" 530 fi 531 ;; 532 *msys*) 533 if test "x${HAVE_JAVASCRIPT}" == "xyes"; then 534 dnl Link to the object file, not the library 535 TRIANGLELIB=${TRIANGLE_ROOT}/share/triangle.o 536 else 537 TRIANGLELIB="-L${TRIANGLE_ROOT}/lib -ltriangle" 538 fi 539 ;; 485 540 esac 486 541 AC_DEFINE([_HAVE_TRIANGLE_], [1], [with Triangle in ISSM src]) … … 490 545 dnl }}} 491 546 dnl Boost{{{ 547 AC_MSG_CHECKING([for Boost]) 492 548 AC_ARG_WITH( 493 549 [boost-dir], … … 496 552 [BOOST_ROOT="no"] 497 553 ) 498 AC_MSG_CHECKING([for Boost])499 554 if test "x${BOOST_ROOT}" == "xno"; then 500 555 HAVE_BOOST=no … … 523 578 dnl }}} 524 579 dnl Dakota{{{ 580 AC_MSG_CHECKING([for Dakota]) 525 581 AC_ARG_WITH( 526 582 [dakota-dir], … … 529 585 [DAKOTA_ROOT="no"] 530 586 ) 531 AC_MSG_CHECKING([for Dakota])532 587 if test "x${DAKOTA_ROOT}" == "xno"; then 533 588 HAVE_DAKOTA=no … … 547 602 AC_MSG_CHECKING(for Dakota version) 548 603 dnl TODO: Check if this method applies to all other versions of 549 dnl Dakota (it should as long as the Dakota binaries have been 604 dnl Dakota (it should as long as the Dakota binaries have been 550 605 dnl compiled). If so, we can remove the other methods of 551 606 dnl getting the version. … … 564 619 fi 565 620 AC_MSG_RESULT([${DAKOTA_VERSION}]) 566 AC_DEFINE_UNQUOTED( _DAKOTA_VERSION_, "${DAKOTA_VERSION}", [Dakota version number])621 AC_DEFINE_UNQUOTED([_DAKOTA_VERSION_], ${DAKOTA_VERSION}, [Dakota version number]) 567 622 568 623 DAKOTAFLAGS="" … … 679 734 AC_MSG_CHECKING(for Dakota major version) 680 735 AC_MSG_RESULT(${DAKOTA_MAJOR}) 681 AC_DEFINE_UNQUOTED( _DAKOTA_MAJOR_, $DAKOTA_MAJOR, [Dakota major version number])736 AC_DEFINE_UNQUOTED([_DAKOTA_MAJOR_], ${DAKOTA_MAJOR}, [Dakota major version number]) 682 737 AC_MSG_CHECKING(for Dakota minor version) 683 738 AC_MSG_RESULT(${DAKOTA_MINOR}) 684 AC_DEFINE_UNQUOTED( _DAKOTA_MINOR_, $DAKOTA_MINOR, [Dakota minor version number])739 AC_DEFINE_UNQUOTED([_DAKOTA_MINOR_], ${DAKOTA_MINOR}, [Dakota minor version number]) 685 740 AC_MSG_CHECKING(for Dakota build version) 686 741 AC_MSG_RESULT(${DAKOTA_BUILD}) 687 AC_DEFINE_UNQUOTED( _DAKOTA_BUILD_, $DAKOTA_BUILD, [Dakota build version number])742 AC_DEFINE_UNQUOTED([_DAKOTA_BUILD_], ${DAKOTA_BUILD}, [Dakota build version number]) 688 743 689 744 AC_DEFINE([_HAVE_DAKOTA_], [1], [with Dakota in ISSM src]) … … 695 750 dnl }}} 696 751 dnl Python{{{ 752 AC_MSG_CHECKING([for Python]) 697 753 AC_ARG_WITH( 698 754 [python-dir], … … 708 764 [PYTHON_VERSION="no"] 709 765 ) 710 AC_MSG_CHECKING([for Python])711 766 if test "x${PYTHON_ROOT}" == "xno"; then 712 767 HAVE_PYTHON=no … … 735 790 dnl Determine major version 736 791 PYTHON_MAJOR=${PYTHON_VERSION%.*} 737 AC_DEFINE_UNQUOTED( _PYTHON_MAJOR_, $PYTHON_MAJOR, [Python version major])792 AC_DEFINE_UNQUOTED([_PYTHON_MAJOR_], ${PYTHON_MAJOR}, [Python version major]) 738 793 if test "x${PYTHON_MAJOR}" == "x3"; then 739 794 HAVE_PYTHON3="yes" … … 751 806 PYTHONINCL=-I${PYTHON_ROOT}/include/python${PYTHON_VERSION}m 752 807 else 753 AC_MSG_ERROR([Python.h not found , locate this file and contact ISSM developers]);808 AC_MSG_ERROR([Python.h not found! Please locate this file and contact ISSM developers via forum or email.]); 754 809 fi 755 810 AC_MSG_RESULT([found]) … … 764 819 PYTHONLINK="-shared" 765 820 ;; 821 *darwin*) 822 PYTHONLINK="-dynamiclib" 823 ;; 766 824 *linux*) 767 825 PYTHONLINK="-shared" 768 826 ;; 769 *darwin*) 770 PYTHONLINK="-dynamiclib" 827 *mingw*) 828 PYTHONLINK="-shared" 829 ;; 830 *msys*) 831 PYTHONLINK="-shared" 771 832 ;; 772 833 esac … … 781 842 dnl }}} 782 843 dnl NumPy{{{ 783 dnl TODO:784 dnl - Replace references to python-numpy with numpy (and similar terms)785 dnl project-wide786 dnl787 AC_ARG_WITH(788 [python-numpy-dir],789 AS_HELP_STRING([--with-python-numpy-dir=DIR], [python-numpy root directory]),790 [PYTHON_NUMPY_ROOT=${withval}],791 [PYTHON_NUMPY_ROOT="no"]792 )793 794 844 dnl NOTE: You can find NumPy by running, 795 845 dnl … … 797 847 dnl >>> numpy.__file__ 798 848 dnl 799 849 dnl TODO: 850 dnl - Replace references to python-numpy with numpy (and similar terms) 851 dnl project-wide 852 dnl 800 853 AC_MSG_CHECKING(for python-numpy) 854 AC_ARG_WITH( 855 [python-numpy-dir], 856 AS_HELP_STRING([--with-python-numpy-dir=DIR], [python-numpy root directory]), 857 [PYTHON_NUMPY_ROOT=${withval}], 858 [PYTHON_NUMPY_ROOT="no"] 859 ) 801 860 if test "x${PYTHON_NUMPY_ROOT}" == "xno"; then 802 861 HAVE_PYTHON_NUMPY=no … … 817 876 dnl }}} 818 877 dnl Chaco{{{ 878 AC_MSG_CHECKING([for Chaco]) 819 879 AC_ARG_WITH( 820 880 [chaco-dir], … … 823 883 [CHACO_ROOT="no"] 824 884 ) 825 AC_MSG_CHECKING([for Chaco])826 885 if test "x${CHACO_ROOT}" == "xno"; then 827 886 HAVE_CHACO=no … … 845 904 dnl }}} 846 905 dnl ESMF{{{ 906 AC_MSG_CHECKING([for ESMF]) 847 907 AC_ARG_WITH( 848 908 [esmf-dir], … … 851 911 [ESMF_ROOT="no"] 852 912 ) 853 AC_MSG_CHECKING([for ESMF])854 913 if test "x${ESMF_ROOT}" == "xno"; then 855 914 HAVE_ESMF=no … … 873 932 dnl }}} 874 933 dnl CoDiPack{{{ 934 AC_MSG_CHECKING([for CoDiPack]) 875 935 AC_ARG_WITH( 876 936 [codipack-dir], … … 879 939 [CODIPACK_ROOT="no"] 880 940 ) 881 AC_MSG_CHECKING([for CoDiPack])882 941 if test "x${CODIPACK_ROOT}" == "xno"; then 883 942 HAVE_CODIPACK=no … … 901 960 dnl }}} 902 961 dnl Tape Allocation {{{ 962 AC_MSG_CHECKING(for tape allocation) 903 963 AC_ARG_ENABLE( 904 964 [tape-alloc], dnl feature … … 907 967 [enable_tape_alloc=no] 908 968 ) 909 AC_MSG_CHECKING(for tape allocation)910 969 if test "x${enable_tape_alloc}" == "xyes"; then 911 970 AC_DEFINE([_AD_TAPE_ALLOC_], [1], [enable a priori tape allocation for AD]) … … 914 973 dnl }}} 915 974 dnl ADOL-C {{{ 975 AC_MSG_CHECKING([for ADOL-C]) 916 976 AC_ARG_WITH( 917 977 [adolc-dir], … … 920 980 [ADOLC_ROOT="no"] 921 981 ) 922 AC_MSG_CHECKING([for ADOL-C])923 982 if test "x${ADOLC_ROOT}" == "xno"; then 924 983 HAVE_ADOLC=no … … 945 1004 dnl }}} 946 1005 dnl ADOL-C version{{{ 1006 AC_MSG_CHECKING(for ADOL-C version) 947 1007 AC_ARG_WITH( 948 1008 [adolc-version], … … 951 1011 [ADOLC_VERSION=2] 952 1012 ) 953 AC_MSG_CHECKING(for ADOL-C version) 954 955 AC_DEFINE_UNQUOTED(_ADOLC_VERSION_, $ADOLC_VERSION, [ADOL-C version]) 1013 AC_DEFINE_UNQUOTED([_ADOLC_VERSION_], ${ADOLC_VERSION}, [ADOL-C version]) 956 1014 AC_MSG_RESULT(${ADOLC_VERSION}) 957 1015 dnl }}} 958 1016 dnl ADIC2 {{{ 1017 AC_MSG_CHECKING([for ADIC2]) 959 1018 AC_ARG_WITH( 960 1019 [adic2-dir], … … 963 1022 [ADIC2_ROOT="no"] 964 1023 ) 965 AC_MSG_CHECKING([for ADIC2])966 1024 if test "x${ADIC2_ROOT}" == "xno"; then 967 1025 HAVE_ADIC2=no … … 985 1043 dnl }}} 986 1044 dnl ATLAS {{{ 1045 AC_MSG_CHECKING(for ATLAS and CBLAS libraries) 987 1046 AC_ARG_WITH( 988 1047 [atlas-dir], … … 991 1050 [ATLAS_ROOT="no"] 992 1051 ) 993 AC_MSG_CHECKING(for ATLAS and CBLAS libraries)994 1052 if test "x${ATLAS_ROOT}" == "xno"; then 995 1053 HAVE_ATLAS=no … … 1008 1066 ATLASLIB="-L`cygpath -m ${ATLAS_ROOT}` -Wl,libatlas.lib -Wl,libcblas.lib" 1009 1067 ;; 1068 *darwin*) 1069 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm" 1070 ;; 1010 1071 *linux*) 1011 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm " 1012 ;; 1013 *darwin*) 1014 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm " 1072 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm" 1073 ;; 1074 *mingw*) 1075 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm" 1076 ;; 1077 *msys*) 1078 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm" 1015 1079 ;; 1016 1080 esac … … 1020 1084 dnl }}} 1021 1085 dnl GSL{{{ 1086 AC_MSG_CHECKING([for GSL]) 1022 1087 AC_ARG_WITH( 1023 1088 [gsl-dir], … … 1026 1091 [GSL_ROOT="no"] 1027 1092 ) 1028 AC_MSG_CHECKING([for GSL])1029 1093 if test "x${GSL_ROOT}" == "xno"; then 1030 1094 HAVE_GSL=no … … 1052 1116 dnl }}} 1053 1117 dnl AMPI (ADOL-C){{{ 1118 AC_MSG_CHECKING([for AMPI]) 1054 1119 AC_ARG_WITH( 1055 1120 [ampi-dir], … … 1058 1123 [AMPI_ROOT="no"] 1059 1124 ) 1060 AC_MSG_CHECKING([for AMPI])1061 1125 if test "x${AMPI_ROOT}" == "xno"; then 1062 1126 HAVE_AMPI=no … … 1088 1152 dnl }}} 1089 1153 dnl Adjoint MPI (CoDiPack){{{ 1154 AC_MSG_CHECKING([for Adjoint MPI]) 1090 1155 AC_ARG_WITH( 1091 1156 [adjointmpi-dir], … … 1094 1159 [ADJOINTMPI_ROOT="no"] 1095 1160 ) 1096 AC_MSG_CHECKING([for Adjoint MPI])1097 1161 if test "x${ADJOINTMPI_ROOT}" == "xno"; then 1098 1162 HAVE_ADJOINTMPI=no … … 1122 1186 dnl }}} 1123 1187 dnl MeDiPack (CoDiPack, ADOL-C dev){{{ 1188 AC_MSG_CHECKING([for MeDiPack]) 1124 1189 AC_ARG_WITH( 1125 1190 [medipack-dir], … … 1128 1193 [MEDIPACK_ROOT="no"] 1129 1194 ) 1130 AC_MSG_CHECKING([for MeDiPack])1131 1195 if test "x${MEDIPACK_ROOT}" == "xno"; then 1132 1196 HAVE_MEDIPACK=no … … 1154 1218 dnl }}} 1155 1219 dnl HDF5 {{{ 1220 AC_MSG_CHECKING(for HDF5 libraries) 1156 1221 AC_ARG_WITH( 1157 1222 [hdf5-dir], … … 1160 1225 [HDF5_ROOT="no"] 1161 1226 ) 1162 AC_MSG_CHECKING(for HDF5 libraries)1163 1227 if test "x${HDF5_ROOT}" == "xno"; then 1164 1228 HAVE_HDF5=no … … 1181 1245 HDF5LIB="-L`cygpath -m ${HDF5_ROOT}` -Wl,libhdf5.lib -Wl,libhdf5_hl.lib" 1182 1246 ;; 1247 *darwin*) 1248 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl" 1249 ;; 1183 1250 *linux*) 1184 1251 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl" 1185 1252 ;; 1186 *darwin*) 1253 *mingw*) 1254 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl" 1255 ;; 1256 *msys*) 1187 1257 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl" 1188 1258 ;; … … 1193 1263 dnl }}} 1194 1264 dnl PETSc{{{ 1265 AC_MSG_CHECKING([for PETSc]) 1195 1266 AC_ARG_WITH( 1196 1267 [petsc-dir], … … 1199 1270 [PETSC_ROOT="no"] 1200 1271 ) 1201 AC_MSG_CHECKING([for PETSc])1202 1272 if test "x${PETSC_ROOT}" == "xno"; then 1203 1273 HAVE_PETSC=no … … 1220 1290 PETSC_MAJOR=`cat ${PETSC_ROOT}/include/petscversion.h | grep "#define PETSC_VERSION_MAJOR" | sed 's/#define PETSC_VERSION_MAJOR//' | sed 's/ //g'` 1221 1291 PETSC_MINOR=`cat ${PETSC_ROOT}/include/petscversion.h | grep "#define PETSC_VERSION_MINOR" | sed 's/#define PETSC_VERSION_MINOR//' | sed 's/ //g'` 1222 AC_DEFINE_UNQUOTED([_PETSC_MAJOR_], [$PETSC_MAJOR], [PETSc version major])1223 AC_DEFINE_UNQUOTED([_PETSC_MINOR_], [$PETSC_MINOR], [PETSc version minor])1292 AC_DEFINE_UNQUOTED([_PETSC_MAJOR_], ${PETSC_MAJOR}, [PETSc version major]) 1293 AC_DEFINE_UNQUOTED([_PETSC_MINOR_], ${PETSC_MINOR}, [PETSc version minor]) 1224 1294 AC_MSG_RESULT([${PETSC_MAJOR}.${PETSC_MINOR}]) 1225 1295 … … 1262 1332 PETSCLIB="/link -Wl,/LIBPATH:`cygpath -m ${PETSC_ROOT}/lib` -Wl,libpetsc.lib" 1263 1333 PETSCINCL="/I`cygpath -m ${PETSC_ROOT}/include`" 1334 fi 1335 ;; 1336 *darwin*) 1337 if test ${PETSC_MAJOR} -lt 3; then 1338 PETSCLIB="-L${PETSC_ROOT}/lib -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetscsnes -lpetscts -lpetsc" 1339 else 1340 PETSCLIB="-L${PETSC_ROOT}/lib -lpetsc" 1341 if test ${PETSC_MAJOR} -gt 3 || test ${PETSC_MINOR} -ge 3; then 1342 PETSCLIB+=" -lmetis" 1343 fi 1264 1344 fi 1265 1345 ;; … … 1280 1360 fi 1281 1361 ;; 1282 *darwin*) 1283 if test ${PETSC_MAJOR} -lt 3; then 1284 PETSCLIB="-L${PETSC_ROOT}/lib -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetscsnes -lpetscts -lpetsc" 1285 else 1286 PETSCLIB="-L${PETSC_ROOT}/lib -lpetsc" 1287 if test ${PETSC_MAJOR} -gt 3 || test ${PETSC_MINOR} -ge 3; then 1288 PETSCLIB+=" -lmetis" 1289 fi 1290 fi 1362 *mingw*) 1363 PETSCLIB="-Wl,${PETSC_ROOT}/lib/libpetsc.a" 1364 ;; 1365 *msys*) 1366 PETSCLIB="${PETSC_ROOT}/lib -lpetsc" 1291 1367 ;; 1292 1368 esac … … 1299 1375 dnl MPI{{{ 1300 1376 AC_MSG_CHECKING(for MPI) 1301 1302 1377 AC_ARG_WITH( 1303 1378 [mpi-include], … … 1306 1381 [MPI_INCLUDE=""] 1307 1382 ) 1308 1309 1383 AC_ARG_WITH( 1310 1384 [mpi-libdir], … … 1313 1387 [MPI_LIBDIR=""] 1314 1388 ) 1315 1316 1389 AC_ARG_WITH( 1317 1390 [mpi-libflags], … … 1320 1393 [MPI_LIBFLAGS=""] 1321 1394 ) 1322 1323 1395 if test -z "${MPI_INCLUDE}"; then 1324 1396 HAVE_MPI=no … … 1363 1435 dnl }}} 1364 1436 dnl SCOTCH{{{ 1437 AC_MSG_CHECKING([for SCOTCH]) 1365 1438 AC_ARG_WITH( 1366 1439 [scotch-dir], … … 1369 1442 [SCOTCH_ROOT="no"] 1370 1443 ) 1371 AC_MSG_CHECKING([for SCOTCH])1372 1444 if test "x${SCOTCH_ROOT}" == "xno"; then 1373 1445 HAVE_SCOTCH=no … … 1402 1474 dnl }}} 1403 1475 dnl METIS{{{ 1404 1405 dnl NOTE: We know $VENDOR cannot be empty at this point, so no need to 1406 dnl check again in the following conditionals 1407 dnl 1408 if test "x${HAVE_PETSC}" == "xyes" && test "x${PETSC_MAJOR}" == "x3" && test ${PETSC_MINOR} -ge 3 && test "${VENDOR}" != "MSVC-Win64" && test "${VENDOR}" != "MSVC-Win64-par"; then 1409 dnl In PETSc >=3.3, METIS is provided 1410 HAVE_METIS="yes" 1411 AC_DEFINE([_METIS_VERSION_], [5], [METIS version number]) 1476 AC_MSG_CHECKING([for METIS]) 1477 AC_ARG_WITH( 1478 [metis-dir], 1479 AS_HELP_STRING([--with-metis-dir=DIR], [METIS root directory, necessary for serial build]), 1480 [METIS_ROOT=${withval}], 1481 [METIS_ROOT="no"] 1482 ) 1483 HAVE_METIS=no 1484 if test "x${METIS_ROOT}" == "xno"; then 1485 dnl Check if METIS was installed via PETSc 1486 if test -f ${PETSC_ROOT}/install/include/metis.h; then 1487 HAVE_METIS=yes 1488 METIS_ROOT="${PETSC_ROOT}" 1489 fi 1490 else 1491 if ! test -d "${METIS_ROOT}"; then 1492 AC_MSG_ERROR([METIS directory provided (${METIS_ROOT}) does not exist!]); 1493 fi 1494 HAVE_METIS=yes 1495 fi 1496 if test "${HAVE_METIS}" = "yes"; then 1497 METIS_VERSION=$(grep "#define METIS_VER_MAJOR" ${METIS_ROOT}/include/metis.h | sed 's|.*METIS_VER_MAJOR[[:space:]]*||') 1498 dnl METIS libraries and header files 1499 if test "x${METIS_VERSION}" == "x4"; then 1500 METISINCL="-I${METIS_ROOT}/Lib" 1501 case "${host_os}" in 1502 *cygwin*) 1503 METISINCL="/I`cygpath -m ${METIS_ROOT}/Lib`" 1504 METISLIB="-Wl,/link -Wl,/LIBPATH:`cygpath -m ${METIS_ROOT}` -Wl,libmetis.lib" 1505 ;; 1506 *darwin*) 1507 METISLIB="-L${METIS_ROOT} -lmetis" 1508 ;; 1509 *linux*) 1510 METISLIB="-L${METIS_ROOT} -lmetis" 1511 ;; 1512 *mingw*) 1513 METISLIB="-Wl,${METIS_ROOT}/lib/libmetis.a" 1514 ;; 1515 *msys*) 1516 METISLIB="-L${METIS_ROOT} -lmetis" 1517 ;; 1518 esac 1519 elif test "x${METIS_VERSION}" == "x5"; then 1520 METISINCL="-I${METIS_ROOT}/include" 1521 case "${host_os}" in 1522 *cygwin*) 1523 METISLIB="-L${METIS_ROOT} libmetis.lib" 1524 ;; 1525 *darwin*) 1526 METISLIB="-L${METIS_ROOT}/lib -lmetis" 1527 ;; 1528 *linux*) 1529 METISLIB="-L${METIS_ROOT}/lib -lmetis" 1530 ;; 1531 *mingw*) 1532 METISLIB="-Wl,${METIS_ROOT}/lib/libmetis.a" 1533 ;; 1534 *msys*) 1535 METISLIB="-L${METIS_ROOT}/lib -lmetis" 1536 ;; 1537 esac 1538 else 1539 AC_MSG_ERROR([METIS version ${METIS_VERSION} not yet supported! Please contact ISSM developers via forum or email.]) 1540 fi 1412 1541 AC_DEFINE([_HAVE_METIS_], [1], [with METIS in ISSM src]) 1413 else 1414 AC_ARG_WITH( 1415 [metis-dir], 1416 AS_HELP_STRING([--with-metis-dir=DIR], [METIS root directory, necessary for serial build]), 1417 [METIS_ROOT=${withval}], 1418 [METIS_ROOT="no"] 1419 ) 1420 AC_MSG_CHECKING([for METIS]) 1421 if test "x${METIS_ROOT}" == "xno"; then 1422 HAVE_METIS=no 1423 else 1424 HAVE_METIS=yes 1425 if ! test -d "${METIS_ROOT}"; then 1426 AC_MSG_ERROR([METIS directory provided (${METIS_ROOT}) does not exist!]); 1427 fi 1428 fi 1429 AC_MSG_RESULT([${HAVE_METIS}]) 1430 AM_CONDITIONAL([METIS], [test "x${HAVE_METIS}" == "xyes"]) 1431 1542 AC_DEFINE_UNQUOTED([_METIS_VERSION_], ${METIS_VERSION}, [METIS version number]) 1543 AC_SUBST([METISINCL]) 1544 AC_SUBST([METISLIB]) 1545 fi 1546 AC_MSG_RESULT([${HAVE_METIS}]) 1547 AM_CONDITIONAL([METIS], [test "x${HAVE_METIS}" = "xyes"]) 1548 dnl }}} 1549 dnl ParMETIS{{{ 1550 AC_MSG_CHECKING([for ParMETIS]) 1551 AC_ARG_WITH( 1552 [parmetis-dir], 1553 AS_HELP_STRING([--with-parmetis-dir=DIR], [ParMETIS root directory, necessary for parallel build]), 1554 [PARMETIS_ROOT=${withval}], 1555 [PARMETIS_ROOT="no"] 1556 ) 1557 HAVE_PARMETIS=no 1558 if test "x${PARMETIS_ROOT}" == "xno"; then 1559 dnl Check if ParMETIS was installed via PETSc 1560 if test -f ${PETSC_ROOT}/install/include/parmetis.h; then 1561 HAVE_PARMETIS="yes" 1562 PARMETIS_ROOT="${PETSC_ROOT}" 1563 fi 1564 else 1565 if ! test -d "${PARMETIS_ROOT}"; then 1566 AC_MSG_ERROR([ParMETIS directory provided (${PARMETIS_ROOT}) does not exist!]); 1567 fi 1568 if ! test -d "${METIS_ROOT}"; then 1569 AC_MSG_ERROR([If supplying path to ParMETIS with option --with-parmetis-dir, must also supply path to METIS with option --with-metis-dir]); 1570 fi 1571 HAVE_PARMETIS="yes" 1572 fi 1573 if test "${HAVE_PARMETIS}" == "yes"; then 1574 #PARMETIS_VERSION=$(grep "#define PARMETIS_MAJOR_VERSION" ${PARMETIS_ROOT}/include/parmetis.h | sed 's|.*PARMETIS_MAJOR_VERSION[[:space:]]*||') 1432 1575 dnl METIS libraries and header files 1433 if test "x${HAVE_METIS}" == "xyes"; then 1434 dnl Retrieve METIS version (does the VERSION file exist?) 1435 if test -f "${METIS_ROOT}/VERSION"; then 1436 METIS_VERSION=4 1437 else 1438 METIS_VERSION=5 1439 fi 1440 1441 if test "x${METIS_VERSION}" == "x4"; then 1442 METISINCL="-I${METIS_ROOT}/Lib" 1443 case "${host_os}" in 1444 *cygwin*) 1445 METISINCL="/I`cygpath -m ${METIS_ROOT}/Lib`" 1446 METISLIB="-Wl,/link -Wl,/LIBPATH:`cygpath -m ${METIS_ROOT}` -Wl,libmetis.lib" 1447 ;; 1448 *linux*) 1449 METISLIB="-L${METIS_ROOT} -lparmetis -lmetis" 1450 ;; 1451 *darwin*) 1452 METISLIB="-L${METIS_ROOT} -lparmetis -lmetis" 1453 ;; 1454 esac 1455 AC_DEFINE([_METIS_VERSION_], [4], [ METIS version number]) 1456 fi 1457 1458 if test "x${METIS_VERSION}" == "x5"; then 1459 case "${host_os}" in 1460 *cygwin*) 1461 METISLIB="-L${METIS_ROOT} libmetis.lib" 1462 ;; 1463 *linux*) 1464 METISLIB="-L${METIS_ROOT}/lib -lparmetis -lmetis" 1465 ;; 1466 *darwin*) 1467 METISLIB="-L${METIS_ROOT}/lib -lparmetis -lmetis" 1468 ;; 1469 esac 1470 METISINCL="-I${METIS_ROOT}/include" 1471 AC_DEFINE([_METIS_VERSION_], [5], [METIS version number]) 1472 fi 1473 1474 AC_DEFINE([_HAVE_METIS_], [1], [with METIS in ISSM src]) 1475 AC_SUBST([METISINCL]) 1476 AC_SUBST([METISLIB]) 1477 fi 1478 fi 1479 AM_CONDITIONAL([METIS], [test "x${HAVE_METIS}" == "xyes"]) 1576 #if test "x${PARMETIS_VERSION}" == "x4"; then 1577 PARMETISINCL="-I${PARMETIS_ROOT}/include" 1578 case "${host_os}" in 1579 *cygwin*) 1580 PARMETISLIB="-L${PARMETIS_ROOT}/lib -lparmetis" 1581 ;; 1582 *darwin*) 1583 PARMETISLIB="-L${PARMETIS_ROOT}/lib -lparmetis" 1584 ;; 1585 *linux*) 1586 PARMETISLIB="-L${PARMETIS_ROOT}/lib -lparmetis" 1587 ;; 1588 *mingw*) 1589 PARMETISLIB="-Wl,${PARMETIS_ROOT}/lib/libparmetis.a" 1590 ;; 1591 *msys*) 1592 PARMETISLIB="-L${PARMETIS_ROOT}/lib -lparmetis" 1593 ;; 1594 esac 1595 #else 1596 # AC_MSG_ERROR([ParMETIS version ${PARMETIS_VERSION} not yet supported! Please contact ISSM developers via forum or email.]) 1597 #fi 1598 AC_DEFINE([_HAVE_PARMETIS_], [1], [with ParMETIS in ISSM src]) 1599 #AC_DEFINE([_PARMETIS_VERSION_], [${PARMETIS_VERSION}], [ParMETIS version number]) 1600 AC_SUBST([PARMETISINCL]) 1601 AC_SUBST([PARMETISLIB]) 1602 fi 1603 AC_MSG_RESULT([${HAVE_PARMETIS}]) 1604 AM_CONDITIONAL([PARMETIS], [test "x${HAVE_PARMETIS}" = "xyes"]) 1480 1605 dnl }}} 1481 1606 dnl Toolkit for Advanced Optimization (TAO){{{ 1607 AC_MSG_CHECKING([for TAO]) 1482 1608 AC_ARG_WITH( 1483 1609 [tao-dir], … … 1486 1612 [TAO_ROOT="no"] 1487 1613 ) 1488 AC_MSG_CHECKING([for TAO])1489 1490 1614 if test "x${HAVE_PETSC}" == "xyes" && test "x${PETSC_MAJOR}" == "x3" && test ${PETSC_MINOR} -ge 5; then 1491 1615 dnl In PETSc >= 3.5, TAO is provided … … 1515 1639 dnl }}} 1516 1640 dnl M1QN3{{{ 1641 AC_MSG_CHECKING([for M1QN3]) 1517 1642 AC_ARG_WITH( 1518 1643 [m1qn3-dir], … … 1521 1646 [M1QN3_ROOT="no"] 1522 1647 ) 1523 AC_MSG_CHECKING([for M1QN3])1524 1648 if test "x${M1QN3_ROOT}" == "xno"; then 1525 1649 HAVE_M1QN3=no … … 1540 1664 dnl }}} 1541 1665 dnl PROJ{{{ 1666 AC_MSG_CHECKING([for PROJ]) 1542 1667 AC_ARG_WITH( 1543 1668 [proj-dir], … … 1546 1671 [PROJ_ROOT="no"] 1547 1672 ) 1548 AC_MSG_CHECKING([for PROJ])1549 1673 if test "x${PROJ_ROOT}" == "xno"; then 1550 1674 HAVE_PROJ=no … … 1568 1692 dnl }}} 1569 1693 dnl SLEPc{{{ 1694 AC_MSG_CHECKING([for SLEPc]) 1570 1695 AC_ARG_WITH( 1571 1696 [slepc-dir], … … 1574 1699 [SLEPC_ROOT="no"] 1575 1700 ) 1576 AC_MSG_CHECKING([for SLEPc])1577 1701 if test "x${SLEPC_ROOT}" == "xno"; then 1578 1702 HAVE_SLEPC=no … … 1595 1719 dnl }}} 1596 1720 dnl shapelib{{{ 1721 AC_MSG_CHECKING([for shapelib]) 1597 1722 AC_ARG_WITH( 1598 1723 [shapelib-dir], … … 1601 1726 [SHAPELIB_ROOT="no"] 1602 1727 ) 1603 AC_MSG_CHECKING([for shapelib])1604 1728 if test "x${SHAPELIB_ROOT}" == "xno"; then 1605 1729 HAVE_SHAPELIB=no … … 1622 1746 dnl }}} 1623 1747 dnl ScaLAPACK{{{ 1624 1625 1748 dnl NOTE: User should supply path to root directory or libraries, but not both 1749 dnl 1750 AC_MSG_CHECKING([for ScaLAPACK]) 1626 1751 AC_ARG_WITH( 1627 1752 [scalapack-dir], … … 1636 1761 [SCALAPACKLIB="no"] 1637 1762 ) 1638 AC_MSG_CHECKING([for ScaLAPACK])1639 1763 if test "x${SCALAPACK_ROOT}" == "xno" && test "x${SCALAPACKLIB}" == "xno"; then 1640 1764 HAVE_SCALAPACK=no … … 1645 1769 fi 1646 1770 HAVE_SCALAPACK=yes 1647 SCALAPACKLIB="-L${SCALAPACK_ROOT}/lib -lscalapack" 1771 if test "${VENDOR}" == "win-msys2"; then 1772 SCALAPACKLIB="-Wl,${SCALAPACK_ROOT}/lib/libscalapack.a" 1773 else 1774 SCALAPACKLIB="-L${SCALAPACK_ROOT}/lib -lscalapack" 1775 fi 1648 1776 elif test "x${SCALAPACKLIB}" != "xno"; then 1649 1777 dnl Value of SCALAPACKLIB should be valid here, so no need to set it (as above) … … 1661 1789 dnl }}} 1662 1790 dnl BLAS/LAPACK{{{ 1791 AC_MSG_CHECKING([for BLAS/LAPACK]) 1792 AC_ARG_WITH( 1793 [blas-dir], 1794 [AS_HELP_STRING([--with-blas-dir=DIR], [BLAS root directory])], 1795 [BLAS_ROOT=$withval], 1796 [BLAS_ROOT="no"] 1797 ) 1798 AC_ARG_WITH( 1799 [lapack-dir], 1800 [AS_HELP_STRING([--with-lapack-dir=DIR], [LAPACK root directory])], 1801 [LAPACK_ROOT=$withval], 1802 [LAPACK_ROOT="no"] 1803 ) 1663 1804 AC_ARG_WITH( 1664 1805 [blas-lapack-dir], … … 1667 1808 [BLASLAPACK_ROOT="no"] 1668 1809 ) 1669 AC_MSG_CHECKING([for BLAS/LAPACK]) 1670 if test "x${BLASLAPACK_ROOT}" == "xno" ; then 1810 if (test "x${BLAS_ROOT}" = "xno" || test "x${LAPACK_ROOT}" = "xno") && test "x${BLASLAPACK_ROOT}" = "xno"; then 1671 1811 HAVE_BLASLAPACK=no 1672 1812 else 1673 1813 HAVE_BLASLAPACK=yes 1674 if ! test -d "${BLASLAPACK_ROOT}"; then 1675 AC_MSG_ERROR([BLAS/LAPACK directory provided (${BLASLAPACK_ROOT}) does not exist!]); 1814 if ! test -d "${BLAS_ROOT}" || ! test -d "${LAPACK_ROOT}"; then 1815 if ! test -d "${BLASLAPACK_ROOT}"; then 1816 AC_MSG_ERROR([Use either --with-blas-dir and --with-lapack-dir *or* --with-blaslapack-dir]); 1817 fi 1676 1818 fi 1677 1819 fi … … 1680 1822 dnl BLAS/LAPACK libraries and header files 1681 1823 if test "x${HAVE_BLASLAPACK}" == "xyes"; then 1682 BLASLAPACKINCL=""1683 1824 case "${host_os}" in 1684 1825 *cygwin*) … … 1709 1850 fi 1710 1851 ;; 1852 *mingw*) 1853 if test -d "${BLASLAPACK_ROOT}"; then 1854 BLASLAPACKLIB="-L${BLASLAPACK_ROOT}/lib" 1855 if ls ${BLASLAPACK_ROOT}/lib/libopenblas.* 1> /dev/null 2>&1; then 1856 BLASLAPACKLIB+=" -lopenblas" 1857 elif ls ${BLASLAPACK_ROOT}/lib/libf2clapack.* 1> /dev/null 2>&1; then 1858 BLASLAPACKLIB+=" -lf2clapack -lf2cblas" 1859 elif ls ${BLASLAPACK_ROOT}/lib/libflapack.* 1> /dev/null 2>&1; then 1860 BLASLAPACKLIB="-Wl,${BLASLAPACK_ROOT}/lib/libflapack.a -Wl,${BLASLAPACK_ROOT}/lib/libfblas.a" 1861 else 1862 BLASLAPACKLIB+=" -llapack -lblas" 1863 fi 1864 else 1865 BLASLAPACKLIB="-Wl,${LAPACK_ROOT}/lib/liblapack.a -Wl,${BLAS_ROOT}/lib/libblas.a" 1866 fi 1867 ;; 1868 *msys*) 1869 if test -d "${BLASLAPACK_ROOT}"; then 1870 if ls ${BLASLAPACK_ROOT}/lib/libopenblas.* 1> /dev/null 2>&1; then 1871 BLASLAPACKLIB=" -lopenblas" 1872 elif ls ${BLASLAPACK_ROOT}/lib/libf2clapack.* 1> /dev/null 2>&1; then 1873 BLASLAPACKLIB=" -lf2clapack -lf2cblas" 1874 elif ls ${BLASLAPACK_ROOT}/lib/libflapack.* 1> /dev/null 2>&1; then 1875 BLASLAPACKLIB+=" -lflapack -lfblas" 1876 else 1877 BLASLAPACKLIB=" -llapack -lblas" 1878 fi 1879 else 1880 BLASLAPACKLIB="-L${LAPACK_ROOT}/lib -llapack -L${BLAS_ROOT}/lib -lblas" 1881 fi 1882 ;; 1711 1883 esac 1712 1884 AC_DEFINE([_HAVE_BLASLAPACK_], [1], [with BLAS/LAPACK in ISSM src]) 1713 1885 AC_SUBST([BLASLAPACKLIB]) 1714 AC_SUBST([BLASLAPACKINCL])1715 1886 fi 1716 1887 dnl }}} 1717 1888 dnl Math Kernel Library (MKL){{{ 1889 AC_MSG_CHECKING([for MKL]) 1718 1890 AC_ARG_WITH( 1719 1891 [mkl-libflags], … … 1722 1894 [MKL_LIBFLAGS="no"] 1723 1895 ) 1724 AC_MSG_CHECKING([for MKL])1725 1896 if test "x${MKL_LIBFLAGS}" == "xno"; then 1726 1897 HAVE_MKL=no … … 1735 1906 dnl }}} 1736 1907 dnl PlaLAPACK{{{ 1737 1738 1908 dnl TODO: Handle user supplying path to root directory *or* individual 1739 1909 dnl arguments (like ScaLAPACK) … … 1770 1940 dnl }}} 1771 1941 dnl MUMPS{{{ 1942 AC_MSG_CHECKING([for MUMPS]) 1772 1943 AC_ARG_WITH( 1773 1944 [mumps-dir], … … 1776 1947 [MUMPS_ROOT="no"] 1777 1948 ) 1778 AC_MSG_CHECKING([for MUMPS])1779 1949 if test "x${MUMPS_ROOT}" == "xno"; then 1780 1950 HAVE_MUMPS=no … … 1791 1961 MUMPSINCL="-I${MUMPS_ROOT}/include" 1792 1962 if test "x${MUMPS_ROOT}" == "x${PETSC_ROOT}"; then 1793 if test " x${PETSC_MAJOR}" == "x2"; then1794 MUMPSLIB="- L${MUMPS_ROOT}/lib"1963 if test "${VENDOR}" == "win-msys2"; then 1964 MUMPSLIB="-Wl,${MUMPS_ROOT}/lib/libcmumps.a -Wl,${MUMPS_ROOT}/lib/libdmumps.a -Wl,${MUMPS_ROOT}/lib/libsmumps.a -Wl,${MUMPS_ROOT}/lib/libzmumps.a -Wl,${MUMPS_ROOT}/lib/libmumps_common.a -Wl,${MUMPS_ROOT}/lib/libpord.a" 1795 1965 else 1796 1966 MUMPSLIB="-L${MUMPS_ROOT}/lib -ldmumps -lcmumps -lmumps_common -lpord -lparmetis -lzmumps -lmetis" … … 1841 2011 dnl }}} 1842 2012 dnl BLACS{{{ 2013 AC_MSG_CHECKING([for BLACS]) 1843 2014 AC_ARG_WITH( 1844 2015 [blacs-dir], … … 1847 2018 [BLACS_ROOT="no"] 1848 2019 ) 1849 AC_MSG_CHECKING([for BLACS])1850 2020 if test "x${BLACS_ROOT}" == "xno"; then 1851 2021 HAVE_BLACS=no … … 1868 2038 dnl }}} 1869 2039 dnl HYPRE{{{ 2040 AC_MSG_CHECKING([for HYPRE]) 1870 2041 AC_ARG_WITH( 1871 2042 [hypre-dir], … … 1874 2045 [HYPRE_ROOT="no"] 1875 2046 ) 1876 AC_MSG_CHECKING([for HYPRE])1877 2047 if test "x${HYPRE_ROOT}" == "xno"; then 1878 2048 HAVE_HYPRE=no … … 1895 2065 dnl }}} 1896 2066 dnl Prometheus{{{ 2067 AC_MSG_CHECKING([for Prometheus]) 1897 2068 AC_ARG_WITH( 1898 2069 [prometheus-dir], … … 1901 2072 [PROMETHEUS_ROOT="no"] 1902 2073 ) 1903 AC_MSG_CHECKING([for Prometheus])1904 2074 if test "x${PROMETHEUS_ROOT}" == "xno"; then 1905 2075 HAVE_PROMETHEUS=no … … 1922 2092 dnl }}} 1923 2093 dnl SEMIC{{{ 2094 AC_MSG_CHECKING([for SEMIC]) 1924 2095 AC_ARG_WITH( 1925 2096 [semic-dir], … … 1928 2099 [SEMIC_ROOT="no"] 1929 2100 ) 1930 AC_MSG_CHECKING([for SEMIC])1931 2101 if test "x${SEMIC_ROOT}" == "xno"; then 1932 2102 HAVE_SEMIC=no … … 1950 2120 dnl }}} 1951 2121 dnl SPAI{{{ 2122 AC_MSG_CHECKING([for SPAI]) 1952 2123 AC_ARG_WITH( 1953 2124 [spai-dir], … … 1956 2127 [SPAI_ROOT="no"] 1957 2128 ) 1958 AC_MSG_CHECKING([for SPAI])1959 2129 if test "x${SPAI_ROOT}" == "xno"; then 1960 2130 HAVE_SPAI=no … … 1977 2147 dnl }}} 1978 2148 dnl SuperLU{{{ 2149 AC_MSG_CHECKING([for SuperLU]) 1979 2150 AC_ARG_WITH( 1980 2151 [superlu-dir], … … 1983 2154 [SUPERLU_ROOT="no"] 1984 2155 ) 1985 AC_MSG_CHECKING([for SuperLU])1986 2156 if test "x${SUPERLU_ROOT}" == "xno"; then 1987 2157 HAVE_SUPERLU=no … … 2004 2174 dnl }}} 2005 2175 dnl SPOOLES{{{ 2176 AC_MSG_CHECKING([for SPOOLES]) 2006 2177 AC_ARG_WITH( 2007 2178 [spooles-dir], … … 2010 2181 [SPOOLES_ROOT="no"] 2011 2182 ) 2012 AC_MSG_CHECKING([for SPOOLES])2013 2183 if test "x${SPOOLES_ROOT}" == "xno"; then 2014 2184 HAVE_SPOOLES=no … … 2031 2201 dnl }}} 2032 2202 dnl PaStiX{{{ 2203 AC_MSG_CHECKING([for PaStiX]) 2033 2204 AC_ARG_WITH( 2034 2205 [pastix-dir], … … 2037 2208 [PASTIX_ROOT="no"] 2038 2209 ) 2039 AC_MSG_CHECKING([for PaStiX])2040 2210 if test "x${PASTIX_ROOT}" == "xno"; then 2041 2211 HAVE_PASTIX=no … … 2059 2229 dnl }}} 2060 2230 dnl ml{{{ 2231 AC_MSG_CHECKING([for ml]) 2061 2232 AC_ARG_WITH( 2062 2233 [ml-dir], … … 2065 2236 [ML_ROOT="no"] 2066 2237 ) 2067 AC_MSG_CHECKING([for ml])2068 2238 if test "x${ML_ROOT}" == "xno"; then 2069 2239 HAVE_ML=no … … 2086 2256 dnl }}} 2087 2257 dnl UMFPACK{{{ 2258 AC_MSG_CHECKING([for UMFPACK]) 2088 2259 AC_ARG_WITH( 2089 2260 [umfpack-dir], … … 2092 2263 [UMFPACK_ROOT="no"] 2093 2264 ) 2094 AC_MSG_CHECKING([for UMFPACK])2095 2265 if test "x${UMFPACK_ROOT}" == "xno"; then 2096 2266 HAVE_UMFPACK=no … … 2129 2299 dnl }}} 2130 2300 dnl MATH77{{{ 2301 AC_MSG_CHECKING([for MATH77]) 2131 2302 AC_ARG_WITH( 2132 2303 [math77-dir], … … 2135 2306 [MATH77_ROOT="no"] 2136 2307 ) 2137 AC_MSG_CHECKING([for MATH77])2138 2308 if test "x${MATH77_ROOT}" == "xno"; then 2139 2309 HAVE_MATH77=no … … 2154 2324 dnl }}} 2155 2325 dnl Fortran{{{ 2326 AC_MSG_CHECKING(for Fortran compilation) 2156 2327 AC_ARG_WITH( 2157 2328 [fortran], … … 2160 2331 [FORTRAN=yes] 2161 2332 ) 2162 AC_MSG_CHECKING(for Fortran compilation)2163 2333 if test "x${FORTRAN}" == "xyes"; then 2164 2334 HAVE_FORTRAN=yes … … 2224 2394 dnl }}} 2225 2395 dnl MeteoIO{{{ 2396 AC_MSG_CHECKING([for MeteoIO]) 2226 2397 AC_ARG_WITH( 2227 2398 [meteoio-dir], … … 2230 2401 [METEOIO_ROOT="no"] 2231 2402 ) 2232 AC_MSG_CHECKING([for MeteoIO])2233 2403 if test "x${METEOIO_ROOT}" == "xno"; then 2234 2404 HAVE_METEOIO=no … … 2253 2423 dnl }}} 2254 2424 dnl SNOWPACK{{{ 2425 AC_MSG_CHECKING([for SNOWPACK]) 2255 2426 AC_ARG_WITH( 2256 2427 [snowpack-dir], … … 2259 2430 [SNOWPACK_ROOT="no"] 2260 2431 ) 2261 AC_MSG_CHECKING([for SNOWPACK])2262 2432 if test "x${SNOWPACK_ROOT}" == "xno"; then 2263 2433 HAVE_SNOWPACK=no … … 2281 2451 dnl }}} 2282 2452 dnl NeoPZ{{{ 2453 AC_MSG_CHECKING([for NeoPZ]) 2283 2454 AC_ARG_WITH( 2284 2455 [neopz-dir], … … 2287 2458 [NEOPZ_ROOT="no"] 2288 2459 ) 2289 AC_MSG_CHECKING([for NeoPZ])2290 2460 if test "x${NEOPZ_ROOT}" == "xno"; then 2291 2461 HAVE_NEOPZ=no … … 2356 2526 GMSH_VERSION_MAJOR=`${GMSH_ROOT}/bin/gmsh -info | grep "Version" | sed -e "s/Version@<:@@<:@:blank:@:>@@:>@*:@<:@@<:@:blank:@:>@@:>@//" | cut -d "." -f 1` 2357 2527 AC_MSG_RESULT([${GMSH_VERSION_MAJOR}]) 2358 AC_DEFINE_UNQUOTED( _GMSH_VERSION_MAJOR_, $GMSH_VERSION_MAJOR, [Gmsh major version])2528 AC_DEFINE_UNQUOTED([_GMSH_VERSION_MAJOR_], ${GMSH_VERSION_MAJOR}, [Gmsh major version]) 2359 2529 fi 2360 2530 dnl }}} 2361 2531 dnl Capabilities 2362 2532 dnl with-bamg{{{ 2533 AC_MSG_CHECKING([for BAMG capability compilation]) 2363 2534 AC_ARG_WITH( 2364 2535 [bamg], … … 2367 2538 [BAMG=yes] 2368 2539 ) 2369 AC_MSG_CHECKING([for BAMG capability compilation])2370 2540 HAVE_BAMG=no 2371 2541 if test "x${BAMG}" == "xyes"; then … … 2377 2547 dnl }}} 2378 2548 dnl with-ocean{{{ 2549 AC_MSG_CHECKING(for ice/ocean coupling capability compilation) 2379 2550 AC_ARG_WITH( 2380 2551 [ocean], … … 2383 2554 [OCEAN=no] 2384 2555 ) 2385 AC_MSG_CHECKING(for ice/ocean coupling capability compilation)2386 2387 2556 HAVE_OCEAN=no 2388 2557 if test "x${OCEAN}" == "xyes"; then … … 2394 2563 dnl }}} 2395 2564 dnl with-kml{{{ 2565 AC_MSG_CHECKING(for kml capability compilation) 2396 2566 AC_ARG_WITH( 2397 2567 [kml], … … 2400 2570 [KML=no] 2401 2571 ) 2402 AC_MSG_CHECKING(for kml capability compilation)2403 2404 2572 HAVE_KML=no 2405 2573 if test "x${KML}" == "xyes"; then … … 2411 2579 dnl }}} 2412 2580 dnl with-kriging{{{ 2581 AC_MSG_CHECKING(for kriging capability compilation) 2413 2582 AC_ARG_WITH( 2414 2583 [kriging], … … 2417 2586 [KRIGING=yes] 2418 2587 ) 2419 AC_MSG_CHECKING(for kriging capability compilation)2420 2421 2588 HAVE_KRIGING=no 2422 2589 if test "x${KRIGING}" == "xyes"; then … … 2433 2600 dnl Platform specifics 2434 2601 dnl with-ios{{{ 2602 AC_MSG_CHECKING(for iOS compilation) 2435 2603 AC_ARG_WITH( 2436 2604 [ios], … … 2439 2607 [IOS=no] 2440 2608 ) 2441 AC_MSG_CHECKING(for iOS compilation)2442 2443 2609 HAVE_IOS=no 2444 2610 if test "x${IOS}" == "xyes"; then … … 2450 2616 dnl }}} 2451 2617 dnl with-android{{{ 2618 AC_MSG_CHECKING([for Android capability compilation]) 2452 2619 AC_ARG_WITH( 2453 2620 [android], 2454 2621 AS_HELP_STRING([--with-android=EXE], [compile with Android capabilities (default: "no"; alternatives: "exe", "jni")]), 2455 2622 [ANDROID=${withval}], 2456 [ANDROID=no]) 2457 AC_MSG_CHECKING([for Android capability compilation]) 2458 2623 [ANDROID=no] 2624 ) 2459 2625 if test "x${ANDROID}" == "xjni"; then 2460 2626 HAVE_ANDROID=jni … … 2475 2641 dnl }}} 2476 2642 dnl with-android-ndk{{{ 2643 AC_MSG_CHECKING([with Android Native Development Kit (NDK)]) 2477 2644 AC_ARG_WITH( 2478 2645 [android-ndk], … … 2481 2648 [ANDROID_NDK_ROOT=""] 2482 2649 ) 2483 AC_MSG_CHECKING([with Android Native Development Kit (NDK)])2484 2485 2650 if test -d "${ANDROID_NDK_ROOT}"; then 2486 2651 HAVE_ANDROID_NDK=yes … … 2496 2661 dnl other options 2497 2662 dnl optimization{{{ 2498 dnl -- bypass standard optimization -g -O2 -fPIC -std=c++11? 2663 dnl -- bypass standard optimization -g -O2 -fPIC? 2664 AC_MSG_CHECKING(for C++ optimization flags) 2499 2665 AC_ARG_WITH( 2500 2666 [cxxoptflags], 2501 2667 AS_HELP_STRING([--with-cxxoptflags=CXXOPTFLAGS], [C++ optimization flags (i.e. --with-cxxoptflags="-march=opteron -O3 -std=c++11"]), 2502 2668 [CXXOPTFLAGS=${withval}], 2503 [CXXOPTFLAGS="-g -O2 -fPIC -std=c++11"] 2504 ) 2505 AC_MSG_CHECKING(for C++ optimization flags) 2669 [CXXOPTFLAGS="-g -O2 -fPIC"] 2670 ) 2506 2671 AC_SUBST([CXXOPTFLAGS]) 2507 AC_MSG_RESULT([ done])2672 AC_MSG_RESULT([${CXXOPTFLAGS}]) 2508 2673 dnl }}} 2509 2674 dnl multithreading{{{ 2675 AC_MSG_CHECKING(for number of threads) 2510 2676 AC_ARG_WITH( 2511 2677 [numthreads], … … 2514 2680 [NUMTHREADS_VALUE=1] 2515 2681 ) 2516 AC_MSG_CHECKING(for number of threads)2517 2682 dnl Check that supplied value is an integer 2518 2683 if [[ "${NUMTHREADS_VALUE}" != "${NUMTHREADS_VALUE}" 2> /dev/null ]]; then … … 2529 2694 MULTITHREADINGLIB="-lpthread -lrt" 2530 2695 ;; 2696 *darwin*) 2697 MULTITHREADINGLIB="-lpthread" 2698 ;; 2531 2699 *linux*) 2532 2700 MULTITHREADINGLIB="-lpthread -lrt" 2533 2701 ;; 2534 *darwin*) 2535 MULTITHREADINGLIB="-lpthread" 2702 *mingw*) 2703 MULTITHREADINGLIB="" 2704 ;; 2705 *msys*) 2706 MULTITHREADINGLIB="" 2536 2707 ;; 2537 2708 esac 2538 2709 AC_DEFINE([_MULTITHREADING_], [1], [with multithreading enabled]) 2539 2710 fi 2540 AC_DEFINE_UNQUOTED( _NUMTHREADS_, $NUMTHREADS_VALUE, [number of threads])2711 AC_DEFINE_UNQUOTED([_NUMTHREADS_], ${NUMTHREADS_VALUE}, [number of threads]) 2541 2712 AC_SUBST([MULTITHREADINGLIB]) 2542 2713 AC_MSG_RESULT([${NUMTHREADS_VALUE}]) 2543 2714 dnl }}} 2544 2715 dnl 64-bit indices{{{ 2716 AC_MSG_CHECKING([for 64-bit indices]) 2545 2717 AC_ARG_WITH( 2546 2718 [64bit-indices], … … 2549 2721 [USE_64BIT_INDICES=0] 2550 2722 ) 2551 AC_MSG_CHECKING([for 64-bit indices])2552 2553 2723 if test "x${USE_64BIT_INDICES}" == "x1"; then 2554 2724 AC_DEFINE([ISSM_USE_64BIT_INDICES], [1], [with 64-bit indices]) … … 2560 2730 2561 2731 dnl Checks {{{ 2562 AC_MSG_CHECKING(consistency between all libraries)2732 AC_MSG_CHECKING(consistency between all external packages) 2563 2733 2564 2734 dnl Check that if PETSc is requested, MPI is specified … … 2590 2760 2591 2761 dnl Check that if we run ADOL-C, we don't compile kriging.exe 2592 if test "x$ HAVE_ADOLC" == "xyes" && test "${HAVE_KRIGING}" == "xyes"; then2762 if test "x${HAVE_ADOLC}" == "xyes" && test "${HAVE_KRIGING}" == "xyes"; then 2593 2763 AC_MSG_ERROR([cannot compile kriging.exe under ADOL-C conditions!]); 2594 2764 fi
Note:
See TracChangeset
for help on using the changeset viewer.