xfs
[Top] [All Lists]

[PATCH RESEND V2] xfstests: Incorrect check for gdbm/ndbm.h

To: xfs@xxxxxxxxxxx
Subject: [PATCH RESEND V2] xfstests: Incorrect check for gdbm/ndbm.h
From: Stanislav Kholmanskikh <stanislav.kholmanskikh@xxxxxxxxxx>
Date: Mon, 14 Oct 2013 19:01:39 +0400
Cc: vasily.isaenko@xxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20131013215708.GF5663@dastard>
References: <20131013215708.GF5663@dastard>
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@xxxxxxxxxx>
---
 m4/package_gdbmdev.m4 |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/m4/package_gdbmdev.m4 b/m4/package_gdbmdev.m4
index c07f75d..ae76e34 100644
--- a/m4/package_gdbmdev.m4
+++ b/m4/package_gdbmdev.m4
@@ -19,7 +19,18 @@ AC_DEFUN([AC_PACKAGE_WANT_NDBM],
   ])
 
 AC_DEFUN([AC_PACKAGE_WANT_GDBM],
-  [ AC_CHECK_HEADERS([gdbm/ndbm.h, gdbm-ndbm.h], [ have_db=true ], [ 
have_db=false ])
+  [ 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=""
 
-- 
1.7.1

<Prev in Thread] Current Thread [Next in Thread>