Files
apfstests/m4/package_gdbmdev.m4
T
Jeff Mahoney 581862bdc0 build: fix <ndbm.h> detection in AC_PACKAGE_WANT_GDBM
SUSE systems export the NDBM interface via /usr/include/ndbm.h

This means that dbtest wasn't built on SUSE systems until commit
2353022 (build: update AC_PACKAGE_WANT_GDBM() and src/dbtest.c to
build). That change was incompatible with older SLES releases due to
<ndbm.h> and <gdbm.h> both defining the datum type, resulting in
build failures.

Nothing has ever set HAVE_GDBM_H or checked for the <gdbm.h> header
prior to the above commit, and it's not required on SUSE systems
either, so just remove that entirely.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2018-03-23 11:26:04 +08:00

58 lines
1.5 KiB
Plaintext

AC_DEFUN([AC_PACKAGE_WANT_GDBM],
[
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 <gdbm-ndbm.h> 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 <gdbm/ndbm.h> header file.])
])
fi
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 <ndbm.h> header file.])
])
fi
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
AC_SUBST(libgdbm)
AC_SUBST(have_db)
])