comparison configure.in @ 9523:0ce82753dd72

more configure changes for libraries
author John W. Eaton <jwe@octave.org>
date Thu, 13 Aug 2009 18:20:31 -0400
parents ee99f9f37505
children 592a959b68e5
comparison
equal deleted inserted replaced
9522:e79470be3ecb 9523:0ce82753dd72
424 424
425 ### Check for the QHull library 425 ### Check for the QHull library
426 426
427 OCTAVE_CHECK_LIBRARY(qhull, QHull, 427 OCTAVE_CHECK_LIBRARY(qhull, QHull,
428 [Qhull library not found -- this will result in loss of functionality of some geometry functions.], 428 [Qhull library not found -- this will result in loss of functionality of some geometry functions.],
429 [qhull/qhull_a.h], [qh_qhull], 429 [qhull/qhull_a.h], [qh_qhull], [], [],
430 [warn_qhull= 430 [warn_qhull=
431 OCTAVE_CHECK_QHULL_VERSION 431 OCTAVE_CHECK_QHULL_VERSION
432 OCTAVE_CHECK_QHULL_OK([TEXINFO_QHULL="@set HAVE_QHULL" 432 OCTAVE_CHECK_QHULL_OK([TEXINFO_QHULL="@set HAVE_QHULL"
433 AC_DEFINE(HAVE_QHULL, 1, [Define if QHull is available.])], [ 433 AC_DEFINE(HAVE_QHULL, 1, [Define if QHull is available.])], [
434 warn_qhull="Qhull library found, but seems not to work properly -- this will result in loss of functionality of some geometry functions. Please try recompiling the library with -fno-strict-aliasing."])]) 434 warn_qhull="Qhull library found, but seems not to work properly -- this will result in loss of functionality of some geometry functions. Please try recompiling the library with -fno-strict-aliasing."])])
557 warn_zlib="ZLIB library not found. Octave will not be able to save or load compressed data files or HDF5 files." 557 warn_zlib="ZLIB library not found. Octave will not be able to save or load compressed data files or HDF5 files."
558 AC_MSG_WARN($warn_zlib) 558 AC_MSG_WARN($warn_zlib)
559 fi 559 fi
560 AC_SUBST(HDF5_LIBS) 560 AC_SUBST(HDF5_LIBS)
561 561
562 # Checks for FFTW header and library. 562 # Subdirectories of libcruft to build if they aren't found on the system:
563
564 # subdirectories of libcruft to build if they aren't found on the system:
565 FFT_DIR="fftpack" 563 FFT_DIR="fftpack"
566 AC_SUBST(FFT_DIR) 564 AC_SUBST(FFT_DIR)
567 565
568 # Installed fftw library, if any. 566 # Checks for FFTW header and library.
569 FFTW_LIBS='' 567
570 AC_SUBST(FFTW_LIBS) 568 OCTAVE_CHECK_LIBRARY(fftw3, FFTW3,
571 569 [FFTW3 library not found. The slower FFTPACK library will be used instead.],
572 AC_ARG_WITH(fftw, 570 [fftw3.h], [fftw_plan_dft_1d])
573 [AS_HELP_STRING([--without-fftw], 571
574 [use included fftpack instead of installed fftw])], 572 OCTAVE_CHECK_LIBRARY(fftw3f, FFTW3F,
575 with_fftw=$withval, with_fftw=yes) 573 [FFTW3F library not found. The slower FFTPACK library will be used instead.],
576 574 [fftw3.h], [fftwf_plan_dft_1d])
577 if test "$with_fftw" = yes; then 575
578 have_fftw3_header=no 576 if test -n "$FFTW3_LIBS" && test -n "$FFTW3F_LIBS"; then
579 with_fftw3=no 577 FFT_DIR=
580 AC_CHECK_HEADER(fftw3.h, [have_fftw3_header=yes])
581 if test "$have_fftw3_header" = yes; then
582 AC_CHECK_LIB(fftw3, fftw_plan_dft_1d, [
583 AC_CHECK_LIB(fftw3f, fftwf_plan_dft_1d, [FFTW_LIBS="-lfftw3 -lfftw3f"; with_fftw3=yes])])
584 fi
585 fi
586
587 if test "$with_fftw" = yes && test "$with_fftw3" = yes; then
588 FFT_DIR=''
589 AC_DEFINE(HAVE_FFTW3, 1, [Define if the FFTW3 library is used.])
590 else
591 warn_fftw="FFTW library not found. Octave will use the (slower) FFTPACK library instead."
592 AC_MSG_WARN($warn_fftw)
593 fi 578 fi
594 579
595 # Checks for GLPK header and library. 580 # Checks for GLPK header and library.
596 581
597 AC_ARG_WITH(glpk, 582 OCTAVE_CHECK_LIBRARY(glpk, GLPK,
598 [AS_HELP_STRING([--without-glpk], [don't use GLPK])], 583 [GLPK library not found. The glpk function for solving linear programs will be disabled.],
599 with_glpk=$withval, with_glpk=yes) 584 [glpk/glpk.h glpk.h], [_glp_lpx_simplex])
600
601 glpk_lib=
602 if test "$with_glpk" = yes; then
603 glpk_lib="glpk"
604 elif test "$with_glpk" != no; then
605 glpk_lib="$with_glpk"
606 fi
607
608 GLPK_LIBS=
609 if test -n "$glpk_lib"; then
610 AC_CHECK_HEADERS([glpk/glpk.h glpk.h], [
611 AC_CHECK_LIB($glpk_lib, glp_lpx_simplex, [
612 GLPK_LIBS="-l$glpk_lib"
613 AC_DEFINE(GLPK_PRE_4_14, 1, [Define if GLPK version is less than 4.14.])], [
614 AC_CHECK_LIB($glpk_lib, _glp_lpx_simplex, [
615 GLPK_LIBS="-l$glpk_lib"], [])])
616
617 if test -n "$GLPK_LIBS"; then
618 AC_DEFINE(HAVE_GLPK, 1, [Define if GLPK is available.])
619 fi
620 break])
621 fi
622 AC_SUBST(GLPK_LIBS)
623 if test -z "$GLPK_LIBS"; then
624 warn_glpk="GLPK library not found. The glpk function for solving linear programs will be disabled."
625 AC_MSG_WARN($warn_glpk)
626 fi
627 585
628 # Checks for CURL header and library. 586 # Checks for CURL header and library.
629 587
630 OCTAVE_CHECK_LIBRARY(curl, cURL, 588 OCTAVE_CHECK_LIBRARY(curl, cURL,
631 [cURL library not found. The urlread and urlwrite functions will be disabled.], 589 [cURL library not found. The urlread and urlwrite functions will be disabled.],
909 if test -n "$warn_qrupdate"; then 867 if test -n "$warn_qrupdate"; then
910 AC_MSG_WARN($warn_qrupdate) 868 AC_MSG_WARN($warn_qrupdate)
911 fi 869 fi
912 870
913 # Check for AMD library 871 # Check for AMD library
914 AMD_LIBS= 872
915 AC_SUBST(AMD_LIBS) 873 OCTAVE_CHECK_LIBRARY(amd, AMD,
916 874 [AMD library not found. This will result in some lack of functionality for sparse matrices.],
917 AC_ARG_WITH(amd, 875 [suitesparse/amd.h ufsparse/amd.h amd/amd.h amd.h],
918 [AS_HELP_STRING([--without-amd], 876 [amd_postorder],
919 [don't use AMD, disable some sparse functionality])], 877 [], [don't use AMD library, disable some sparse functionality])
920 with_amd=$withval, with_amd=yes)
921
922 warn_amd="AMD not found. This will result in some lack of functionality for sparse matrices."
923 if test "$with_amd" = yes; then
924 with_amd=no
925 AC_CHECK_HEADERS([suitesparse/amd.h ufsparse/amd.h amd/amd.h amd.h], [
926 AC_CHECK_LIB(amd, amd_postorder, [AMD_LIBS="-lamd"; with_amd=yes])
927 if test "$with_amd" = yes; then
928 AC_DEFINE(HAVE_AMD, 1, [Define if the AMD library is used.])
929 warn_amd=
930 fi
931 break])
932 fi
933 if test -n "$warn_amd"; then
934 AC_MSG_WARN($warn_amd)
935 fi
936 878
937 # Check for CAMD library 879 # Check for CAMD library
938 CAMD_LIBS= 880
939 AC_SUBST(CAMD_LIBS) 881 OCTAVE_CHECK_LIBRARY(camd, CAMD,
940 AC_CHECK_LIB(camd, camd_postorder, [CAMD_LIBS="-lcamd"; with_camd=yes],[with_camd=no]) 882 [CAMD library not found. This will result in some lack of functionality for sparse matrices.],
883 [suitesparse/camd.h ufsparse/camd.h amd/camd.h camd.h],
884 [camd_postorder],
885 [], [don't use CAMD library, disable some sparse functionality])
886
887 # Check for COLAMD library
888
889 OCTAVE_CHECK_LIBRARY(colamd, COLAMD,
890 [COLAMD library not found. This will result in some lack of functionality for sparse matrices.],
891 [suitesparse/colamd.h ufsparse/colamd.h amd/colamd.h colamd.h],
892 [colamd],
893 [], [don't use COLAMD library, disable some sparse functionality])
894
895 # Check for CCOLAMD library
896
897 OCTAVE_CHECK_LIBRARY(ccolamd, CCOLAMD,
898 [CCOLAMD library not found. This will result in some lack of functionality for sparse matrices.],
899 [suitesparse/ccolamd.h ufsparse/ccolamd.h amd/ccolamd.h ccolamd.h],
900 [ccolamd],
901 [], [don't use CCOLAMD library, disable some sparse functionality])
902
903 # Check for CHOLMOD library. If your cholmod library requires cblas,
904 # then you will need to configure with --with-cholmod="-lcholmod -lcblas".
905
906 save_LIBS="$LIBS"
907 LIBS="$BLAS_LIBS $FLIBS $LIBS"
908 OCTAVE_CHECK_LIBRARY(cholmod, CHOLMOD,
909 [CHOLMOD library not found. This will result in some lack of functionality for sparse matrices.],
910 [suitesparse/cholmod.h ufsparse/cholmod.h cholmod/cholmod.h cholmod.h],
911 [cholmod_start],
912 [], [don't use CHOLMOD library, disable some sparse functionality])
913 LIBS="$save_LIBS"
914
915 # Check for CXSparse library
916
917 OCTAVE_CHECK_LIBRARY(cxsparse, CXSparse,
918 [CXSparse library not found. This will result in some lack of functionality for sparse matrices.],
919 [suitesparse/cs.h ufsparse/cs.h amd/cs.h cs.h],
920 [cs_di_sqr],
921 [C++], [don't use CXSparse library, disable some sparse functionality])
941 922
942 # Check for UMFPACK library. 923 # Check for UMFPACK library.
943 924
944 UMFPACK_LIBS= 925 UMFPACK_LIBS=
945 AC_SUBST(UMFPACK_LIBS) 926 AC_SUBST(UMFPACK_LIBS)
980 AC_MSG_WARN($warn_umfpack) 961 AC_MSG_WARN($warn_umfpack)
981 fi 962 fi
982 963
983 AC_SUBST(TEXINFO_UMFPACK) 964 AC_SUBST(TEXINFO_UMFPACK)
984 965
985 COLAMD_LIBS=
986 AC_SUBST(COLAMD_LIBS)
987
988 AC_ARG_WITH(colamd,
989 [AS_HELP_STRING([--without-colamd],
990 [don't use COLAMD, disable some sparse functionality])],
991 with_colamd=$withval, with_colamd=yes)
992
993 warn_colamd="COLAMD not found. This will result in some lack of functionality for sparse matrices."
994 if test "$with_colamd" = yes; then
995 with_colamd=no
996 AC_CHECK_HEADERS([suitesparse/colamd.h ufsparse/colamd.h colamd/colamd.h colamd.h], [
997 AC_CHECK_LIB(colamd, colamd, [COLAMD_LIBS="-lcolamd"; with_colamd=yes])
998 if test "$with_colamd" = yes; then
999 AC_DEFINE(HAVE_COLAMD, 1, [Define if the COLAMD library is used.])
1000 TEXINFO_COLAMD="@set HAVE_COLAMD"
1001 warn_colamd=
1002 fi
1003 break])
1004 fi
1005 if test -n "$warn_colamd"; then
1006 AC_MSG_WARN($warn_colamd)
1007 fi
1008
1009 AC_SUBST(TEXINFO_COLAMD)
1010
1011 CCOLAMD_LIBS=
1012 AC_SUBST(CCOLAMD_LIBS)
1013
1014 AC_ARG_WITH(ccolamd,
1015 [AS_HELP_STRING([--without-ccolamd],
1016 [don't use CCOLAMD, disable some sparse functionality])],
1017 with_ccolamd=$withval, with_ccolamd=yes)
1018
1019 warn_ccolamd="CCOLAMD not found. This will result in some lack of functionality for sparse matrices."
1020 if test "$with_ccolamd" = yes; then
1021 with_ccolamd=no
1022 AC_CHECK_HEADERS([suitesparse/ccolamd.h ufsparse/ccolamd.h ccolamd/ccolamd.h ccolamd.h], [
1023 AC_CHECK_LIB(ccolamd, ccolamd, [CCOLAMD_LIBS="-lccolamd"; with_ccolamd=yes])
1024 if test "$with_ccolamd" = yes; then
1025 AC_DEFINE(HAVE_CCOLAMD, 1, [Define if the CCOLAMD library is used.])
1026 warn_ccolamd=
1027 fi
1028 break])
1029 fi
1030 if test -n "$warn_ccolamd"; then
1031 AC_MSG_WARN($warn_ccolamd)
1032 fi
1033
1034 CHOLMOD_LIBS=
1035 AC_SUBST(CHOLMOD_LIBS)
1036
1037 AC_ARG_WITH(cholmod,
1038 [AS_HELP_STRING([--without-cholmod],
1039 [don't use CHOLMOD, disable some sparse functionality])],
1040 with_cholmod=$withval, with_cholmod=yes)
1041
1042 warn_cholmod="CHOLMOD not found. This will result in some lack of functionality for sparse matrices."
1043 if test "$with_cholmod" = yes && test "$with_colamd" = yes &&
1044 test "$with_ccolamd" = yes && test "$with_amd" = yes; then
1045 with_cholmod=no
1046 AC_CHECK_HEADERS([suitesparse/cholmod.h ufsparse/cholmod.h cholmod/cholmod.h cholmod.h], [
1047 AC_CHECK_LIB(cholmod, cholmod_start, [CHOLMOD_LIBS="-lcholmod";
1048 with_cholmod=yes], [
1049 AC_CHECK_LIB(cholmod, cholmod_start, [CHOLMOD_LIBS="-lcholmod -cblas";
1050 with_cholmod=yes], [],
1051 $CAMD_LIBS $AMD_LIBS $COLAMD_LIBS $CCOLAMD_LIBS $BLAS_LIBS $FLIBS)],
1052 $CAMD_LIBS $AMD_LIBS $COLAMD_LIBS $CCOLAMD_LIBS $BLAS_LIBS $FLIBS)
1053
1054 if test "$with_cholmod" = yes; then
1055 AC_DEFINE(HAVE_CHOLMOD, 1, [Define if the CHOLMOD library is used.])
1056 TEXINFO_CHOLMOD="@set HAVE_CHOLMOD"
1057 warn_cholmod=
1058 fi
1059 break])
1060 fi
1061 if test -n "$warn_cholmod"; then
1062 AC_MSG_WARN($warn_cholmod)
1063 fi
1064
1065 AC_SUBST(TEXINFO_CHOLMOD)
1066
1067 CXSPARSE_LIBS=
1068 AC_SUBST(CXSPARSE_LIBS)
1069
1070 AC_ARG_WITH(cxsparse,
1071 [AS_HELP_STRING([--without-cxsparse],
1072 [don't use CXSparse, disable some sparse functionality])],
1073 with_cxsparse=$withval, with_cxsparse=yes)
1074
1075 warn_cxsparse="CXSparse not found. This will result in some lack of functionality for sparse matrices."
1076 if test "$with_cxsparse" = yes; then
1077 with_cxsparse=no
1078 AC_LANG_PUSH(C++)
1079 AC_CHECK_HEADERS([suitesparse/cs.h ufsparse/cs.h cxsparse/cs.h cs.h], [
1080 AC_CHECK_LIB(cxsparse, cs_di_sqr, [CXSPARSE_LIBS="-lcxsparse"; with_cxsparse=yes])
1081 if test "$with_cxsparse" = yes; then
1082 AC_DEFINE(HAVE_CXSPARSE, 1, [Define if the CXSparse library is used.])
1083 warn_cxsparse=
1084 fi
1085 break])
1086 AC_LANG_POP(C++)
1087 fi
1088 if test -n "$warn_cxsparse"; then
1089 AC_MSG_WARN($warn_cxsparse)
1090 fi
1091
1092 ARPACK_LIBS= 966 ARPACK_LIBS=
1093 AC_SUBST(ARPACK_LIBS) 967 AC_SUBST(ARPACK_LIBS)
1094 968
1095 AC_ARG_WITH(arpack, 969 AC_ARG_WITH(arpack,
1096 [AS_HELP_STRING([--without-arpack], 970 [AS_HELP_STRING([--without-arpack],
1097 [don't use ARPACK, disable some sparse functionality])], 971 [don't use ARPACK library, disable some sparse functionality])],
1098 with_arpack=$withval, with_arpack=yes) 972 with_arpack=$withval, with_arpack=yes)
1099 973
1100 warn_arpack="arpack not found. This will result in a lack of the eigs function." 974 warn_arpack="arpack not found. This will result in a lack of the eigs function."
1101 if test "$with_arpack" = yes; then 975 if test "$with_arpack" = yes; then
1102 with_arpack=no 976 with_arpack=no
2126 #define OCTAVE_INT_USE_LONG_DOUBLE 2000 #define OCTAVE_INT_USE_LONG_DOUBLE
2127 #endif 2001 #endif
2128 2002
2129 #define OCTAVE_EMPTY_CPP_ARG 2003 #define OCTAVE_EMPTY_CPP_ARG
2130 2004
2005 // Octave is currently unable to use FFTW unless both float
2006 // and double versions are both available.
2007 #if defined (HAVE_FFTW3) && defined (HAVE_FFTW3F)
2008 #define HAVE_FFTW
2009 #endif
2010
2131 #include "oct-dlldefs.h" 2011 #include "oct-dlldefs.h"
2132 #include "oct-types.h" 2012 #include "oct-types.h"
2133 ]) 2013 ])
2134 2014
2135 ### Do the substitutions in all the Makefiles. 2015 ### Do the substitutions in all the Makefiles.
2170 C++ compiler: $CXX $XTRA_CXXFLAGS $WARN_CXXFLAGS $CXXFLAGS 2050 C++ compiler: $CXX $XTRA_CXXFLAGS $WARN_CXXFLAGS $CXXFLAGS
2171 Fortran compiler: $F77 $FFLAGS 2051 Fortran compiler: $F77 $FFLAGS
2172 Fortran libraries: $FLIBS 2052 Fortran libraries: $FLIBS
2173 LIBS: $LIBS 2053 LIBS: $LIBS
2174 2054
2055 AMD CPPFLAGS: $AMD_CPPFLAGS
2056 AMD LDFLAGS: $AMD_LDFLAGS
2175 AMD libraries: $AMD_LIBS 2057 AMD libraries: $AMD_LIBS
2176 ARPACK libraries: $ARPACK_LIBS 2058 ARPACK libraries: $ARPACK_LIBS
2177 BLAS libraries: $BLAS_LIBS 2059 BLAS libraries: $BLAS_LIBS
2060 CAMD CPPFLAGS: $CAMD_CPPFLAGS
2061 CAMD LDFLAGS: $CAMD_LDFLAGS
2178 CAMD libraries: $CAMD_LIBS 2062 CAMD libraries: $CAMD_LIBS
2179 CARBON libraries: $CARBON_LIBS 2063 CARBON libraries: $CARBON_LIBS
2064 CCOLAMD CPPFLAGS: $CCOLAMD_CPPFLAGS
2065 CCOLAMD LDFLAGS: $CCOLAMD_LDFLAGS
2180 CCOLAMD libraries: $CCOLAMD_LIBS 2066 CCOLAMD libraries: $CCOLAMD_LIBS
2067 CHOLMOD CPPFLAGS: $CHOLMOD_CPPFLAGS
2068 CHOLMOD LDFLAGS: $CHOLMOD_LDFLAGS
2181 CHOLMOD libraries: $CHOLMOD_LIBS 2069 CHOLMOD libraries: $CHOLMOD_LIBS
2070 COLAMD CPPFLAGS: $COLAMD_CPPFLAGS
2071 COLAMD LDFLAGS: $COLAMD_LDFLAGS
2182 COLAMD libraries: $COLAMD_LIBS 2072 COLAMD libraries: $COLAMD_LIBS
2183 CURL CPPFLAGS: $CURL_CPPFLAGS 2073 CURL CPPFLAGS: $CURL_CPPFLAGS
2184 CURL LDFLAGS: $CURL_LDFLAGS 2074 CURL LDFLAGS: $CURL_LDFLAGS
2185 CURL libraries: $CURL_LIBS 2075 CURL libraries: $CURL_LIBS
2076 CXSPARSE CPPFLAGS: $CXSPARSE_CPPFLAGS
2077 CXSPARSE LDFLAGS: $CXSPARSE_LDFLAGS
2186 CXSPARSE libraries: $CXSPARSE_LIBS 2078 CXSPARSE libraries: $CXSPARSE_LIBS
2187 DL libraries: $DL_LIBS 2079 DL libraries: $DL_LIBS
2188 FFTW libraries: $FFTW_LIBS 2080 FFTW3 CPPFLAGS: $FFTW3_CPPFLAGS
2081 FFTW3 LDFLAGS: $FFTW3_LDFLAGS
2082 FFTW3 libraries: $FFTW3_LIBS
2083 FFTW3F CPPFLAGS: $FFTW3F_CPPFLAGS
2084 FFTW3F LDFLAGS: $FFTW3F_LDFLAGS
2085 FFTW3F libraries: $FFTW3F_LIBS
2189 FLTK backend libs: $GRAPHICS_LIBS 2086 FLTK backend libs: $GRAPHICS_LIBS
2087 GLPK CPPFLAGS: $GLPK_CPPFLAGS
2088 GLPK LDFLAGS: $GLPK_LDFLAGS
2190 GLPK libraries: $GLPK_LIBS 2089 GLPK libraries: $GLPK_LIBS
2191 HDF5 libraries: $HDF5_LIBS 2090 HDF5 libraries: $HDF5_LIBS
2192 OPENGL libraries: $OPENGL_LIBS 2091 OPENGL libraries: $OPENGL_LIBS
2193 PTHREAD flags: $PTHREAD_CFLAGS 2092 PTHREAD flags: $PTHREAD_CFLAGS
2194 PTHREAD libraries: $PTHREAD_LIBS 2093 PTHREAD libraries: $PTHREAD_LIBS