X-Git-Url: http://git.apps.os.sepia.ceph.com/?p=xfstests-dev.git;a=blobdiff_plain;f=m4%2Fpackage_gdbmdev.m4;h=723900fc5337b9bc755896be5699cdaf236c7ee8;hp=484b751a405eb7c959d6d9a871d032ef5f4c5d89;hb=6497ede7ad4e9fc8e5a5a121bd600df896b7d9c6;hpb=81d27bdc0a10163be54de50df4c92499d3c90c62;ds=sidebyside diff --git a/m4/package_gdbmdev.m4 b/m4/package_gdbmdev.m4 index 484b751a..723900fc 100644 --- a/m4/package_gdbmdev.m4 +++ b/m4/package_gdbmdev.m4 @@ -1,45 +1,53 @@ AC_DEFUN([AC_PACKAGE_WANT_GDBM], - [ AC_CHECK_HEADER(gdbm-ndbm.h, [ gdbm_ndbm=true; have_db=true ], [ gdbm_ndbm=false; have_db=false ]) - - if test $gdbm_ndbm = true; then - AC_DEFINE(HAVE_GDBM_NDBM_H, [1], [Define to 1 if you have the header file.]) - else - AS_UNSET([ac_cv_header_gdbm_ndbm_h]) - AC_CHECK_HEADER(gdbm/ndbm.h, [ gdbm_ndbm_=true; have_db=true ], [ gdbm_ndbm_=false; have_db=false ]) - if test $gdbm_ndbm_ = true; then - AC_DEFINE(HAVE_GDBM_NDBM_H_, [1], [Define to 1 if you have the header file.]) - else - AC_CHECK_HEADER(gdbm.h, [ gdbm_ndbm_=true; have_db=true ], [ gdbm_ndbm_=false; have_db=false ]) - AC_CHECK_HEADER(ndbm.h, [ ndbm_=true ], [ ndbm_=false ]) - if test $gdbm_ndbm_ = true; then - if test $ndbm_ = true; then - AC_DEFINE(HAVE_GDBM_H, [1], [Define to 1 if you have both and header files.]) - fi - fi - fi + [ + have_db= + AC_CHECK_HEADER(gdbm-ndbm.h, + [ + have_db=true + AC_DEFINE(HAVE_GDBM_NDBM_H, [1], + [Define to 1 if you have the header file.]) + ]) + + if test -z "$have_db"; then + dnl gdbm-ndbm.h and gdbm/ndbm.h map to the same autoconf internal + dnl variable. We need to clear it or this test will be skipped + dnl and the cached result from first test will be used. + AS_UNSET([ac_cv_header_gdbm_ndbm_h]) + AC_CHECK_HEADER(gdbm/ndbm.h, + [ + have_db=true + AC_DEFINE(HAVE_GDBM_NDBM_H_, [1], + [Define to 1 if you have the header file.]) + ]) fi - found=false - libgdbm="" - - 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,-lgdbm) - AC_CHECK_LIB(gdbm_compat,dbm_fetch,,found=false,-lgdbm) - AC_CHECK_LIB(gdbm_compat,dbm_store,,found=false,-lgdbm) - AC_CHECK_LIB(gdbm_compat,dbm_close,,found="no",-lgdbm) + if test -z "$have_db"; then + AC_CHECK_HEADER(ndbm.h, + [ + have_db=true + AC_DEFINE(HAVE_NDBM_H, [1], + [Define to 1 if you have the header file.]) + ]) + fi - if test $found = true ; then - libgdbm="${libgdbm} -lgdbm_compat -lgdbm" + if test "$have_db" = true; then + found=false + 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="-lgdbm" + else + AC_CHECK_LIB(gdbm_compat, dbm_open, found=true, found=false, -lgdbm) + AC_CHECK_LIB(gdbm_compat, dbm_fetch,, found=false, -lgdbm) + AC_CHECK_LIB(gdbm_compat, dbm_store,, found=false, -lgdbm) + AC_CHECK_LIB(gdbm_compat, dbm_close,, found="no", -lgdbm) + + if test "$found" = "true"; then + libgdbm="-lgdbm_compat -lgdbm" + fi fi fi