Files
apfstests/m4/package_gdbmdev.m4
T
Stanislav Kholmanskikh f1d5892e28 xfstests: Incorrect check for gdbm/ndbm.h
Current version of AC_PACKAGE_WANT_NDBM has following bugs:
* a typo (',') next to 'gdbm/ndbm.h', so C compiler fails
  with a syntax error when trying to compile
  "#include <gdbm/ndbm.h,>"

* autoconf never defines HAVE_GDBM_NDBM_H_ because it
  converts both header names (gdbm/ndbm.h, gdbm-ndbm.h)
  to GDBM_NDBM_H

Because of these bugs 'dbtest' can't be compiled on systems where
'gdbm-ndbm.h' header is absent but 'gdbm/ndbm.h' is present.

Fixed this.

Signed-off-by: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
2013-10-16 15:20:35 -05:00

62 lines
1.8 KiB
Plaintext

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_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 <gdbm-ndbm.h> 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 <gdbm/ndbm.h> header file.])
fi
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)
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)
])