diff options
author | Dave Chinner <dchinner@redhat.com> | 2011-11-16 07:56:37 +1100 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2011-11-20 19:44:30 +0000 |
commit | ec12fcb0c27d35034daf5f3968a9d9304c3615a6 (patch) | |
tree | fcaceba8f2c5a58d2ae3b600575552ce6493a2ef /m4 | |
parent | e219e1cb59660b010ae8c1e22d41d319bb1e10c7 (diff) |
xfstests: detect gdbm library correctly
Debian unstable has move the location of the gdbm libraries as part
of it's multi-arch conversion. The libraries are now only found by
the configured library search path in /etc/ld.conf.d, so change the
autoconf macros to test and find the libraries by link tests rather
than hard coding library paths when a header is found.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'm4')
-rw-r--r-- | m4/package_gdbmdev.m4 | 41 |
1 files changed, 36 insertions, 5 deletions
diff --git a/m4/package_gdbmdev.m4 b/m4/package_gdbmdev.m4 index 6580fbae..c07f75d8 100644 --- a/m4/package_gdbmdev.m4 +++ b/m4/package_gdbmdev.m4 @@ -1,19 +1,50 @@ AC_DEFUN([AC_PACKAGE_WANT_NDBM], [ AC_CHECK_HEADERS(ndbm.h, [ have_db=true ], [ have_db=false ]) + found=false libgdbm="" + + if test $have_db = true; then + AC_CHECK_LIB(ndbm,dbm_open,found=true,found=false) + AC_CHECK_LIB(ndbm,dbm_fetch,,found=false) + AC_CHECK_LIB(ndbm,dbm_store,,found=false) + AC_CHECK_LIB(ndbm,dbm_close,,found=false) + + if test $found = true; then + libgdbm="$ndbm" + fi + fi + AC_SUBST(libgdbm) AC_SUBST(have_db) ]) AC_DEFUN([AC_PACKAGE_WANT_GDBM], [ AC_CHECK_HEADERS([gdbm/ndbm.h, gdbm-ndbm.h], [ have_db=true ], [ have_db=false ]) + found=false libgdbm="" - if test $have_db = true -a -f ${libexecdir}${libdirsuffix}/libgdbm_compat.a; then - libgdbm="${libexecdir}${libdirsuffix}/libgdbm_compat.a" - fi - if test $have_db = true -a -f ${libexecdir}${libdirsuffix}/libgdbm.a; then - libgdbm="${libgdbm} ${libexecdir}${libdirsuffix}/libgdbm.a" + + if test $have_db = true; then + AC_CHECK_LIB(gdbm,dbm_open,found=true,found=false) + AC_CHECK_LIB(gdbm,dbm_fetch,,found=false) + AC_CHECK_LIB(gdbm,dbm_store,,found=false) + AC_CHECK_LIB(gdbm,dbm_close,,found=false) + + if test $found = true; then + libgdbm="${libgdbm} -lgdbm" + fi + + found="no" + AC_CHECK_LIB(gdbm_compat,dbm_open,found=true,found=false) + AC_CHECK_LIB(gdbm_compat,dbm_fetch,,found=false) + AC_CHECK_LIB(gdbm_compat,dbm_store,,found=false) + AC_CHECK_LIB(gdbm_compat,dbm_close,,found="no") + + if test $found = true ; then + libgdbm="${libgdbm} -lgdbm_compat" + fi fi + AC_SUBST(libgdbm) AC_SUBST(have_db) ]) + |