Changeset 26044
- Timestamp:
- 03/08/21 16:32:33 (4 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/jenkins/jenkins.sh
r26036 r26044 12 12 # - Investigate refactoring parsing of list of changed files 13 13 ################################################################################ 14 15 # Override certain aliases 16 alias grep=$(which grep) 14 17 15 18 echo "Cleaning up execution directory" -
issm/trunk-jpl/m4/issm_options.m4
r26036 r26044 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 … … 546 601 547 602 AC_MSG_CHECKING(for Dakota version) 548 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 550 dnl compiled). If so, we can remove the other methods of 551 dnl getting the version. 603 dnl TODO: 604 dnl - Check if this method applies to all other versions of Dakota (it 605 dnl should as long as the Dakota binaries have been compiled). If so, 606 dnl we can remove the other methods of getting the version. 607 dnl - Modify src/wrappers/IssmConfig/IssmConfig.cpp so that strlen is 608 dnl not called with _DAKOTA_VERSION_ as an argument so that we can 609 dnl do, 610 dnl 611 dnl AC_DEFINE_UNQUOTED([_DAKOTA_VERSION_], ${DAKOTA_VERSION}, [Dakota version number]) 552 612 dnl 553 613 DAKOTA_VERSION_OUTPUT=`${DAKOTA_ROOT}/bin/dakota -v` … … 679 739 AC_MSG_CHECKING(for Dakota major version) 680 740 AC_MSG_RESULT(${DAKOTA_MAJOR}) 681 AC_DEFINE_UNQUOTED( _DAKOTA_MAJOR_, $DAKOTA_MAJOR, [Dakota major version number])741 AC_DEFINE_UNQUOTED([_DAKOTA_MAJOR_], ${DAKOTA_MAJOR}, [Dakota major version number]) 682 742 AC_MSG_CHECKING(for Dakota minor version) 683 743 AC_MSG_RESULT(${DAKOTA_MINOR}) 684 AC_DEFINE_UNQUOTED( _DAKOTA_MINOR_, $DAKOTA_MINOR, [Dakota minor version number])744 AC_DEFINE_UNQUOTED([_DAKOTA_MINOR_], ${DAKOTA_MINOR}, [Dakota minor version number]) 685 745 AC_MSG_CHECKING(for Dakota build version) 686 746 AC_MSG_RESULT(${DAKOTA_BUILD}) 687 AC_DEFINE_UNQUOTED( _DAKOTA_BUILD_, $DAKOTA_BUILD, [Dakota build version number])747 AC_DEFINE_UNQUOTED([_DAKOTA_BUILD_], ${DAKOTA_BUILD}, [Dakota build version number]) 688 748 689 749 AC_DEFINE([_HAVE_DAKOTA_], [1], [with Dakota in ISSM src]) … … 695 755 dnl }}} 696 756 dnl Python{{{ 757 AC_MSG_CHECKING([for Python]) 697 758 AC_ARG_WITH( 698 759 [python-dir], … … 708 769 [PYTHON_VERSION="no"] 709 770 ) 710 AC_MSG_CHECKING([for Python])711 771 if test "x${PYTHON_ROOT}" == "xno"; then 712 772 HAVE_PYTHON=no … … 735 795 dnl Determine major version 736 796 PYTHON_MAJOR=${PYTHON_VERSION%.*} 737 AC_DEFINE_UNQUOTED( _PYTHON_MAJOR_, $PYTHON_MAJOR, [Python version major])797 AC_DEFINE_UNQUOTED([_PYTHON_MAJOR_], ${PYTHON_MAJOR}, [Python version major]) 738 798 if test "x${PYTHON_MAJOR}" == "x3"; then 739 799 HAVE_PYTHON3="yes" … … 751 811 PYTHONINCL=-I${PYTHON_ROOT}/include/python${PYTHON_VERSION}m 752 812 else 753 AC_MSG_ERROR([Python.h not found , locate this file and contact ISSM developers]);813 AC_MSG_ERROR([Python.h not found! Please locate this file and contact ISSM developers via forum or email.]); 754 814 fi 755 815 AC_MSG_RESULT([found]) … … 764 824 PYTHONLINK="-shared" 765 825 ;; 826 *darwin*) 827 PYTHONLINK="-dynamiclib" 828 ;; 766 829 *linux*) 767 830 PYTHONLINK="-shared" 768 831 ;; 769 *darwin*) 770 PYTHONLINK="-dynamiclib" 832 *mingw*) 833 PYTHONLINK="-shared" 834 ;; 835 *msys*) 836 PYTHONLINK="-shared" 771 837 ;; 772 838 esac … … 781 847 dnl }}} 782 848 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 849 dnl NOTE: You can find NumPy by running, 795 850 dnl … … 797 852 dnl >>> numpy.__file__ 798 853 dnl 799 854 dnl TODO: 855 dnl - Replace references to python-numpy with numpy (and similar terms) 856 dnl project-wide 857 dnl 800 858 AC_MSG_CHECKING(for python-numpy) 859 AC_ARG_WITH( 860 [python-numpy-dir], 861 AS_HELP_STRING([--with-python-numpy-dir=DIR], [python-numpy root directory]), 862 [PYTHON_NUMPY_ROOT=${withval}], 863 [PYTHON_NUMPY_ROOT="no"] 864 ) 801 865 if test "x${PYTHON_NUMPY_ROOT}" == "xno"; then 802 866 HAVE_PYTHON_NUMPY=no … … 817 881 dnl }}} 818 882 dnl Chaco{{{ 883 AC_MSG_CHECKING([for Chaco]) 819 884 AC_ARG_WITH( 820 885 [chaco-dir], … … 823 888 [CHACO_ROOT="no"] 824 889 ) 825 AC_MSG_CHECKING([for Chaco])826 890 if test "x${CHACO_ROOT}" == "xno"; then 827 891 HAVE_CHACO=no … … 845 909 dnl }}} 846 910 dnl ESMF{{{ 911 AC_MSG_CHECKING([for ESMF]) 847 912 AC_ARG_WITH( 848 913 [esmf-dir], … … 851 916 [ESMF_ROOT="no"] 852 917 ) 853 AC_MSG_CHECKING([for ESMF])854 918 if test "x${ESMF_ROOT}" == "xno"; then 855 919 HAVE_ESMF=no … … 873 937 dnl }}} 874 938 dnl CoDiPack{{{ 939 AC_MSG_CHECKING([for CoDiPack]) 875 940 AC_ARG_WITH( 876 941 [codipack-dir], … … 879 944 [CODIPACK_ROOT="no"] 880 945 ) 881 AC_MSG_CHECKING([for CoDiPack])882 946 if test "x${CODIPACK_ROOT}" == "xno"; then 883 947 HAVE_CODIPACK=no … … 901 965 dnl }}} 902 966 dnl Tape Allocation {{{ 967 AC_MSG_CHECKING(for tape allocation) 903 968 AC_ARG_ENABLE( 904 969 [tape-alloc], dnl feature … … 907 972 [enable_tape_alloc=no] 908 973 ) 909 AC_MSG_CHECKING(for tape allocation)910 974 if test "x${enable_tape_alloc}" == "xyes"; then 911 975 AC_DEFINE([_AD_TAPE_ALLOC_], [1], [enable a priori tape allocation for AD]) … … 914 978 dnl }}} 915 979 dnl ADOL-C {{{ 980 AC_MSG_CHECKING([for ADOL-C]) 916 981 AC_ARG_WITH( 917 982 [adolc-dir], … … 920 985 [ADOLC_ROOT="no"] 921 986 ) 922 AC_MSG_CHECKING([for ADOL-C])923 987 if test "x${ADOLC_ROOT}" == "xno"; then 924 988 HAVE_ADOLC=no … … 945 1009 dnl }}} 946 1010 dnl ADOL-C version{{{ 1011 AC_MSG_CHECKING(for ADOL-C version) 947 1012 AC_ARG_WITH( 948 1013 [adolc-version], … … 951 1016 [ADOLC_VERSION=2] 952 1017 ) 953 AC_MSG_CHECKING(for ADOL-C version) 954 955 AC_DEFINE_UNQUOTED(_ADOLC_VERSION_, $ADOLC_VERSION, [ADOL-C version]) 1018 AC_DEFINE_UNQUOTED([_ADOLC_VERSION_], ${ADOLC_VERSION}, [ADOL-C version]) 956 1019 AC_MSG_RESULT(${ADOLC_VERSION}) 957 1020 dnl }}} 958 1021 dnl ADIC2 {{{ 1022 AC_MSG_CHECKING([for ADIC2]) 959 1023 AC_ARG_WITH( 960 1024 [adic2-dir], … … 963 1027 [ADIC2_ROOT="no"] 964 1028 ) 965 AC_MSG_CHECKING([for ADIC2])966 1029 if test "x${ADIC2_ROOT}" == "xno"; then 967 1030 HAVE_ADIC2=no … … 985 1048 dnl }}} 986 1049 dnl ATLAS {{{ 1050 AC_MSG_CHECKING(for ATLAS and CBLAS libraries) 987 1051 AC_ARG_WITH( 988 1052 [atlas-dir], … … 991 1055 [ATLAS_ROOT="no"] 992 1056 ) 993 AC_MSG_CHECKING(for ATLAS and CBLAS libraries)994 1057 if test "x${ATLAS_ROOT}" == "xno"; then 995 1058 HAVE_ATLAS=no … … 1008 1071 ATLASLIB="-L`cygpath -m ${ATLAS_ROOT}` -Wl,libatlas.lib -Wl,libcblas.lib" 1009 1072 ;; 1073 *darwin*) 1074 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm" 1075 ;; 1010 1076 *linux*) 1011 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm " 1012 ;; 1013 *darwin*) 1014 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm " 1077 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm" 1078 ;; 1079 *mingw*) 1080 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm" 1081 ;; 1082 *msys*) 1083 ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm" 1015 1084 ;; 1016 1085 esac … … 1020 1089 dnl }}} 1021 1090 dnl GSL{{{ 1091 AC_MSG_CHECKING([for GSL]) 1022 1092 AC_ARG_WITH( 1023 1093 [gsl-dir], … … 1026 1096 [GSL_ROOT="no"] 1027 1097 ) 1028 AC_MSG_CHECKING([for GSL])1029 1098 if test "x${GSL_ROOT}" == "xno"; then 1030 1099 HAVE_GSL=no … … 1052 1121 dnl }}} 1053 1122 dnl AMPI (ADOL-C){{{ 1123 AC_MSG_CHECKING([for AMPI]) 1054 1124 AC_ARG_WITH( 1055 1125 [ampi-dir], … … 1058 1128 [AMPI_ROOT="no"] 1059 1129 ) 1060 AC_MSG_CHECKING([for AMPI])1061 1130 if test "x${AMPI_ROOT}" == "xno"; then 1062 1131 HAVE_AMPI=no … … 1088 1157 dnl }}} 1089 1158 dnl Adjoint MPI (CoDiPack){{{ 1159 AC_MSG_CHECKING([for Adjoint MPI]) 1090 1160 AC_ARG_WITH( 1091 1161 [adjointmpi-dir], … … 1094 1164 [ADJOINTMPI_ROOT="no"] 1095 1165 ) 1096 AC_MSG_CHECKING([for Adjoint MPI])1097 1166 if test "x${ADJOINTMPI_ROOT}" == "xno"; then 1098 1167 HAVE_ADJOINTMPI=no … … 1122 1191 dnl }}} 1123 1192 dnl MeDiPack (CoDiPack, ADOL-C dev){{{ 1193 AC_MSG_CHECKING([for MeDiPack]) 1124 1194 AC_ARG_WITH( 1125 1195 [medipack-dir], … … 1128 1198 [MEDIPACK_ROOT="no"] 1129 1199 ) 1130 AC_MSG_CHECKING([for MeDiPack])1131 1200 if test "x${MEDIPACK_ROOT}" == "xno"; then 1132 1201 HAVE_MEDIPACK=no … … 1154 1223 dnl }}} 1155 1224 dnl HDF5 {{{ 1225 AC_MSG_CHECKING(for HDF5 libraries) 1156 1226 AC_ARG_WITH( 1157 1227 [hdf5-dir], … … 1160 1230 [HDF5_ROOT="no"] 1161 1231 ) 1162 AC_MSG_CHECKING(for HDF5 libraries)1163 1232 if test "x${HDF5_ROOT}" == "xno"; then 1164 1233 HAVE_HDF5=no … … 1181 1250 HDF5LIB="-L`cygpath -m ${HDF5_ROOT}` -Wl,libhdf5.lib -Wl,libhdf5_hl.lib" 1182 1251 ;; 1252 *darwin*) 1253 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl" 1254 ;; 1183 1255 *linux*) 1184 1256 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl" 1185 1257 ;; 1186 *darwin*) 1258 *mingw*) 1259 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl" 1260 ;; 1261 *msys*) 1187 1262 HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl" 1188 1263 ;; … … 1193 1268 dnl }}} 1194 1269 dnl PETSc{{{ 1270 AC_MSG_CHECKING([for PETSc]) 1195 1271 AC_ARG_WITH( 1196 1272 [petsc-dir], … … 1199 1275 [PETSC_ROOT="no"] 1200 1276 ) 1201 AC_MSG_CHECKING([for PETSc])1202 1277 if test "x${PETSC_ROOT}" == "xno"; then 1203 1278 HAVE_PETSC=no … … 1220 1295 PETSC_MAJOR=`cat ${PETSC_ROOT}/include/petscversion.h | grep "#define PETSC_VERSION_MAJOR" | sed 's/#define PETSC_VERSION_MAJOR//' | sed 's/ //g'` 1221 1296 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])1297 AC_DEFINE_UNQUOTED([_PETSC_MAJOR_], ${PETSC_MAJOR}, [PETSc version major]) 1298 AC_DEFINE_UNQUOTED([_PETSC_MINOR_], ${PETSC_MINOR}, [PETSc version minor]) 1224 1299 AC_MSG_RESULT([${PETSC_MAJOR}.${PETSC_MINOR}]) 1225 1300 … … 1262 1337 PETSCLIB="/link -Wl,/LIBPATH:`cygpath -m ${PETSC_ROOT}/lib` -Wl,libpetsc.lib" 1263 1338 PETSCINCL="/I`cygpath -m ${PETSC_ROOT}/include`" 1339 fi 1340 ;; 1341 *darwin*) 1342 if test ${PETSC_MAJOR} -lt 3; then 1343 PETSCLIB="-L${PETSC_ROOT}/lib -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetscsnes -lpetscts -lpetsc" 1344 else 1345 PETSCLIB="-L${PETSC_ROOT}/lib -lpetsc" 1346 if test ${PETSC_MAJOR} -gt 3 || test ${PETSC_MINOR} -ge 3; then 1347 PETSCLIB+=" -lmetis" 1348 fi 1264 1349 fi 1265 1350 ;; … … 1280 1365 fi 1281 1366 ;; 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 *mingw*) 1368 PETSCLIB="-Wl,${PETSC_ROOT}/lib/libpetsc.a" 1369 ;; 1370 *msys*) 1371 PETSCLIB="${PETSC_ROOT}/lib -lpetsc" 1291 1372 ;; 1292 1373 esac … … 1299 1380 dnl MPI{{{ 1300 1381 AC_MSG_CHECKING(for MPI) 1301 1302 1382 AC_ARG_WITH( 1303 1383 [mpi-include], … … 1306 1386 [MPI_INCLUDE=""] 1307 1387 ) 1308 1309 1388 AC_ARG_WITH( 1310 1389 [mpi-libdir], … … 1313 1392 [MPI_LIBDIR=""] 1314 1393 ) 1315 1316 1394 AC_ARG_WITH( 1317 1395 [mpi-libflags], … … 1320 1398 [MPI_LIBFLAGS=""] 1321 1399 ) 1322 1323 1400 if test -z "${MPI_INCLUDE}"; then 1324 1401 HAVE_MPI=no … … 1363 1440 dnl }}} 1364 1441 dnl SCOTCH{{{ 1442 AC_MSG_CHECKING([for SCOTCH]) 1365 1443 AC_ARG_WITH( 1366 1444 [scotch-dir], … … 1369 1447 [SCOTCH_ROOT="no"] 1370 1448 ) 1371 AC_MSG_CHECKING([for SCOTCH])1372 1449 if test "x${SCOTCH_ROOT}" == "xno"; then 1373 1450 HAVE_SCOTCH=no … … 1402 1479 dnl }}} 1403 1480 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]) 1481 AC_MSG_CHECKING([for METIS]) 1482 AC_ARG_WITH( 1483 [metis-dir], 1484 AS_HELP_STRING([--with-metis-dir=DIR], [METIS root directory, necessary for serial build]), 1485 [METIS_ROOT=${withval}], 1486 [METIS_ROOT="no"] 1487 ) 1488 HAVE_METIS=no 1489 if test "x${METIS_ROOT}" == "xno"; then 1490 dnl Check if METIS was installed via PETSc 1491 if test -f ${PETSC_ROOT}/install/include/metis.h; then 1492 HAVE_METIS=yes 1493 METIS_ROOT="${PETSC_ROOT}" 1494 fi 1495 else 1496 if ! test -d "${METIS_ROOT}"; then 1497 AC_MSG_ERROR([METIS directory provided (${METIS_ROOT}) does not exist!]); 1498 fi 1499 HAVE_METIS=yes 1500 fi 1501 if test "${HAVE_METIS}" = "yes"; then 1502 METIS_VERSION=$(grep "#define METIS_VER_MAJOR" ${METIS_ROOT}/include/metis.h | sed 's|.*METIS_VER_MAJOR[[:space:]]*||') 1503 dnl METIS libraries and header files 1504 if test "x${METIS_VERSION}" == "x4"; then 1505 METISINCL="-I${METIS_ROOT}/Lib" 1506 case "${host_os}" in 1507 *cygwin*) 1508 METISINCL="/I`cygpath -m ${METIS_ROOT}/Lib`" 1509 METISLIB="-Wl,/link -Wl,/LIBPATH:`cygpath -m ${METIS_ROOT}` -Wl,libmetis.lib" 1510 ;; 1511 *darwin*) 1512 METISLIB="-L${METIS_ROOT} -lmetis" 1513 ;; 1514 *linux*) 1515 METISLIB="-L${METIS_ROOT} -lmetis" 1516 ;; 1517 *mingw*) 1518 METISLIB="-Wl,${METIS_ROOT}/lib/libmetis.a" 1519 ;; 1520 *msys*) 1521 METISLIB="-L${METIS_ROOT} -lmetis" 1522 ;; 1523 esac 1524 elif test "x${METIS_VERSION}" == "x5"; then 1525 METISINCL="-I${METIS_ROOT}/include" 1526 case "${host_os}" in 1527 *cygwin*) 1528 METISLIB="-L${METIS_ROOT} libmetis.lib" 1529 ;; 1530 *darwin*) 1531 METISLIB="-L${METIS_ROOT}/lib -lmetis" 1532 ;; 1533 *linux*) 1534 METISLIB="-L${METIS_ROOT}/lib -lmetis" 1535 ;; 1536 *mingw*) 1537 METISLIB="-Wl,${METIS_ROOT}/lib/libmetis.a" 1538 ;; 1539 *msys*) 1540 METISLIB="-L${METIS_ROOT}/lib -lmetis" 1541 ;; 1542 esac 1543 else 1544 AC_MSG_ERROR([METIS version ${METIS_VERSION} not yet supported! Please contact ISSM developers via forum or email.]) 1545 fi 1412 1546 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 1547 AC_DEFINE_UNQUOTED([_METIS_VERSION_], ${METIS_VERSION}, [METIS version number]) 1548 AC_SUBST([METISINCL]) 1549 AC_SUBST([METISLIB]) 1550 fi 1551 AC_MSG_RESULT([${HAVE_METIS}]) 1552 AM_CONDITIONAL([METIS], [test "x${HAVE_METIS}" = "xyes"]) 1553 dnl }}} 1554 dnl ParMETIS{{{ 1555 AC_MSG_CHECKING([for ParMETIS]) 1556 AC_ARG_WITH( 1557 [parmetis-dir], 1558 AS_HELP_STRING([--with-parmetis-dir=DIR], [ParMETIS root directory, necessary for parallel build]), 1559 [PARMETIS_ROOT=${withval}], 1560 [PARMETIS_ROOT="no"] 1561 ) 1562 HAVE_PARMETIS=no 1563 if test "x${PARMETIS_ROOT}" == "xno"; then 1564 dnl Check if ParMETIS was installed via PETSc 1565 if test -f ${PETSC_ROOT}/install/include/parmetis.h; then 1566 HAVE_PARMETIS="yes" 1567 PARMETIS_ROOT="${PETSC_ROOT}" 1568 fi 1569 else 1570 if ! test -d "${PARMETIS_ROOT}"; then 1571 AC_MSG_ERROR([ParMETIS directory provided (${PARMETIS_ROOT}) does not exist!]); 1572 fi 1573 if ! test -d "${METIS_ROOT}"; then 1574 AC_MSG_ERROR([If supplying path to ParMETIS with option --with-parmetis-dir, must also supply path to METIS with option --with-metis-dir]); 1575 fi 1576 HAVE_PARMETIS="yes" 1577 fi 1578 if test "${HAVE_PARMETIS}" == "yes"; then 1579 #PARMETIS_VERSION=$(grep "#define PARMETIS_MAJOR_VERSION" ${PARMETIS_ROOT}/include/parmetis.h | sed 's|.*PARMETIS_MAJOR_VERSION[[:space:]]*||') 1432 1580 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"]) 1581 #if test "x${PARMETIS_VERSION}" == "x4"; then 1582 PARMETISINCL="-I${PARMETIS_ROOT}/include" 1583 case "${host_os}" in 1584 *cygwin*) 1585 PARMETISLIB="-L${PARMETIS_ROOT}/lib -lparmetis" 1586 ;; 1587 *darwin*) 1588 PARMETISLIB="-L${PARMETIS_ROOT}/lib -lparmetis" 1589 ;; 1590 *linux*) 1591 PARMETISLIB="-L${PARMETIS_ROOT}/lib -lparmetis" 1592 ;; 1593 *mingw*) 1594 PARMETISLIB="-Wl,${PARMETIS_ROOT}/lib/libparmetis.a" 1595 ;; 1596 *msys*) 1597 PARMETISLIB="-L${PARMETIS_ROOT}/lib -lparmetis" 1598 ;; 1599 esac 1600 #else 1601 # AC_MSG_ERROR([ParMETIS version ${PARMETIS_VERSION} not yet supported! Please contact ISSM developers via forum or email.]) 1602 #fi 1603 AC_DEFINE([_HAVE_PARMETIS_], [1], [with ParMETIS in ISSM src]) 1604 #AC_DEFINE([_PARMETIS_VERSION_], [${PARMETIS_VERSION}], [ParMETIS version number]) 1605 AC_SUBST([PARMETISINCL]) 1606 AC_SUBST([PARMETISLIB]) 1607 fi 1608 AC_MSG_RESULT([${HAVE_PARMETIS}]) 1609 AM_CONDITIONAL([PARMETIS], [test "x${HAVE_PARMETIS}" = "xyes"]) 1480 1610 dnl }}} 1481 1611 dnl Toolkit for Advanced Optimization (TAO){{{ 1612 AC_MSG_CHECKING([for TAO]) 1482 1613 AC_ARG_WITH( 1483 1614 [tao-dir], … … 1486 1617 [TAO_ROOT="no"] 1487 1618 ) 1488 AC_MSG_CHECKING([for TAO])1489 1490 1619 if test "x${HAVE_PETSC}" == "xyes" && test "x${PETSC_MAJOR}" == "x3" && test ${PETSC_MINOR} -ge 5; then 1491 1620 dnl In PETSc >= 3.5, TAO is provided … … 1515 1644 dnl }}} 1516 1645 dnl M1QN3{{{ 1646 AC_MSG_CHECKING([for M1QN3]) 1517 1647 AC_ARG_WITH( 1518 1648 [m1qn3-dir], … … 1521 1651 [M1QN3_ROOT="no"] 1522 1652 ) 1523 AC_MSG_CHECKING([for M1QN3])1524 1653 if test "x${M1QN3_ROOT}" == "xno"; then 1525 1654 HAVE_M1QN3=no … … 1540 1669 dnl }}} 1541 1670 dnl PROJ{{{ 1671 AC_MSG_CHECKING([for PROJ]) 1542 1672 AC_ARG_WITH( 1543 1673 [proj-dir], … … 1546 1676 [PROJ_ROOT="no"] 1547 1677 ) 1548 AC_MSG_CHECKING([for PROJ])1549 1678 if test "x${PROJ_ROOT}" == "xno"; then 1550 1679 HAVE_PROJ=no … … 1568 1697 dnl }}} 1569 1698 dnl SLEPc{{{ 1699 AC_MSG_CHECKING([for SLEPc]) 1570 1700 AC_ARG_WITH( 1571 1701 [slepc-dir], … … 1574 1704 [SLEPC_ROOT="no"] 1575 1705 ) 1576 AC_MSG_CHECKING([for SLEPc])1577 1706 if test "x${SLEPC_ROOT}" == "xno"; then 1578 1707 HAVE_SLEPC=no … … 1595 1724 dnl }}} 1596 1725 dnl shapelib{{{ 1726 AC_MSG_CHECKING([for shapelib]) 1597 1727 AC_ARG_WITH( 1598 1728 [shapelib-dir], … … 1601 1731 [SHAPELIB_ROOT="no"] 1602 1732 ) 1603 AC_MSG_CHECKING([for shapelib])1604 1733 if test "x${SHAPELIB_ROOT}" == "xno"; then 1605 1734 HAVE_SHAPELIB=no … … 1622 1751 dnl }}} 1623 1752 dnl ScaLAPACK{{{ 1624 1625 1753 dnl NOTE: User should supply path to root directory or libraries, but not both 1754 dnl 1755 AC_MSG_CHECKING([for ScaLAPACK]) 1626 1756 AC_ARG_WITH( 1627 1757 [scalapack-dir], … … 1636 1766 [SCALAPACKLIB="no"] 1637 1767 ) 1638 AC_MSG_CHECKING([for ScaLAPACK])1639 1768 if test "x${SCALAPACK_ROOT}" == "xno" && test "x${SCALAPACKLIB}" == "xno"; then 1640 1769 HAVE_SCALAPACK=no … … 1645 1774 fi 1646 1775 HAVE_SCALAPACK=yes 1647 SCALAPACKLIB="-L${SCALAPACK_ROOT}/lib -lscalapack" 1776 if test "${VENDOR}" == "win-msys2"; then 1777 SCALAPACKLIB="-Wl,${SCALAPACK_ROOT}/lib/libscalapack.a" 1778 else 1779 SCALAPACKLIB="-L${SCALAPACK_ROOT}/lib -lscalapack" 1780 fi 1648 1781 elif test "x${SCALAPACKLIB}" != "xno"; then 1649 1782 dnl Value of SCALAPACKLIB should be valid here, so no need to set it (as above) … … 1661 1794 dnl }}} 1662 1795 dnl BLAS/LAPACK{{{ 1796 AC_MSG_CHECKING([for BLAS/LAPACK]) 1797 AC_ARG_WITH( 1798 [blas-dir], 1799 [AS_HELP_STRING([--with-blas-dir=DIR], [BLAS root directory])], 1800 [BLAS_ROOT=$withval], 1801 [BLAS_ROOT="no"] 1802 ) 1803 AC_ARG_WITH( 1804 [lapack-dir], 1805 [AS_HELP_STRING([--with-lapack-dir=DIR], [LAPACK root directory])], 1806 [LAPACK_ROOT=$withval], 1807 [LAPACK_ROOT="no"] 1808 ) 1663 1809 AC_ARG_WITH( 1664 1810 [blas-lapack-dir], … … 1667 1813 [BLASLAPACK_ROOT="no"] 1668 1814 ) 1669 AC_MSG_CHECKING([for BLAS/LAPACK]) 1670 if test "x${BLASLAPACK_ROOT}" == "xno" ; then 1815 if (test "x${BLAS_ROOT}" = "xno" || test "x${LAPACK_ROOT}" = "xno") && test "x${BLASLAPACK_ROOT}" = "xno"; then 1671 1816 HAVE_BLASLAPACK=no 1672 1817 else 1673 1818 HAVE_BLASLAPACK=yes 1674 if ! test -d "${BLASLAPACK_ROOT}"; then 1675 AC_MSG_ERROR([BLAS/LAPACK directory provided (${BLASLAPACK_ROOT}) does not exist!]); 1819 if ! test -d "${BLAS_ROOT}" || ! test -d "${LAPACK_ROOT}"; then 1820 if ! test -d "${BLASLAPACK_ROOT}"; then 1821 AC_MSG_ERROR([Use either --with-blas-dir and --with-lapack-dir *or* --with-blaslapack-dir]); 1822 fi 1676 1823 fi 1677 1824 fi … … 1680 1827 dnl BLAS/LAPACK libraries and header files 1681 1828 if test "x${HAVE_BLASLAPACK}" == "xyes"; then 1682 BLASLAPACKINCL=""1683 1829 case "${host_os}" in 1684 1830 *cygwin*) … … 1709 1855 fi 1710 1856 ;; 1857 *mingw*) 1858 if test -d "${BLASLAPACK_ROOT}"; then 1859 BLASLAPACKLIB="-L${BLASLAPACK_ROOT}/lib" 1860 if ls ${BLASLAPACK_ROOT}/lib/libopenblas.* 1> /dev/null 2>&1; then 1861 BLASLAPACKLIB+=" -lopenblas" 1862 elif ls ${BLASLAPACK_ROOT}/lib/libf2clapack.* 1> /dev/null 2>&1; then 1863 BLASLAPACKLIB+=" -lf2clapack -lf2cblas" 1864 elif ls ${BLASLAPACK_ROOT}/lib/libflapack.* 1> /dev/null 2>&1; then 1865 BLASLAPACKLIB="-Wl,${BLASLAPACK_ROOT}/lib/libflapack.a -Wl,${BLASLAPACK_ROOT}/lib/libfblas.a" 1866 else 1867 BLASLAPACKLIB+=" -llapack -lblas" 1868 fi 1869 else 1870 BLASLAPACKLIB="-Wl,${LAPACK_ROOT}/lib/liblapack.a -Wl,${BLAS_ROOT}/lib/libblas.a" 1871 fi 1872 ;; 1873 *msys*) 1874 if test -d "${BLASLAPACK_ROOT}"; then 1875 if ls ${BLASLAPACK_ROOT}/lib/libopenblas.* 1> /dev/null 2>&1; then 1876 BLASLAPACKLIB=" -lopenblas" 1877 elif ls ${BLASLAPACK_ROOT}/lib/libf2clapack.* 1> /dev/null 2>&1; then 1878 BLASLAPACKLIB=" -lf2clapack -lf2cblas" 1879 elif ls ${BLASLAPACK_ROOT}/lib/libflapack.* 1> /dev/null 2>&1; then 1880 BLASLAPACKLIB+=" -lflapack -lfblas" 1881 else 1882 BLASLAPACKLIB=" -llapack -lblas" 1883 fi 1884 else 1885 BLASLAPACKLIB="-L${LAPACK_ROOT}/lib -llapack -L${BLAS_ROOT}/lib -lblas" 1886 fi 1887 ;; 1711 1888 esac 1712 1889 AC_DEFINE([_HAVE_BLASLAPACK_], [1], [with BLAS/LAPACK in ISSM src]) 1713 1890 AC_SUBST([BLASLAPACKLIB]) 1714 AC_SUBST([BLASLAPACKINCL])1715 1891 fi 1716 1892 dnl }}} 1717 1893 dnl Math Kernel Library (MKL){{{ 1894 AC_MSG_CHECKING([for MKL]) 1718 1895 AC_ARG_WITH( 1719 1896 [mkl-libflags], … … 1722 1899 [MKL_LIBFLAGS="no"] 1723 1900 ) 1724 AC_MSG_CHECKING([for MKL])1725 1901 if test "x${MKL_LIBFLAGS}" == "xno"; then 1726 1902 HAVE_MKL=no … … 1735 1911 dnl }}} 1736 1912 dnl PlaLAPACK{{{ 1737 1738 1913 dnl TODO: Handle user supplying path to root directory *or* individual 1739 1914 dnl arguments (like ScaLAPACK) … … 1770 1945 dnl }}} 1771 1946 dnl MUMPS{{{ 1947 AC_MSG_CHECKING([for MUMPS]) 1772 1948 AC_ARG_WITH( 1773 1949 [mumps-dir], … … 1776 1952 [MUMPS_ROOT="no"] 1777 1953 ) 1778 AC_MSG_CHECKING([for MUMPS])1779 1954 if test "x${MUMPS_ROOT}" == "xno"; then 1780 1955 HAVE_MUMPS=no … … 1791 1966 MUMPSINCL="-I${MUMPS_ROOT}/include" 1792 1967 if test "x${MUMPS_ROOT}" == "x${PETSC_ROOT}"; then 1793 if test " x${PETSC_MAJOR}" == "x2"; then1794 MUMPSLIB="- L${MUMPS_ROOT}/lib"1968 if test "${VENDOR}" == "win-msys2"; then 1969 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 1970 else 1796 1971 MUMPSLIB="-L${MUMPS_ROOT}/lib -ldmumps -lcmumps -lmumps_common -lpord -lparmetis -lzmumps -lmetis" … … 1841 2016 dnl }}} 1842 2017 dnl BLACS{{{ 2018 AC_MSG_CHECKING([for BLACS]) 1843 2019 AC_ARG_WITH( 1844 2020 [blacs-dir], … … 1847 2023 [BLACS_ROOT="no"] 1848 2024 ) 1849 AC_MSG_CHECKING([for BLACS])1850 2025 if test "x${BLACS_ROOT}" == "xno"; then 1851 2026 HAVE_BLACS=no … … 1868 2043 dnl }}} 1869 2044 dnl HYPRE{{{ 2045 AC_MSG_CHECKING([for HYPRE]) 1870 2046 AC_ARG_WITH( 1871 2047 [hypre-dir], … … 1874 2050 [HYPRE_ROOT="no"] 1875 2051 ) 1876 AC_MSG_CHECKING([for HYPRE])1877 2052 if test "x${HYPRE_ROOT}" == "xno"; then 1878 2053 HAVE_HYPRE=no … … 1895 2070 dnl }}} 1896 2071 dnl Prometheus{{{ 2072 AC_MSG_CHECKING([for Prometheus]) 1897 2073 AC_ARG_WITH( 1898 2074 [prometheus-dir], … … 1901 2077 [PROMETHEUS_ROOT="no"] 1902 2078 ) 1903 AC_MSG_CHECKING([for Prometheus])1904 2079 if test "x${PROMETHEUS_ROOT}" == "xno"; then 1905 2080 HAVE_PROMETHEUS=no … … 1922 2097 dnl }}} 1923 2098 dnl SEMIC{{{ 2099 AC_MSG_CHECKING([for SEMIC]) 1924 2100 AC_ARG_WITH( 1925 2101 [semic-dir], … … 1928 2104 [SEMIC_ROOT="no"] 1929 2105 ) 1930 AC_MSG_CHECKING([for SEMIC])1931 2106 if test "x${SEMIC_ROOT}" == "xno"; then 1932 2107 HAVE_SEMIC=no … … 1950 2125 dnl }}} 1951 2126 dnl SPAI{{{ 2127 AC_MSG_CHECKING([for SPAI]) 1952 2128 AC_ARG_WITH( 1953 2129 [spai-dir], … … 1956 2132 [SPAI_ROOT="no"] 1957 2133 ) 1958 AC_MSG_CHECKING([for SPAI])1959 2134 if test "x${SPAI_ROOT}" == "xno"; then 1960 2135 HAVE_SPAI=no … … 1977 2152 dnl }}} 1978 2153 dnl SuperLU{{{ 2154 AC_MSG_CHECKING([for SuperLU]) 1979 2155 AC_ARG_WITH( 1980 2156 [superlu-dir], … … 1983 2159 [SUPERLU_ROOT="no"] 1984 2160 ) 1985 AC_MSG_CHECKING([for SuperLU])1986 2161 if test "x${SUPERLU_ROOT}" == "xno"; then 1987 2162 HAVE_SUPERLU=no … … 2004 2179 dnl }}} 2005 2180 dnl SPOOLES{{{ 2181 AC_MSG_CHECKING([for SPOOLES]) 2006 2182 AC_ARG_WITH( 2007 2183 [spooles-dir], … … 2010 2186 [SPOOLES_ROOT="no"] 2011 2187 ) 2012 AC_MSG_CHECKING([for SPOOLES])2013 2188 if test "x${SPOOLES_ROOT}" == "xno"; then 2014 2189 HAVE_SPOOLES=no … … 2031 2206 dnl }}} 2032 2207 dnl PaStiX{{{ 2208 AC_MSG_CHECKING([for PaStiX]) 2033 2209 AC_ARG_WITH( 2034 2210 [pastix-dir], … … 2037 2213 [PASTIX_ROOT="no"] 2038 2214 ) 2039 AC_MSG_CHECKING([for PaStiX])2040 2215 if test "x${PASTIX_ROOT}" == "xno"; then 2041 2216 HAVE_PASTIX=no … … 2059 2234 dnl }}} 2060 2235 dnl ml{{{ 2236 AC_MSG_CHECKING([for ml]) 2061 2237 AC_ARG_WITH( 2062 2238 [ml-dir], … … 2065 2241 [ML_ROOT="no"] 2066 2242 ) 2067 AC_MSG_CHECKING([for ml])2068 2243 if test "x${ML_ROOT}" == "xno"; then 2069 2244 HAVE_ML=no … … 2086 2261 dnl }}} 2087 2262 dnl UMFPACK{{{ 2263 AC_MSG_CHECKING([for UMFPACK]) 2088 2264 AC_ARG_WITH( 2089 2265 [umfpack-dir], … … 2092 2268 [UMFPACK_ROOT="no"] 2093 2269 ) 2094 AC_MSG_CHECKING([for UMFPACK])2095 2270 if test "x${UMFPACK_ROOT}" == "xno"; then 2096 2271 HAVE_UMFPACK=no … … 2129 2304 dnl }}} 2130 2305 dnl MATH77{{{ 2306 AC_MSG_CHECKING([for MATH77]) 2131 2307 AC_ARG_WITH( 2132 2308 [math77-dir], … … 2135 2311 [MATH77_ROOT="no"] 2136 2312 ) 2137 AC_MSG_CHECKING([for MATH77])2138 2313 if test "x${MATH77_ROOT}" == "xno"; then 2139 2314 HAVE_MATH77=no … … 2154 2329 dnl }}} 2155 2330 dnl Fortran{{{ 2331 AC_MSG_CHECKING(for Fortran compilation) 2156 2332 AC_ARG_WITH( 2157 2333 [fortran], … … 2160 2336 [FORTRAN=yes] 2161 2337 ) 2162 AC_MSG_CHECKING(for Fortran compilation)2163 2338 if test "x${FORTRAN}" == "xyes"; then 2164 2339 HAVE_FORTRAN=yes … … 2224 2399 dnl }}} 2225 2400 dnl MeteoIO{{{ 2401 AC_MSG_CHECKING([for MeteoIO]) 2226 2402 AC_ARG_WITH( 2227 2403 [meteoio-dir], … … 2230 2406 [METEOIO_ROOT="no"] 2231 2407 ) 2232 AC_MSG_CHECKING([for MeteoIO])2233 2408 if test "x${METEOIO_ROOT}" == "xno"; then 2234 2409 HAVE_METEOIO=no … … 2253 2428 dnl }}} 2254 2429 dnl SNOWPACK{{{ 2430 AC_MSG_CHECKING([for SNOWPACK]) 2255 2431 AC_ARG_WITH( 2256 2432 [snowpack-dir], … … 2259 2435 [SNOWPACK_ROOT="no"] 2260 2436 ) 2261 AC_MSG_CHECKING([for SNOWPACK])2262 2437 if test "x${SNOWPACK_ROOT}" == "xno"; then 2263 2438 HAVE_SNOWPACK=no … … 2281 2456 dnl }}} 2282 2457 dnl NeoPZ{{{ 2458 AC_MSG_CHECKING([for NeoPZ]) 2283 2459 AC_ARG_WITH( 2284 2460 [neopz-dir], … … 2287 2463 [NEOPZ_ROOT="no"] 2288 2464 ) 2289 AC_MSG_CHECKING([for NeoPZ])2290 2465 if test "x${NEOPZ_ROOT}" == "xno"; then 2291 2466 HAVE_NEOPZ=no … … 2356 2531 GMSH_VERSION_MAJOR=`${GMSH_ROOT}/bin/gmsh -info | grep "Version" | sed -e "s/Version@<:@@<:@:blank:@:>@@:>@*:@<:@@<:@:blank:@:>@@:>@//" | cut -d "." -f 1` 2357 2532 AC_MSG_RESULT([${GMSH_VERSION_MAJOR}]) 2358 AC_DEFINE_UNQUOTED( _GMSH_VERSION_MAJOR_, $GMSH_VERSION_MAJOR, [Gmsh major version])2533 AC_DEFINE_UNQUOTED([_GMSH_VERSION_MAJOR_], ${GMSH_VERSION_MAJOR}, [Gmsh major version]) 2359 2534 fi 2360 2535 dnl }}} 2361 2536 dnl Capabilities 2362 2537 dnl with-bamg{{{ 2538 AC_MSG_CHECKING([for BAMG capability compilation]) 2363 2539 AC_ARG_WITH( 2364 2540 [bamg], … … 2367 2543 [BAMG=yes] 2368 2544 ) 2369 AC_MSG_CHECKING([for BAMG capability compilation])2370 2545 HAVE_BAMG=no 2371 2546 if test "x${BAMG}" == "xyes"; then … … 2377 2552 dnl }}} 2378 2553 dnl with-ocean{{{ 2554 AC_MSG_CHECKING(for ice/ocean coupling capability compilation) 2379 2555 AC_ARG_WITH( 2380 2556 [ocean], … … 2383 2559 [OCEAN=no] 2384 2560 ) 2385 AC_MSG_CHECKING(for ice/ocean coupling capability compilation)2386 2387 2561 HAVE_OCEAN=no 2388 2562 if test "x${OCEAN}" == "xyes"; then … … 2394 2568 dnl }}} 2395 2569 dnl with-kml{{{ 2570 AC_MSG_CHECKING(for kml capability compilation) 2396 2571 AC_ARG_WITH( 2397 2572 [kml], … … 2400 2575 [KML=no] 2401 2576 ) 2402 AC_MSG_CHECKING(for kml capability compilation)2403 2404 2577 HAVE_KML=no 2405 2578 if test "x${KML}" == "xyes"; then … … 2411 2584 dnl }}} 2412 2585 dnl with-kriging{{{ 2586 AC_MSG_CHECKING(for kriging capability compilation) 2413 2587 AC_ARG_WITH( 2414 2588 [kriging], … … 2417 2591 [KRIGING=yes] 2418 2592 ) 2419 AC_MSG_CHECKING(for kriging capability compilation)2420 2421 2593 HAVE_KRIGING=no 2422 2594 if test "x${KRIGING}" == "xyes"; then … … 2433 2605 dnl Platform specifics 2434 2606 dnl with-ios{{{ 2607 AC_MSG_CHECKING(for iOS compilation) 2435 2608 AC_ARG_WITH( 2436 2609 [ios], … … 2439 2612 [IOS=no] 2440 2613 ) 2441 AC_MSG_CHECKING(for iOS compilation)2442 2443 2614 HAVE_IOS=no 2444 2615 if test "x${IOS}" == "xyes"; then … … 2450 2621 dnl }}} 2451 2622 dnl with-android{{{ 2623 AC_MSG_CHECKING([for Android capability compilation]) 2452 2624 AC_ARG_WITH( 2453 2625 [android], 2454 2626 AS_HELP_STRING([--with-android=EXE], [compile with Android capabilities (default: "no"; alternatives: "exe", "jni")]), 2455 2627 [ANDROID=${withval}], 2456 [ANDROID=no]) 2457 AC_MSG_CHECKING([for Android capability compilation]) 2458 2628 [ANDROID=no] 2629 ) 2459 2630 if test "x${ANDROID}" == "xjni"; then 2460 2631 HAVE_ANDROID=jni … … 2475 2646 dnl }}} 2476 2647 dnl with-android-ndk{{{ 2648 AC_MSG_CHECKING([with Android Native Development Kit (NDK)]) 2477 2649 AC_ARG_WITH( 2478 2650 [android-ndk], … … 2481 2653 [ANDROID_NDK_ROOT=""] 2482 2654 ) 2483 AC_MSG_CHECKING([with Android Native Development Kit (NDK)])2484 2485 2655 if test -d "${ANDROID_NDK_ROOT}"; then 2486 2656 HAVE_ANDROID_NDK=yes … … 2496 2666 dnl other options 2497 2667 dnl optimization{{{ 2498 dnl -- bypass standard optimization -g -O2 -fPIC -std=c++11? 2668 dnl -- bypass standard optimization -g -O2 -fPIC? 2669 AC_MSG_CHECKING(for C++ optimization flags) 2499 2670 AC_ARG_WITH( 2500 2671 [cxxoptflags], … … 2503 2674 [CXXOPTFLAGS="-g -O2 -fPIC -std=c++11"] 2504 2675 ) 2505 AC_MSG_CHECKING(for C++ optimization flags)2506 2676 AC_SUBST([CXXOPTFLAGS]) 2507 AC_MSG_RESULT([ done])2677 AC_MSG_RESULT([${CXXOPTFLAGS}]) 2508 2678 dnl }}} 2509 2679 dnl multithreading{{{ 2680 AC_MSG_CHECKING(for number of threads) 2510 2681 AC_ARG_WITH( 2511 2682 [numthreads], … … 2514 2685 [NUMTHREADS_VALUE=1] 2515 2686 ) 2516 AC_MSG_CHECKING(for number of threads)2517 2687 dnl Check that supplied value is an integer 2518 2688 if [[ "${NUMTHREADS_VALUE}" != "${NUMTHREADS_VALUE}" 2> /dev/null ]]; then … … 2529 2699 MULTITHREADINGLIB="-lpthread -lrt" 2530 2700 ;; 2701 *darwin*) 2702 MULTITHREADINGLIB="-lpthread" 2703 ;; 2531 2704 *linux*) 2532 2705 MULTITHREADINGLIB="-lpthread -lrt" 2533 2706 ;; 2534 *darwin*) 2535 MULTITHREADINGLIB="-lpthread" 2707 *mingw*) 2708 MULTITHREADINGLIB="" 2709 ;; 2710 *msys*) 2711 MULTITHREADINGLIB="" 2536 2712 ;; 2537 2713 esac 2538 2714 AC_DEFINE([_MULTITHREADING_], [1], [with multithreading enabled]) 2539 2715 fi 2540 AC_DEFINE_UNQUOTED( _NUMTHREADS_, $NUMTHREADS_VALUE, [number of threads])2716 AC_DEFINE_UNQUOTED([_NUMTHREADS_], ${NUMTHREADS_VALUE}, [number of threads]) 2541 2717 AC_SUBST([MULTITHREADINGLIB]) 2542 2718 AC_MSG_RESULT([${NUMTHREADS_VALUE}]) 2543 2719 dnl }}} 2544 2720 dnl 64-bit indices{{{ 2721 AC_MSG_CHECKING([for 64-bit indices]) 2545 2722 AC_ARG_WITH( 2546 2723 [64bit-indices], … … 2549 2726 [USE_64BIT_INDICES=0] 2550 2727 ) 2551 AC_MSG_CHECKING([for 64-bit indices])2552 2553 2728 if test "x${USE_64BIT_INDICES}" == "x1"; then 2554 2729 AC_DEFINE([ISSM_USE_64BIT_INDICES], [1], [with 64-bit indices]) … … 2560 2735 2561 2736 dnl Checks {{{ 2562 AC_MSG_CHECKING(consistency between all libraries)2737 AC_MSG_CHECKING(consistency between all external packages) 2563 2738 2564 2739 dnl Check that if PETSc is requested, MPI is specified … … 2590 2765 2591 2766 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"; then2767 if test "x${HAVE_ADOLC}" == "xyes" && test "${HAVE_KRIGING}" == "xyes"; then 2593 2768 AC_MSG_ERROR([cannot compile kriging.exe under ADOL-C conditions!]); 2594 2769 fi -
issm/trunk-jpl/src/c/Makefile.am
r26036 r26044 1 AM_CPPFLAGS = @NEOPZINCL@ @DAKOTAINCL@ @SHAPELIBINCL@ @PETSCINCL@ @SLEPCINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @MEDIPACKINCL@ @MPIINCL@ @METISINCL@ @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@ @ BLASLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @TRIANGLEINCL@ @SPAIINCL@ @HYPREINCL@ @PROMETHEUSINCL@ @SUPERLUINCL@ @SPOOLESINCL@ @PASTIXINCL@ @MLINCL@ @TAOINCL@ @ADIC2INCL@ @ADOLCINCL@ @CODIPACKINCL@ @GSLINCL@ @BOOSTINCL@ @ANDROID_NDKINCL@ @METEOIOINCL@ @SNOWPACKINCL@ @PROJINCL@ @ESMFINCL@1 AM_CPPFLAGS = @NEOPZINCL@ @DAKOTAINCL@ @SHAPELIBINCL@ @PETSCINCL@ @SLEPCINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @MEDIPACKINCL@ @MPIINCL@ @METISINCL@ @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @TRIANGLEINCL@ @SPAIINCL@ @HYPREINCL@ @PROMETHEUSINCL@ @SUPERLUINCL@ @SPOOLESINCL@ @PASTIXINCL@ @MLINCL@ @TAOINCL@ @ADIC2INCL@ @ADOLCINCL@ @CODIPACKINCL@ @GSLINCL@ @BOOSTINCL@ @ANDROID_NDKINCL@ @METEOIOINCL@ @SNOWPACKINCL@ @PROJINCL@ @ESMFINCL@ 2 2 AM_FCFLAGS = @SEMICINCL@ 3 3 … … 8 8 #Library declaration {{{ 9 9 if !WINDOWS 10 lib_LTLIBRARIES = libISSMCore.la libISSMOverload.la 10 lib_LTLIBRARIES = libISSMCore.la 11 if !MSYS2 12 lib_LTLIBRARIES += libISSMOverload.la 13 endif 11 14 if WRAPPERS 12 15 lib_LTLIBRARIES += libISSMModules.la … … 682 685 #}}} 683 686 #Library flags and sources {{{ 684 ALLCXXFLAGS= $(CXXFLAGS) $(CXXOPTFLAGS) 687 ALL_CXXFLAGS = $(CXXFLAGS) $(CXXOPTFLAGS) 688 689 if MSYS2 690 ALL_CXXFLAGS += -D_DO_NOT_LOAD_GLOBALS_ # Cannot have undefined symbols under MSYS2 691 ALL_CXXFLAGS += -D_USE_MATH_DEFINES # Need to open fence to math.h definitions when --std=c++ is used (which is the default) 692 endif 685 693 686 694 libISSMCore_la_SOURCES = $(issm_sources) 687 libISSMCore_la_CXXFLAGS = $(ALL CXXFLAGS) $(DAKOTAFLAGS)695 libISSMCore_la_CXXFLAGS = $(ALL_CXXFLAGS) $(DAKOTAFLAGS) 688 696 libISSMCore_la_FFLAGS = $(AM_FFLAGS) 689 697 690 698 if !WINDOWS 691 699 if !STANDALONE_LIBRARIES 692 libISSMCore_la_LIBADD = $(PETSCLIB) $( HDF5LIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(ADJOINTMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)700 libISSMCore_la_LIBADD = $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(HDF5LIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(SUPERLULIB) $(SPOOLESLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(CHACOLIB) $(SCOTCHLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(ADJOINTMPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(OSLIBS) 693 701 if FORTRAN 694 702 libISSMCore_la_LIBADD += $(FLIBS) $(FORTRANLIB) … … 711 719 endif 712 720 713 libISSMModules_la_CXXFLAGS = $(ALL CXXFLAGS)721 libISSMModules_la_CXXFLAGS = $(ALL_CXXFLAGS) 714 722 if !WINDOWS 715 723 if STANDALONE_LIBRARIES … … 743 751 endif 744 752 753 if VERSION 754 libISSMCore_la_LDFLAGS = 755 if WRAPPERS 756 libISSMModules_la_LDFLAGS = 757 endif 758 else 759 libISSMCore_la_LDFLAGS = -avoid-version 760 if WRAPPERS 761 libISSMModules_la_LDFLAGS = -avoid-version 762 endif 763 endif 764 745 765 if STANDALONE_LIBRARIES 746 libISSMCore_la_LDFLAGS = -static 747 libISSMOverload_la_LDFLAGS = -static 766 libISSMCore_la_LDFLAGS += -static 748 767 if WRAPPERS 749 libISSMModules_la_LDFLAGS = -static 750 else 751 libISSMModules_la_LDFLAGS = 752 endif 753 else 754 libISSMCore_la_LDFLAGS = 755 libISSMOverload_la_LDFLAGS = 756 endif 757 758 #}}} 768 libISSMModules_la_LDFLAGS += -static 769 endif 770 endif 771 #}}} 772 773 if !MSYS2 759 774 #Overload library, to overload any non-standard symbols. {{{ 760 775 libISSMOverload_la_SOURCES = ./shared/String/ApiPrintf.cpp 761 762 776 libISSMOverload_la_CFLAGS = -D_C_ -fPIC $(COPTFLAGS) $(CFLAGS) 777 778 if VERSION 779 libISSMOverload_la_LDFLAGS = 780 else 781 libISSMOverload_la_LDFLAGS = -avoid-version 782 endif 783 784 if STANDALONE_LIBRARIES 785 libISSMOverload_la_LDFLAGS += -static 786 endif 787 endif 763 788 #}}} 764 789 #Executable {{{ … … 778 803 779 804 #Standard libraries 780 LDADD = ./libISSMCore.la ./libISSMOverload.la 805 LDADD = ./libISSMCore.la 806 807 if !MSYS2 808 LDADD += ./libISSMOverload.la 809 endif 810 781 811 if WRAPPERS 782 812 LDADD += ./libISSMModules.la $(TRIANGLELIB) … … 784 814 785 815 #External packages 786 LDADD += $(NEOPZLIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(SCALAPACKLIB) $(BLACSLIB) $(PETSCLIB) $(HDF5LIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(AMPILIB) $(ADJOINTMPILIB) $(ADOLCLIB) $(MPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(PROJLIB) $(ESMFLIB)816 LDADD += $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(NEOPZLIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(SUPERLULIB) $(SPOOLESLIB) $(BLACSLIB) $(HDF5LIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(CHACOLIB) $(SCOTCHLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(AMPILIB) $(ADJOINTMPILIB) $(ADOLCLIB) $(MPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(PROJLIB) $(ESMFLIB) $(OSLIBS) 787 817 788 818 if FORTRAN -
issm/trunk-jpl/src/wrappers/matlab/Makefile.am
r26036 r26044 20 20 ./io/WriteMatlabData.cpp 21 21 22 ALLCXXFLAGS= -fPIC -D_WRAPPERS_ $(CXXFLAGS) $(CXXOPTFLAGS) 22 ALL_CXXFLAGS = -fPIC -D_WRAPPERS_ 23 24 if MSYS2 25 ALL_CXXFLAGS += -D_DO_NOT_LOAD_GLOBALS_ # Cannot have undefined symbols under MSYS2 26 ALL_CXXFLAGS += -D_USE_MATH_DEFINES # Need to open fence to math.h definitions when --std=c++ is used (which is the default) 27 endif 28 29 ALL_CXXFLAGS += $(CXXOPTFLAGS) $(CXXFLAGS) 23 30 24 31 libISSMMatlab_la_SOURCES = $(io_sources) 25 libISSMMatlab_la_CXXFLAGS = $(ALLCXXFLAGS)32 libISSMMatlab_la_CXXFLAGS = ${ALL_CXXFLAGS} 26 33 #}}} 27 34 #api io{{{ … … 32 39 endif 33 40 41 if !MSYS2 34 42 api_sources= ./io/ApiPrintf.cpp 35 43 36 44 libISSMApi_la_SOURCES = $(api_sources) 37 libISSMApi_la_CXXFLAGS= $(ALLCXXFLAGS) 45 libISSMApi_la_CXXFLAGS = ${ALL_CXXFLAGS} 46 endif 38 47 #}}} 39 48 #Wrappers {{{ … … 82 91 83 92 #Triangle library 84 AM_CXXFLAGS = -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER -D_WRAPPERS_ 93 TRI_CXXFLAGS = -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER 85 94 86 95 #Matlab part 87 AM_LDFLAGS = -module $(MEXLINK) -shrext ${EXEEXT} --export-dynamic -rdynamic -no-undefined 96 MEX_CXXFLAGS = -D_HAVE_MATLAB_MODULES_ $(MEXOPTFLAGS) $(MEXCXXFLAGS) 97 MEX_CPPFLAGS = $(MATLABINCL) 98 MEX_LDFLAGS = -module -shrext $(MEXEXT) -no-undefined 99 MEX_LIBADD = $(MEXLINKFLAGS) $(MEXLIB) 100 101 AM_CPPFLAGS += ${MEX_CPPFLAGS} 102 AM_CXXFLAGS = ${TRI_CXXFLAGS} ${MEX_CXXFLAGS} 103 AM_LDFLAGS = ${MEX_LDFLAGS} 104 AM_LIBADD = ${MEX_LIBADD} 105 106 if !MSYS2 107 AM_LDFLAGS += --export-dynamic -rdynamic 108 endif 88 109 89 110 if !VERSION … … 106 127 endif 107 128 108 AM_CXXFLAGS += -D_HAVE_MATLAB_MODULES_ -fPIC 109 110 deps += ./libISSMMatlab.la ../../c/libISSMModules.la ../../c/libISSMCore.la ./libISSMApi.la 111 112 if WINDOWS 113 deps += $(METISLIB) 114 endif 129 AM_CXXFLAGS += -fPIC -D_WRAPPERS_ 130 131 deps += ./libISSMMatlab.la ../../c/libISSMCore.la ../../c/libISSMModules.la 132 133 if !MSYS2 134 deps += ./libISSMApi.la 135 endif 136 137 # if WINDOWS 138 # deps += $(METISLIB) 139 # endif 115 140 116 141 if ADOLC … … 122 147 endif 123 148 124 # MEXLIB needs to be the last (undefined references on larsen)125 deps += ${MEXLIB}149 # #MEXLIB needs to be the last (undefined references on larsen) 150 # deps += ${MEXLIB} 126 151 127 152 #Optimization flags: … … 130 155 # Module sources and dependencies {{{ 131 156 if !WINDOWS 132 libISSMMatlab_la_LIBADD = ./../../c/libISSMCore.la ./../../c/libISSMModules.la $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(MKLLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB) 157 libISSMMatlab_la_LIBADD = ./../../c/libISSMCore.la ./../../c/libISSMModules.la $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB) $(MKLLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB) 158 endif 159 160 if VERSION 161 libISSMMatlab_la_LDFLAGS = 162 libISSMApi_la_LDFLAGS = 163 else 164 libISSMMatlab_la_LDFLAGS = -avoid-version 165 libISSMApi_la_LDFLAGS = -avoid-version 133 166 endif 134 167 135 168 if STANDALONE_LIBRARIES 136 libISSMMatlab_la_LDFLAGS = -static137 libISSMApi_la_LDFLAGS = -static138 deps += $(PETSCLIB) $(HDF5LIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)139 endif 140 141 if !WINDOWS 142 libISSMApi_la_LIBADD = $(PETSCLIB) $( HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB)169 libISSMMatlab_la_LDFLAGS += -static 170 libISSMApi_la_LDFLAGS += -static 171 deps += $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(HDF5LIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(CHACOLIB) $(SCOTCHLIB) $(MKLLIB) $(MPILIB) $(NEOPZLIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(PROJLIB) $(OSLIBS) 172 endif 173 174 if !WINDOWS 175 libISSMApi_la_LIBADD = $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB) 143 176 endif 144 177 -
issm/trunk-jpl/src/wrappers/python/Makefile.am
r26036 r26044 1 AM_CPPFLAGS = @DAKOTAINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @ METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @PYTHONINCL@ @PYTHON_NUMPYINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @MEDIPACKINCL@ @CODIPACKINCL@1 AM_CPPFLAGS = @DAKOTAINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @PARMETISINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @PYTHONINCL@ @PYTHON_NUMPYINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @MEDIPACKINCL@ @CODIPACKINCL@ 2 2 AUTOMAKE_OPTIONS = subdir-objects 3 3 … … 106 106 libISSMPython_la_LDFLAGS = -static 107 107 libISSMApi_la_LDFLAGS = -static 108 deps += $(DAKOTALIB) $(PETSCLIB) $( HDF5LIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)108 deps += $(DAKOTALIB) $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(HDF5LIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(CHACOLIB) $(SCOTCHLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(OSLIBS) 109 109 endif 110 110
Note:
See TracChangeset
for help on using the changeset viewer.