Changeset 26036 for issm/trunk-jpl/m4/issm_options.m4
- Timestamp:
- 02/26/21 19:41:25 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/m4/issm_options.m4
r26034 r26036 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=no225 224 IS_WINDOWS=no 226 225 AC_MSG_CHECKING([for vendor compilers]) … … 319 318 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" 320 319 AC_DEFINE([_HAVE_RESTRICT_], [1], [with restrict buffers]) 321 elif test "${VENDOR}" == "win-msys2"; then322 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=yes325 320 else 326 321 AC_MSG_ERROR([unknown compiler vendor!]) 327 322 fi 328 323 fi 329 dnl Set default standard for C++330 if test "${CXXFLAGS}" == ""; then331 export CXXFLAGS="-std=C++11"332 fi333 324 AC_SUBST([OSLIBS]) 334 325 AC_MSG_RESULT([done]) 335 326 336 AC_MSG_CHECKING([if this is a MSVC (Windows)build])327 AC_MSG_CHECKING([if this is a Windows build]) 337 328 AM_CONDITIONAL([WINDOWS], [test "x${IS_WINDOWS}" == "xyes"]) 338 329 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])344 330 dnl }}} 345 331 dnl MATLAB{{{ 346 332 347 333 dnl See if MATLAB has been provided 348 AC_MSG_CHECKING([for MATLAB])349 334 AC_ARG_WITH( 350 335 [matlab-dir], dnl feature … … 353 338 [MATLAB_ROOT="no"] dnl action if not given 354 339 ) 340 AC_MSG_CHECKING([for MATLAB]) 355 341 if test "x${MATLAB_ROOT}" == "xno"; then 356 342 HAVE_MATLAB=no … … 371 357 AC_DEFINE([_HAVE_MATLAB_], [1], [with MATLAB in ISSM src]) 372 358 373 dnl Set MEX * variable359 dnl Set MEXLIB, MEXLINK, and MEXEXT 374 360 AC_MSG_CHECKING([MATLAB's mex compilation flags]) 375 361 … … 381 367 if test "${VENDOR}" == "intel-win7-32"; then 382 368 MEXLIB="-Wl,libmx.lib -Wl,libmex.lib -Wl,libmat.lib ${OSLIBS} -Wl,libf2cblas.lib -Wl,libf2clapack.lib" 383 MEXLINK FLAGS="-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" 384 370 MEXEXT=`${MATLAB_ROOT}/bin/mexext.bat` 385 371 MEXEXT=".${MEXEXT}" 386 372 elif test "${VENDOR}" == "intel-win7-64"; then 387 373 MEXLIB="-Wl,libmx.lib -Wl,libmex.lib -Wl,libmat.lib ${OSLIBS} -Wl,libf2cblas.lib -Wl,libf2clapack.lib" 388 MEXLINK FLAGS="-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" 389 375 MEXEXT=".mexw64" 390 376 elif test "${VENDOR}" == "MSVC-Win64" || test "${VENDOR}" == "MSVC-Win64-par"; then 391 377 MEXLIB="-Wl,libmx.lib -Wl,libmex.lib -Wl,libmat.lib ${OSLIBS} -Wl,libf2cblas.lib -Wl,libf2clapack.lib" 392 MEXLINK FLAGS="-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" 393 379 MATLABINCL="-I`cygpath -m ${MATLAB_ROOT}/extern/include`" 394 380 MEXEXT=".mexw64" 395 381 fi 396 382 ;; 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 *) 413 384 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") 422 387 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 426 389 if test -z "${MEXEXT}"; then 427 390 echo "#include <mex.h>" > conftest.cpp … … 429 392 ${MATLAB_ROOT}/bin/mex -v -lmex conftest.cpp > conftest.tmp 2>&1 430 393 rm -f conftest.cpp 431 MEXLINK FLAGS=$(cat conftest.tmp | grep LDFLAGS | sed -e "s/LDFLAGS ://g")394 MEXLINK=$(cat conftest.tmp | grep LDFLAGS | sed -e "s/LDFLAGS ://g") 432 395 MEXLIB=$(cat conftest.tmp | grep LINKLIBS | sed -e "s/LINKLIBS ://g") 433 396 MEXEXT=$(cat conftest.tmp | grep LDEXT | sed -e "s/LDEXT ://g" | awk '{print $[1]}') … … 439 402 440 403 dnl Make sure mexFunction.map is not in MEXLIB to avoid problems with global variables 441 dnl MEXLINK FLAGS=$(echo ${MEXLINKFLAGS} | sed -e "s/,-expo.*mexFunction\\.map\"//g" | sed -e "s/-[[^ ]]*mexFunction\\.map//g")442 MEXLINK FLAGS="" 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???? 443 406 ;; 444 407 esac … … 448 411 fi 449 412 450 AC_SUBST([MEXEXT])451 AC_SUBST([MEXOPTFLAGS])452 AC_SUBST([MEXCFLAGS])453 AC_SUBST([MEXCXXFLAGS])454 413 AC_SUBST([MATLABINCL]) 455 AC_SUBST([MEXLINKFLAGS]) 414 MATLABWRAPPEREXT=${MEXEXT} 415 AC_SUBST([MATLABWRAPPEREXT]) 456 416 AC_SUBST([MEXLIB]) 417 AC_SUBST([MEXLINK]) 457 418 fi 458 419 dnl }}} 459 420 dnl JavaScript{{{ 460 AC_MSG_CHECKING([for JavaScript])461 421 AC_ARG_WITH( 462 422 [javascript], … … 465 425 [JAVASCRIPT="no"] 466 426 ) 427 AC_MSG_CHECKING([for JavaScript]) 467 428 if test "x${JAVASCRIPT}" == "xno"; then 468 429 HAVE_JAVASCRIPT=no … … 477 438 dnl }}} 478 439 dnl Triangle {{{ 479 AC_MSG_CHECKING([for triangle])480 440 AC_ARG_WITH( 481 441 [triangle-dir], … … 484 444 [TRIANGLE_ROOT="no"] 485 445 ) 446 AC_MSG_CHECKING([for triangle]) 486 447 if test "x${TRIANGLE_ROOT}" == "xno"; then 487 448 HAVE_TRIANGLE=no … … 522 483 fi 523 484 ;; 524 *mingw*)525 if test "x${HAVE_JAVASCRIPT}" == "xyes"; then526 dnl Link to the object file, not the library527 TRIANGLELIB=${TRIANGLE_ROOT}/share/triangle.o528 else529 TRIANGLELIB="-L${TRIANGLE_ROOT}/lib -ltriangle"530 fi531 ;;532 *msys*)533 if test "x${HAVE_JAVASCRIPT}" == "xyes"; then534 dnl Link to the object file, not the library535 TRIANGLELIB=${TRIANGLE_ROOT}/share/triangle.o536 else537 TRIANGLELIB="-L${TRIANGLE_ROOT}/lib -ltriangle"538 fi539 ;;540 485 esac 541 486 AC_DEFINE([_HAVE_TRIANGLE_], [1], [with Triangle in ISSM src]) … … 545 490 dnl }}} 546 491 dnl Boost{{{ 547 AC_MSG_CHECKING([for Boost])548 492 AC_ARG_WITH( 549 493 [boost-dir], … … 552 496 [BOOST_ROOT="no"] 553 497 ) 498 AC_MSG_CHECKING([for Boost]) 554 499 if test "x${BOOST_ROOT}" == "xno"; then 555 500 HAVE_BOOST=no … … 578 523 dnl }}} 579 524 dnl Dakota{{{ 580 AC_MSG_CHECKING([for Dakota])581 525 AC_ARG_WITH( 582 526 [dakota-dir], … … 585 529 [DAKOTA_ROOT="no"] 586 530 ) 531 AC_MSG_CHECKING([for Dakota]) 587 532 if test "x${DAKOTA_ROOT}" == "xno"; then 588 533 HAVE_DAKOTA=no … … 602 547 AC_MSG_CHECKING(for Dakota version) 603 548 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 605 550 dnl compiled). If so, we can remove the other methods of 606 551 dnl getting the version. … … 619 564 fi 620 565 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]) 622 567 623 568 DAKOTAFLAGS="" … … 734 679 AC_MSG_CHECKING(for Dakota major version) 735 680 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]) 737 682 AC_MSG_CHECKING(for Dakota minor version) 738 683 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]) 740 685 AC_MSG_CHECKING(for Dakota build version) 741 686 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]) 743 688 744 689 AC_DEFINE([_HAVE_DAKOTA_], [1], [with Dakota in ISSM src]) … … 750 695 dnl }}} 751 696 dnl Python{{{ 752 AC_MSG_CHECKING([for Python])753 697 AC_ARG_WITH( 754 698 [python-dir], … … 764 708 [PYTHON_VERSION="no"] 765 709 ) 710 AC_MSG_CHECKING([for Python]) 766 711 if test "x${PYTHON_ROOT}" == "xno"; then 767 712 HAVE_PYTHON=no … … 790 735 dnl Determine major version 791 736 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]) 793 738 if test "x${PYTHON_MAJOR}" == "x3"; then 794 739 HAVE_PYTHON3="yes" … … 806 751 PYTHONINCL=-I${PYTHON_ROOT}/include/python${PYTHON_VERSION}m 807 752 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]); 809 754 fi 810 755 AC_MSG_RESULT([found]) … … 819 764 PYTHONLINK="-shared" 820 765 ;; 766 *linux*) 767 PYTHONLINK="-shared" 768 ;; 821 769 *darwin*) 822 770 PYTHONLINK="-dynamiclib" 823 ;;824 *linux*)825 PYTHONLINK="-shared"826 ;;827 *mingw*)828 PYTHONLINK="-shared"829 ;;830 *msys*)831 PYTHONLINK="-shared"832 771 ;; 833 772 esac … … 842 781 dnl }}} 843 782 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 844 794 dnl NOTE: You can find NumPy by running, 845 795 dnl … … 847 797 dnl >>> numpy.__file__ 848 798 dnl 849 dnl TODO: 850 dnl - Replace references to python-numpy with numpy (and similar terms) 851 dnl project-wide 852 dnl 799 853 800 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 )860 801 if test "x${PYTHON_NUMPY_ROOT}" == "xno"; then 861 802 HAVE_PYTHON_NUMPY=no … … 876 817 dnl }}} 877 818 dnl Chaco{{{ 878 AC_MSG_CHECKING([for Chaco])879 819 AC_ARG_WITH( 880 820 [chaco-dir], … … 883 823 [CHACO_ROOT="no"] 884 824 ) 825 AC_MSG_CHECKING([for Chaco]) 885 826 if test "x${CHACO_ROOT}" == "xno"; then 886 827 HAVE_CHACO=no … … 904 845 dnl }}} 905 846 dnl ESMF{{{ 906 AC_MSG_CHECKING([for ESMF])907 847 AC_ARG_WITH( 908 848 [esmf-dir], … … 911 851 [ESMF_ROOT="no"] 912 852 ) 853 AC_MSG_CHECKING([for ESMF]) 913 854 if test "x${ESMF_ROOT}" == "xno"; then 914 855 HAVE_ESMF=no … … 932 873 dnl }}} 933 874 dnl CoDiPack{{{ 934 AC_MSG_CHECKING([for CoDiPack])935 875 AC_ARG_WITH( 936 876 [codipack-dir], … … 939 879 [CODIPACK_ROOT="no"] 940 880 ) 881 AC_MSG_CHECKING([for CoDiPack]) 941 882 if test "x${CODIPACK_ROOT}" == "xno"; then 942 883 HAVE_CODIPACK=no … … 960 901 dnl }}} 961 902 dnl Tape Allocation {{{ 962 AC_MSG_CHECKING(for tape allocation)963 903 AC_ARG_ENABLE( 964 904 [tape-alloc], dnl feature … … 967 907 [enable_tape_alloc=no] 968 908 ) 909 AC_MSG_CHECKING(for tape allocation) 969 910 if test "x${enable_tape_alloc}" == "xyes"; then 970 911 AC_DEFINE([_AD_TAPE_ALLOC_], [1], [enable a priori tape allocation for AD]) … … 973 914 dnl }}} 974 915 dnl ADOL-C {{{ 975 AC_MSG_CHECKING([for ADOL-C])976 916 AC_ARG_WITH( 977 917 [adolc-dir], … … 980 920 [ADOLC_ROOT="no"] 981 921 ) 922 AC_MSG_CHECKING([for ADOL-C]) 982 923 if test "x${ADOLC_ROOT}" == "xno"; then 983 924 HAVE_ADOLC=no … … 1004 945 dnl }}} 1005 946 dnl ADOL-C version{{{ 1006 AC_MSG_CHECKING(for ADOL-C version)1007 947 AC_ARG_WITH( 1008 948 [adolc-version], … … 1011 951 [ADOLC_VERSION=2] 1012 952 ) 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]) 1014 956 AC_MSG_RESULT(${ADOLC_VERSION}) 1015 957 dnl }}} 1016 958 dnl ADIC2 {{{ 1017 AC_MSG_CHECKING([for ADIC2])1018 959 AC_ARG_WITH( 1019 960 [adic2-dir], … … 1022 963 [ADIC2_ROOT="no"] 1023 964 ) 965 AC_MSG_CHECKING([for ADIC2]) 1024 966 if test "x${ADIC2_ROOT}" == "xno"; then 1025 967 HAVE_ADIC2=no … … 1043 985 dnl }}} 1044 986 dnl ATLAS {{{ 1045 AC_MSG_CHECKING(for ATLAS and CBLAS libraries)1046 987 AC_ARG_WITH( 1047 988 [atlas-dir], … … 1050 991 [ATLAS_ROOT="no"] 1051 992 ) 993 AC_MSG_CHECKING(for ATLAS and CBLAS libraries) 1052 994 if test "x${ATLAS_ROOT}" == "xno"; then 1053 995 HAVE_ATLAS=no … … 1066 1008 ATLASLIB="-L`cygpath -m ${ATLAS_ROOT}` -Wl,libatlas.lib -Wl,libcblas.lib" 1067 1009 ;; 1010 *linux*) 1011 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm " 1012 ;; 1068 1013 *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 " 1079 1015 ;; 1080 1016 esac … … 1084 1020 dnl }}} 1085 1021 dnl GSL{{{ 1086 AC_MSG_CHECKING([for GSL])1087 1022 AC_ARG_WITH( 1088 1023 [gsl-dir], … … 1091 1026 [GSL_ROOT="no"] 1092 1027 ) 1028 AC_MSG_CHECKING([for GSL]) 1093 1029 if test "x${GSL_ROOT}" == "xno"; then 1094 1030 HAVE_GSL=no … … 1116 1052 dnl }}} 1117 1053 dnl AMPI (ADOL-C){{{ 1118 AC_MSG_CHECKING([for AMPI])1119 1054 AC_ARG_WITH( 1120 1055 [ampi-dir], … … 1123 1058 [AMPI_ROOT="no"] 1124 1059 ) 1060 AC_MSG_CHECKING([for AMPI]) 1125 1061 if test "x${AMPI_ROOT}" == "xno"; then 1126 1062 HAVE_AMPI=no … … 1152 1088 dnl }}} 1153 1089 dnl Adjoint MPI (CoDiPack){{{ 1154 AC_MSG_CHECKING([for Adjoint MPI])1155 1090 AC_ARG_WITH( 1156 1091 [adjointmpi-dir], … … 1159 1094 [ADJOINTMPI_ROOT="no"] 1160 1095 ) 1096 AC_MSG_CHECKING([for Adjoint MPI]) 1161 1097 if test "x${ADJOINTMPI_ROOT}" == "xno"; then 1162 1098 HAVE_ADJOINTMPI=no … … 1186 1122 dnl }}} 1187 1123 dnl MeDiPack (CoDiPack, ADOL-C dev){{{ 1188 AC_MSG_CHECKING([for MeDiPack])1189 1124 AC_ARG_WITH( 1190 1125 [medipack-dir], … … 1193 1128 [MEDIPACK_ROOT="no"] 1194 1129 ) 1130 AC_MSG_CHECKING([for MeDiPack]) 1195 1131 if test "x${MEDIPACK_ROOT}" == "xno"; then 1196 1132 HAVE_MEDIPACK=no … … 1218 1154 dnl }}} 1219 1155 dnl HDF5 {{{ 1220 AC_MSG_CHECKING(for HDF5 libraries)1221 1156 AC_ARG_WITH( 1222 1157 [hdf5-dir], … … 1225 1160 [HDF5_ROOT="no"] 1226 1161 ) 1162 AC_MSG_CHECKING(for HDF5 libraries) 1227 1163 if test "x${HDF5_ROOT}" == "xno"; then 1228 1164 HAVE_HDF5=no … … 1245 1181 HDF5LIB="-L`cygpath -m ${HDF5_ROOT}` -Wl,libhdf5.lib -Wl,libhdf5_hl.lib" 1246 1182 ;; 1247 *darwin*)1248 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl"1249 ;;1250 1183 *linux*) 1251 1184 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl" 1252 1185 ;; 1253 *mingw*) 1254 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl" 1255 ;; 1256 *msys*) 1186 *darwin*) 1257 1187 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl" 1258 1188 ;; … … 1263 1193 dnl }}} 1264 1194 dnl PETSc{{{ 1265 AC_MSG_CHECKING([for PETSc])1266 1195 AC_ARG_WITH( 1267 1196 [petsc-dir], … … 1270 1199 [PETSC_ROOT="no"] 1271 1200 ) 1201 AC_MSG_CHECKING([for PETSc]) 1272 1202 if test "x${PETSC_ROOT}" == "xno"; then 1273 1203 HAVE_PETSC=no … … 1290 1220 PETSC_MAJOR=`cat ${PETSC_ROOT}/include/petscversion.h | grep "#define PETSC_VERSION_MAJOR" | sed 's/#define PETSC_VERSION_MAJOR//' | sed 's/ //g'` 1291 1221 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]) 1294 1224 AC_MSG_RESULT([${PETSC_MAJOR}.${PETSC_MINOR}]) 1295 1225 … … 1332 1262 PETSCLIB="/link -Wl,/LIBPATH:`cygpath -m ${PETSC_ROOT}/lib` -Wl,libpetsc.lib" 1333 1263 PETSCINCL="/I`cygpath -m ${PETSC_ROOT}/include`" 1334 fi1335 ;;1336 *darwin*)1337 if test ${PETSC_MAJOR} -lt 3; then1338 PETSCLIB="-L${PETSC_ROOT}/lib -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetscsnes -lpetscts -lpetsc"1339 else1340 PETSCLIB="-L${PETSC_ROOT}/lib -lpetsc"1341 if test ${PETSC_MAJOR} -gt 3 || test ${PETSC_MINOR} -ge 3; then1342 PETSCLIB+=" -lmetis"1343 fi1344 1264 fi 1345 1265 ;; … … 1360 1280 fi 1361 1281 ;; 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 1367 1291 ;; 1368 1292 esac … … 1375 1299 dnl MPI{{{ 1376 1300 AC_MSG_CHECKING(for MPI) 1301 1377 1302 AC_ARG_WITH( 1378 1303 [mpi-include], … … 1381 1306 [MPI_INCLUDE=""] 1382 1307 ) 1308 1383 1309 AC_ARG_WITH( 1384 1310 [mpi-libdir], … … 1387 1313 [MPI_LIBDIR=""] 1388 1314 ) 1315 1389 1316 AC_ARG_WITH( 1390 1317 [mpi-libflags], … … 1393 1320 [MPI_LIBFLAGS=""] 1394 1321 ) 1322 1395 1323 if test -z "${MPI_INCLUDE}"; then 1396 1324 HAVE_MPI=no … … 1435 1363 dnl }}} 1436 1364 dnl SCOTCH{{{ 1437 AC_MSG_CHECKING([for SCOTCH])1438 1365 AC_ARG_WITH( 1439 1366 [scotch-dir], … … 1442 1369 [SCOTCH_ROOT="no"] 1443 1370 ) 1371 AC_MSG_CHECKING([for SCOTCH]) 1444 1372 if test "x${SCOTCH_ROOT}" == "xno"; then 1445 1373 HAVE_SCOTCH=no … … 1474 1402 dnl }}} 1475 1403 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 1487 1424 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 1498 1432 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"]) 1605 1480 dnl }}} 1606 1481 dnl Toolkit for Advanced Optimization (TAO){{{ 1607 AC_MSG_CHECKING([for TAO])1608 1482 AC_ARG_WITH( 1609 1483 [tao-dir], … … 1612 1486 [TAO_ROOT="no"] 1613 1487 ) 1488 AC_MSG_CHECKING([for TAO]) 1489 1614 1490 if test "x${HAVE_PETSC}" == "xyes" && test "x${PETSC_MAJOR}" == "x3" && test ${PETSC_MINOR} -ge 5; then 1615 1491 dnl In PETSc >= 3.5, TAO is provided … … 1639 1515 dnl }}} 1640 1516 dnl M1QN3{{{ 1641 AC_MSG_CHECKING([for M1QN3])1642 1517 AC_ARG_WITH( 1643 1518 [m1qn3-dir], … … 1646 1521 [M1QN3_ROOT="no"] 1647 1522 ) 1523 AC_MSG_CHECKING([for M1QN3]) 1648 1524 if test "x${M1QN3_ROOT}" == "xno"; then 1649 1525 HAVE_M1QN3=no … … 1664 1540 dnl }}} 1665 1541 dnl PROJ{{{ 1666 AC_MSG_CHECKING([for PROJ])1667 1542 AC_ARG_WITH( 1668 1543 [proj-dir], … … 1671 1546 [PROJ_ROOT="no"] 1672 1547 ) 1548 AC_MSG_CHECKING([for PROJ]) 1673 1549 if test "x${PROJ_ROOT}" == "xno"; then 1674 1550 HAVE_PROJ=no … … 1692 1568 dnl }}} 1693 1569 dnl SLEPc{{{ 1694 AC_MSG_CHECKING([for SLEPc])1695 1570 AC_ARG_WITH( 1696 1571 [slepc-dir], … … 1699 1574 [SLEPC_ROOT="no"] 1700 1575 ) 1576 AC_MSG_CHECKING([for SLEPc]) 1701 1577 if test "x${SLEPC_ROOT}" == "xno"; then 1702 1578 HAVE_SLEPC=no … … 1719 1595 dnl }}} 1720 1596 dnl shapelib{{{ 1721 AC_MSG_CHECKING([for shapelib])1722 1597 AC_ARG_WITH( 1723 1598 [shapelib-dir], … … 1726 1601 [SHAPELIB_ROOT="no"] 1727 1602 ) 1603 AC_MSG_CHECKING([for shapelib]) 1728 1604 if test "x${SHAPELIB_ROOT}" == "xno"; then 1729 1605 HAVE_SHAPELIB=no … … 1746 1622 dnl }}} 1747 1623 dnl ScaLAPACK{{{ 1624 1748 1625 dnl NOTE: User should supply path to root directory or libraries, but not both 1749 dnl1750 AC_MSG_CHECKING([for ScaLAPACK])1751 1626 AC_ARG_WITH( 1752 1627 [scalapack-dir], … … 1761 1636 [SCALAPACKLIB="no"] 1762 1637 ) 1638 AC_MSG_CHECKING([for ScaLAPACK]) 1763 1639 if test "x${SCALAPACK_ROOT}" == "xno" && test "x${SCALAPACKLIB}" == "xno"; then 1764 1640 HAVE_SCALAPACK=no … … 1769 1645 fi 1770 1646 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" 1776 1648 elif test "x${SCALAPACKLIB}" != "xno"; then 1777 1649 dnl Value of SCALAPACKLIB should be valid here, so no need to set it (as above) … … 1789 1661 dnl }}} 1790 1662 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 )1804 1663 AC_ARG_WITH( 1805 1664 [blas-lapack-dir], … … 1808 1667 [BLASLAPACK_ROOT="no"] 1809 1668 ) 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 1811 1671 HAVE_BLASLAPACK=no 1812 1672 else 1813 1673 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!]); 1818 1676 fi 1819 1677 fi … … 1822 1680 dnl BLAS/LAPACK libraries and header files 1823 1681 if test "x${HAVE_BLASLAPACK}" == "xyes"; then 1682 BLASLAPACKINCL="" 1824 1683 case "${host_os}" in 1825 1684 *cygwin*) … … 1850 1709 fi 1851 1710 ;; 1852 *mingw*)1853 if test -d "${BLASLAPACK_ROOT}"; then1854 BLASLAPACKLIB="-L${BLASLAPACK_ROOT}/lib"1855 if ls ${BLASLAPACK_ROOT}/lib/libopenblas.* 1> /dev/null 2>&1; then1856 BLASLAPACKLIB+=" -lopenblas"1857 elif ls ${BLASLAPACK_ROOT}/lib/libf2clapack.* 1> /dev/null 2>&1; then1858 BLASLAPACKLIB+=" -lf2clapack -lf2cblas"1859 elif ls ${BLASLAPACK_ROOT}/lib/libflapack.* 1> /dev/null 2>&1; then1860 BLASLAPACKLIB="-Wl,${BLASLAPACK_ROOT}/lib/libflapack.a -Wl,${BLASLAPACK_ROOT}/lib/libfblas.a"1861 else1862 BLASLAPACKLIB+=" -llapack -lblas"1863 fi1864 else1865 BLASLAPACKLIB="-Wl,${LAPACK_ROOT}/lib/liblapack.a -Wl,${BLAS_ROOT}/lib/libblas.a"1866 fi1867 ;;1868 *msys*)1869 if test -d "${BLASLAPACK_ROOT}"; then1870 if ls ${BLASLAPACK_ROOT}/lib/libopenblas.* 1> /dev/null 2>&1; then1871 BLASLAPACKLIB=" -lopenblas"1872 elif ls ${BLASLAPACK_ROOT}/lib/libf2clapack.* 1> /dev/null 2>&1; then1873 BLASLAPACKLIB=" -lf2clapack -lf2cblas"1874 elif ls ${BLASLAPACK_ROOT}/lib/libflapack.* 1> /dev/null 2>&1; then1875 BLASLAPACKLIB+=" -lflapack -lfblas"1876 else1877 BLASLAPACKLIB=" -llapack -lblas"1878 fi1879 else1880 BLASLAPACKLIB="-L${LAPACK_ROOT}/lib -llapack -L${BLAS_ROOT}/lib -lblas"1881 fi1882 ;;1883 1711 esac 1884 1712 AC_DEFINE([_HAVE_BLASLAPACK_], [1], [with BLAS/LAPACK in ISSM src]) 1885 1713 AC_SUBST([BLASLAPACKLIB]) 1714 AC_SUBST([BLASLAPACKINCL]) 1886 1715 fi 1887 1716 dnl }}} 1888 1717 dnl Math Kernel Library (MKL){{{ 1889 AC_MSG_CHECKING([for MKL])1890 1718 AC_ARG_WITH( 1891 1719 [mkl-libflags], … … 1894 1722 [MKL_LIBFLAGS="no"] 1895 1723 ) 1724 AC_MSG_CHECKING([for MKL]) 1896 1725 if test "x${MKL_LIBFLAGS}" == "xno"; then 1897 1726 HAVE_MKL=no … … 1906 1735 dnl }}} 1907 1736 dnl PlaLAPACK{{{ 1737 1908 1738 dnl TODO: Handle user supplying path to root directory *or* individual 1909 1739 dnl arguments (like ScaLAPACK) … … 1940 1770 dnl }}} 1941 1771 dnl MUMPS{{{ 1942 AC_MSG_CHECKING([for MUMPS])1943 1772 AC_ARG_WITH( 1944 1773 [mumps-dir], … … 1947 1776 [MUMPS_ROOT="no"] 1948 1777 ) 1778 AC_MSG_CHECKING([for MUMPS]) 1949 1779 if test "x${MUMPS_ROOT}" == "xno"; then 1950 1780 HAVE_MUMPS=no … … 1961 1791 MUMPSINCL="-I${MUMPS_ROOT}/include" 1962 1792 if test "x${MUMPS_ROOT}" == "x${PETSC_ROOT}"; then 1963 if test " ${VENDOR}" == "win-msys2"; then1964 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 " 1965 1795 else 1966 1796 MUMPSLIB="-L${MUMPS_ROOT}/lib -ldmumps -lcmumps -lmumps_common -lpord -lparmetis -lzmumps -lmetis" … … 2011 1841 dnl }}} 2012 1842 dnl BLACS{{{ 2013 AC_MSG_CHECKING([for BLACS])2014 1843 AC_ARG_WITH( 2015 1844 [blacs-dir], … … 2018 1847 [BLACS_ROOT="no"] 2019 1848 ) 1849 AC_MSG_CHECKING([for BLACS]) 2020 1850 if test "x${BLACS_ROOT}" == "xno"; then 2021 1851 HAVE_BLACS=no … … 2038 1868 dnl }}} 2039 1869 dnl HYPRE{{{ 2040 AC_MSG_CHECKING([for HYPRE])2041 1870 AC_ARG_WITH( 2042 1871 [hypre-dir], … … 2045 1874 [HYPRE_ROOT="no"] 2046 1875 ) 1876 AC_MSG_CHECKING([for HYPRE]) 2047 1877 if test "x${HYPRE_ROOT}" == "xno"; then 2048 1878 HAVE_HYPRE=no … … 2065 1895 dnl }}} 2066 1896 dnl Prometheus{{{ 2067 AC_MSG_CHECKING([for Prometheus])2068 1897 AC_ARG_WITH( 2069 1898 [prometheus-dir], … … 2072 1901 [PROMETHEUS_ROOT="no"] 2073 1902 ) 1903 AC_MSG_CHECKING([for Prometheus]) 2074 1904 if test "x${PROMETHEUS_ROOT}" == "xno"; then 2075 1905 HAVE_PROMETHEUS=no … … 2092 1922 dnl }}} 2093 1923 dnl SEMIC{{{ 2094 AC_MSG_CHECKING([for SEMIC])2095 1924 AC_ARG_WITH( 2096 1925 [semic-dir], … … 2099 1928 [SEMIC_ROOT="no"] 2100 1929 ) 1930 AC_MSG_CHECKING([for SEMIC]) 2101 1931 if test "x${SEMIC_ROOT}" == "xno"; then 2102 1932 HAVE_SEMIC=no … … 2120 1950 dnl }}} 2121 1951 dnl SPAI{{{ 2122 AC_MSG_CHECKING([for SPAI])2123 1952 AC_ARG_WITH( 2124 1953 [spai-dir], … … 2127 1956 [SPAI_ROOT="no"] 2128 1957 ) 1958 AC_MSG_CHECKING([for SPAI]) 2129 1959 if test "x${SPAI_ROOT}" == "xno"; then 2130 1960 HAVE_SPAI=no … … 2147 1977 dnl }}} 2148 1978 dnl SuperLU{{{ 2149 AC_MSG_CHECKING([for SuperLU])2150 1979 AC_ARG_WITH( 2151 1980 [superlu-dir], … … 2154 1983 [SUPERLU_ROOT="no"] 2155 1984 ) 1985 AC_MSG_CHECKING([for SuperLU]) 2156 1986 if test "x${SUPERLU_ROOT}" == "xno"; then 2157 1987 HAVE_SUPERLU=no … … 2174 2004 dnl }}} 2175 2005 dnl SPOOLES{{{ 2176 AC_MSG_CHECKING([for SPOOLES])2177 2006 AC_ARG_WITH( 2178 2007 [spooles-dir], … … 2181 2010 [SPOOLES_ROOT="no"] 2182 2011 ) 2012 AC_MSG_CHECKING([for SPOOLES]) 2183 2013 if test "x${SPOOLES_ROOT}" == "xno"; then 2184 2014 HAVE_SPOOLES=no … … 2201 2031 dnl }}} 2202 2032 dnl PaStiX{{{ 2203 AC_MSG_CHECKING([for PaStiX])2204 2033 AC_ARG_WITH( 2205 2034 [pastix-dir], … … 2208 2037 [PASTIX_ROOT="no"] 2209 2038 ) 2039 AC_MSG_CHECKING([for PaStiX]) 2210 2040 if test "x${PASTIX_ROOT}" == "xno"; then 2211 2041 HAVE_PASTIX=no … … 2229 2059 dnl }}} 2230 2060 dnl ml{{{ 2231 AC_MSG_CHECKING([for ml])2232 2061 AC_ARG_WITH( 2233 2062 [ml-dir], … … 2236 2065 [ML_ROOT="no"] 2237 2066 ) 2067 AC_MSG_CHECKING([for ml]) 2238 2068 if test "x${ML_ROOT}" == "xno"; then 2239 2069 HAVE_ML=no … … 2256 2086 dnl }}} 2257 2087 dnl UMFPACK{{{ 2258 AC_MSG_CHECKING([for UMFPACK])2259 2088 AC_ARG_WITH( 2260 2089 [umfpack-dir], … … 2263 2092 [UMFPACK_ROOT="no"] 2264 2093 ) 2094 AC_MSG_CHECKING([for UMFPACK]) 2265 2095 if test "x${UMFPACK_ROOT}" == "xno"; then 2266 2096 HAVE_UMFPACK=no … … 2299 2129 dnl }}} 2300 2130 dnl MATH77{{{ 2301 AC_MSG_CHECKING([for MATH77])2302 2131 AC_ARG_WITH( 2303 2132 [math77-dir], … … 2306 2135 [MATH77_ROOT="no"] 2307 2136 ) 2137 AC_MSG_CHECKING([for MATH77]) 2308 2138 if test "x${MATH77_ROOT}" == "xno"; then 2309 2139 HAVE_MATH77=no … … 2324 2154 dnl }}} 2325 2155 dnl Fortran{{{ 2326 AC_MSG_CHECKING(for Fortran compilation)2327 2156 AC_ARG_WITH( 2328 2157 [fortran], … … 2331 2160 [FORTRAN=yes] 2332 2161 ) 2162 AC_MSG_CHECKING(for Fortran compilation) 2333 2163 if test "x${FORTRAN}" == "xyes"; then 2334 2164 HAVE_FORTRAN=yes … … 2394 2224 dnl }}} 2395 2225 dnl MeteoIO{{{ 2396 AC_MSG_CHECKING([for MeteoIO])2397 2226 AC_ARG_WITH( 2398 2227 [meteoio-dir], … … 2401 2230 [METEOIO_ROOT="no"] 2402 2231 ) 2232 AC_MSG_CHECKING([for MeteoIO]) 2403 2233 if test "x${METEOIO_ROOT}" == "xno"; then 2404 2234 HAVE_METEOIO=no … … 2423 2253 dnl }}} 2424 2254 dnl SNOWPACK{{{ 2425 AC_MSG_CHECKING([for SNOWPACK])2426 2255 AC_ARG_WITH( 2427 2256 [snowpack-dir], … … 2430 2259 [SNOWPACK_ROOT="no"] 2431 2260 ) 2261 AC_MSG_CHECKING([for SNOWPACK]) 2432 2262 if test "x${SNOWPACK_ROOT}" == "xno"; then 2433 2263 HAVE_SNOWPACK=no … … 2451 2281 dnl }}} 2452 2282 dnl NeoPZ{{{ 2453 AC_MSG_CHECKING([for NeoPZ])2454 2283 AC_ARG_WITH( 2455 2284 [neopz-dir], … … 2458 2287 [NEOPZ_ROOT="no"] 2459 2288 ) 2289 AC_MSG_CHECKING([for NeoPZ]) 2460 2290 if test "x${NEOPZ_ROOT}" == "xno"; then 2461 2291 HAVE_NEOPZ=no … … 2526 2356 GMSH_VERSION_MAJOR=`${GMSH_ROOT}/bin/gmsh -info | grep "Version" | sed -e "s/Version@<:@@<:@:blank:@:>@@:>@*:@<:@@<:@:blank:@:>@@:>@//" | cut -d "." -f 1` 2527 2357 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]) 2529 2359 fi 2530 2360 dnl }}} 2531 2361 dnl Capabilities 2532 2362 dnl with-bamg{{{ 2533 AC_MSG_CHECKING([for BAMG capability compilation])2534 2363 AC_ARG_WITH( 2535 2364 [bamg], … … 2538 2367 [BAMG=yes] 2539 2368 ) 2369 AC_MSG_CHECKING([for BAMG capability compilation]) 2540 2370 HAVE_BAMG=no 2541 2371 if test "x${BAMG}" == "xyes"; then … … 2547 2377 dnl }}} 2548 2378 dnl with-ocean{{{ 2549 AC_MSG_CHECKING(for ice/ocean coupling capability compilation)2550 2379 AC_ARG_WITH( 2551 2380 [ocean], … … 2554 2383 [OCEAN=no] 2555 2384 ) 2385 AC_MSG_CHECKING(for ice/ocean coupling capability compilation) 2386 2556 2387 HAVE_OCEAN=no 2557 2388 if test "x${OCEAN}" == "xyes"; then … … 2563 2394 dnl }}} 2564 2395 dnl with-kml{{{ 2565 AC_MSG_CHECKING(for kml capability compilation)2566 2396 AC_ARG_WITH( 2567 2397 [kml], … … 2570 2400 [KML=no] 2571 2401 ) 2402 AC_MSG_CHECKING(for kml capability compilation) 2403 2572 2404 HAVE_KML=no 2573 2405 if test "x${KML}" == "xyes"; then … … 2579 2411 dnl }}} 2580 2412 dnl with-kriging{{{ 2581 AC_MSG_CHECKING(for kriging capability compilation)2582 2413 AC_ARG_WITH( 2583 2414 [kriging], … … 2586 2417 [KRIGING=yes] 2587 2418 ) 2419 AC_MSG_CHECKING(for kriging capability compilation) 2420 2588 2421 HAVE_KRIGING=no 2589 2422 if test "x${KRIGING}" == "xyes"; then … … 2600 2433 dnl Platform specifics 2601 2434 dnl with-ios{{{ 2602 AC_MSG_CHECKING(for iOS compilation)2603 2435 AC_ARG_WITH( 2604 2436 [ios], … … 2607 2439 [IOS=no] 2608 2440 ) 2441 AC_MSG_CHECKING(for iOS compilation) 2442 2609 2443 HAVE_IOS=no 2610 2444 if test "x${IOS}" == "xyes"; then … … 2616 2450 dnl }}} 2617 2451 dnl with-android{{{ 2618 AC_MSG_CHECKING([for Android capability compilation])2619 2452 AC_ARG_WITH( 2620 2453 [android], 2621 2454 AS_HELP_STRING([--with-android=EXE], [compile with Android capabilities (default: "no"; alternatives: "exe", "jni")]), 2622 2455 [ANDROID=${withval}], 2623 [ANDROID=no] 2624 ) 2456 [ANDROID=no]) 2457 AC_MSG_CHECKING([for Android capability compilation]) 2458 2625 2459 if test "x${ANDROID}" == "xjni"; then 2626 2460 HAVE_ANDROID=jni … … 2641 2475 dnl }}} 2642 2476 dnl with-android-ndk{{{ 2643 AC_MSG_CHECKING([with Android Native Development Kit (NDK)])2644 2477 AC_ARG_WITH( 2645 2478 [android-ndk], … … 2648 2481 [ANDROID_NDK_ROOT=""] 2649 2482 ) 2483 AC_MSG_CHECKING([with Android Native Development Kit (NDK)]) 2484 2650 2485 if test -d "${ANDROID_NDK_ROOT}"; then 2651 2486 HAVE_ANDROID_NDK=yes … … 2661 2496 dnl other options 2662 2497 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? 2665 2499 AC_ARG_WITH( 2666 2500 [cxxoptflags], 2667 2501 AS_HELP_STRING([--with-cxxoptflags=CXXOPTFLAGS], [C++ optimization flags (i.e. --with-cxxoptflags="-march=opteron -O3 -std=c++11"]), 2668 2502 [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) 2671 2506 AC_SUBST([CXXOPTFLAGS]) 2672 AC_MSG_RESULT([ ${CXXOPTFLAGS}])2507 AC_MSG_RESULT([done]) 2673 2508 dnl }}} 2674 2509 dnl multithreading{{{ 2675 AC_MSG_CHECKING(for number of threads)2676 2510 AC_ARG_WITH( 2677 2511 [numthreads], … … 2680 2514 [NUMTHREADS_VALUE=1] 2681 2515 ) 2516 AC_MSG_CHECKING(for number of threads) 2682 2517 dnl Check that supplied value is an integer 2683 2518 if [[ "${NUMTHREADS_VALUE}" != "${NUMTHREADS_VALUE}" 2> /dev/null ]]; then … … 2694 2529 MULTITHREADINGLIB="-lpthread -lrt" 2695 2530 ;; 2531 *linux*) 2532 MULTITHREADINGLIB="-lpthread -lrt" 2533 ;; 2696 2534 *darwin*) 2697 2535 MULTITHREADINGLIB="-lpthread" 2698 2536 ;; 2699 *linux*)2700 MULTITHREADINGLIB="-lpthread -lrt"2701 ;;2702 *mingw*)2703 MULTITHREADINGLIB=""2704 ;;2705 *msys*)2706 MULTITHREADINGLIB=""2707 ;;2708 2537 esac 2709 2538 AC_DEFINE([_MULTITHREADING_], [1], [with multithreading enabled]) 2710 2539 fi 2711 AC_DEFINE_UNQUOTED( [_NUMTHREADS_], ${NUMTHREADS_VALUE}, [number of threads])2540 AC_DEFINE_UNQUOTED(_NUMTHREADS_, $NUMTHREADS_VALUE, [number of threads]) 2712 2541 AC_SUBST([MULTITHREADINGLIB]) 2713 2542 AC_MSG_RESULT([${NUMTHREADS_VALUE}]) 2714 2543 dnl }}} 2715 2544 dnl 64-bit indices{{{ 2716 AC_MSG_CHECKING([for 64-bit indices])2717 2545 AC_ARG_WITH( 2718 2546 [64bit-indices], … … 2721 2549 [USE_64BIT_INDICES=0] 2722 2550 ) 2551 AC_MSG_CHECKING([for 64-bit indices]) 2552 2723 2553 if test "x${USE_64BIT_INDICES}" == "x1"; then 2724 2554 AC_DEFINE([ISSM_USE_64BIT_INDICES], [1], [with 64-bit indices]) … … 2730 2560 2731 2561 dnl Checks {{{ 2732 AC_MSG_CHECKING(consistency between all external packages)2562 AC_MSG_CHECKING(consistency between all libraries) 2733 2563 2734 2564 dnl Check that if PETSc is requested, MPI is specified … … 2760 2590 2761 2591 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"; then2592 if test "x$HAVE_ADOLC" == "xyes" && test "${HAVE_KRIGING}" == "xyes"; then 2763 2593 AC_MSG_ERROR([cannot compile kriging.exe under ADOL-C conditions!]); 2764 2594 fi
Note:
See TracChangeset
for help on using the changeset viewer.