comparison configure.ac @ 16318:eb572251b7c6

check for correct SuiteSparse functions if --enable-64 * configure.ac (UMFPACK_TAG): New macro. Use it to check for appropriate cholmod, cxsparse, and umfpack functions that depend on index size. * acinclude.m4 (OCTAVE_UMFPACK_SEPARATE_SPLIT): Use correct umfpack names and integer sizes in test.
author John W. Eaton <jwe@octave.org>
date Fri, 15 Mar 2013 14:37:32 -0400
parents 6aafe87a3144
children c130939b0d1c
comparison
equal deleted inserted replaced
16317:ce5231908ea2 16318:eb572251b7c6
1274 AC_DEFINE(HAVE_QRUPDATE_LUU, 1, [Define to 1 if qrupdate supports LU updates.]) 1274 AC_DEFINE(HAVE_QRUPDATE_LUU, 1, [Define to 1 if qrupdate supports LU updates.])
1275 fi 1275 fi
1276 fi 1276 fi
1277 LIBS="$save_LIBS" 1277 LIBS="$save_LIBS"
1278 1278
1279 if test $USE_64_BIT_IDX_T = yes; then
1280 CHOLMOD_TAG="_l_"
1281 CXSPARSE_TAG="_dl_"
1282 UMFPACK_TAG="_zl_"
1283 else
1284 CHOLMOD_TAG="_"
1285 CXSPARSE_TAG="_di_"
1286 UMFPACK_TAG="_zi_"
1287 fi
1288
1279 ### Check for AMD library 1289 ### Check for AMD library
1280 1290
1281 OCTAVE_CHECK_LIB(amd, AMD, 1291 OCTAVE_CHECK_LIB(amd, AMD,
1282 [AMD library not found. This will result in some lack of functionality for sparse matrices.], 1292 [AMD library not found. This will result in some lack of functionality for sparse matrices.],
1283 [suitesparse/amd.h ufsparse/amd.h amd/amd.h amd.h], 1293 [suitesparse/amd.h ufsparse/amd.h amd/amd.h amd.h],
1315 save_LIBS="$LIBS" 1325 save_LIBS="$LIBS"
1316 LIBS="$COLAMD_LDFLAGS $COLAMD_LIBS $AMD_LDFLAGS $AMD_LIBS $LAPACK_LIBS $BLAS_LIBS $FLIBS $LIBS" 1326 LIBS="$COLAMD_LDFLAGS $COLAMD_LIBS $AMD_LDFLAGS $AMD_LIBS $LAPACK_LIBS $BLAS_LIBS $FLIBS $LIBS"
1317 OCTAVE_CHECK_LIB(cholmod, CHOLMOD, 1327 OCTAVE_CHECK_LIB(cholmod, CHOLMOD,
1318 [CHOLMOD library not found. This will result in some lack of functionality for sparse matrices.], 1328 [CHOLMOD library not found. This will result in some lack of functionality for sparse matrices.],
1319 [suitesparse/cholmod.h ufsparse/cholmod.h cholmod/cholmod.h cholmod.h], 1329 [suitesparse/cholmod.h ufsparse/cholmod.h cholmod/cholmod.h cholmod.h],
1320 [cholmod_start], 1330 [cholmod${CHOLMOD_TAG}start],
1321 [], [don't use CHOLMOD library, disable some sparse matrix functionality]) 1331 [], [don't use CHOLMOD library, disable some sparse matrix functionality])
1322 LIBS="$save_LIBS" 1332 LIBS="$save_LIBS"
1323 1333
1324 ### Check for CXSparse library 1334 ### Check for CXSparse library
1325 1335
1326 OCTAVE_CHECK_LIB(cxsparse, CXSparse, 1336 OCTAVE_CHECK_LIB(cxsparse, CXSparse,
1327 [CXSparse library not found. This will result in some lack of functionality for sparse matrices.], 1337 [CXSparse library not found. This will result in some lack of functionality for sparse matrices.],
1328 [suitesparse/cs.h ufsparse/cs.h cxsparse/cs.h cs.h], 1338 [suitesparse/cs.h ufsparse/cs.h cxsparse/cs.h cs.h],
1329 [cs_di_sqr], 1339 [cs${CXSPARSE_TAG}sqr],
1330 [C++], [don't use CXSparse library, disable some sparse matrix functionality]) 1340 [C++], [don't use CXSparse library, disable some sparse matrix functionality])
1331 1341
1332 ### Check for UMFPACK library. 1342 ### Check for UMFPACK library.
1333 1343
1334 save_LIBS="$LIBS" 1344 save_LIBS="$LIBS"
1336 LIBS="$AMD_LDFLAGS $AMD_LIBS $BLAS_LIBS $FLIBS $LIBS" 1346 LIBS="$AMD_LDFLAGS $AMD_LIBS $BLAS_LIBS $FLIBS $LIBS"
1337 CPPFLAGS="$AMD_CPPFLAGS $CPPFLAGS" 1347 CPPFLAGS="$AMD_CPPFLAGS $CPPFLAGS"
1338 OCTAVE_CHECK_LIB([umfpack], UMFPACK, 1348 OCTAVE_CHECK_LIB([umfpack], UMFPACK,
1339 [UMFPACK not found. This will result in some lack of functionality for sparse matrices.], 1349 [UMFPACK not found. This will result in some lack of functionality for sparse matrices.],
1340 [suitesparse/umfpack.h ufsparse/umfpack.h umfpack/umfpack.h umfpack.h], 1350 [suitesparse/umfpack.h ufsparse/umfpack.h umfpack/umfpack.h umfpack.h],
1341 [umfpack_zi_get_determinant], 1351 [umfpack${UMFPACK_TAG}get_determinant],
1342 [], [don't use UMFPACK, disable some sparse matrix functionality]) 1352 [], [don't use UMFPACK, disable some sparse matrix functionality])
1343 CPPFLAGS="$save_CPPFLAGS" 1353 CPPFLAGS="$save_CPPFLAGS"
1344 LIBS="$save_LIBS" 1354 LIBS="$save_LIBS"
1345 1355
1346 if test -z "$UMFPACK_LIBS"; then 1356 if test -z "$UMFPACK_LIBS"; then
1347 ## Invalidate the cache and try again with -lcblas. 1357 ## Invalidate the cache and try again with -lcblas.
1348 $as_unset ac_cv_lib_umfpack_umfpack_zi_get_determinant 1358 $as_unset ac_cv_lib_umfpack_umfpack${UMFPACK_TAG}get_determinant
1349 $as_unset octave_cv_lib_umfpack 1359 $as_unset octave_cv_lib_umfpack
1350 save_LIBS="$LIBS" 1360 save_LIBS="$LIBS"
1351 LIBS="-lcblas $AMD_LDFLAGS $AMD_LIBS $BLAS_LIBS $FLIBS $LIBS" 1361 LIBS="-lcblas $AMD_LDFLAGS $AMD_LIBS $BLAS_LIBS $FLIBS $LIBS"
1352 OCTAVE_CHECK_LIB([umfpack], UMFPACK, 1362 OCTAVE_CHECK_LIB([umfpack], UMFPACK,
1353 [UMFPACK not found. This will result in some lack of functionality for sparse matrices.], 1363 [UMFPACK not found. This will result in some lack of functionality for sparse matrices.],
1354 [suitesparse/umfpack.h ufsparse/umfpack.h umfpack/umfpack.h umfpack.h], 1364 [suitesparse/umfpack.h ufsparse/umfpack.h umfpack/umfpack.h umfpack.h],
1355 [umfpack_zi_get_determinant], 1365 [umfpack${UMFPACK_TAG}get_determinant],
1356 [], [don't use UMFPACK, disable some sparse matrix functionality]) 1366 [], [don't use UMFPACK, disable some sparse matrix functionality])
1357 if test -n "$UMFPACK_LIBS"; then 1367 if test -n "$UMFPACK_LIBS"; then
1358 UMFPACK_LIBS="$UMFPACK_LIBS -lcblas" 1368 UMFPACK_LIBS="$UMFPACK_LIBS -lcblas"
1359 fi 1369 fi
1360 LIBS="$save_LIBS" 1370 LIBS="$save_LIBS"