xfsqa: build dbtest on debian platforms

Set up autoconf to find the correct headers and compat libraries for
debian squeeze, and massage the includes to ensure the right headers get
included. Also fix a compile warning that was emitted now that it is being
compiled.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Dave Chinner
2010-05-04 16:01:26 +10:00
parent 80d1e88a24
commit 3f99d87418
2 changed files with 18 additions and 14 deletions
+6 -2
View File
@@ -6,9 +6,13 @@ AC_DEFUN([AC_PACKAGE_WANT_NDBM],
])
AC_DEFUN([AC_PACKAGE_WANT_GDBM],
[ AC_CHECK_HEADERS([gdbm/ndbm.h], [ have_db=true ], [ have_db=false ])
[ AC_CHECK_HEADERS([gdbm/ndbm.h, gdbm-ndbm.h], [ have_db=true ], [ have_db=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="${libexecdir}${libdirsuffix}/libgdbm.a"
libgdbm="${libgdbm} ${libexecdir}${libdirsuffix}/libgdbm.a"
fi
AC_SUBST(libgdbm)
AC_SUBST(have_db)
+12 -12
View File
@@ -18,19 +18,17 @@
#include "global.h"
#ifdef HAVE_GDBM_NDBM_H
#ifdef HAVE_GDBM_NDBM_H_
#include <gdbm/ndbm.h>
#else
#ifdef HAVE_GDBM_H
#elif HAVE_GDBM_NDBM_H
#include <gdbm-ndbm.h>
#elif HAVE_GDBM_H
#include <gdbm.h>
#else
#ifdef HAVE_NDBM_H
#elif HAVE_NDBM_H
#include <ndbm.h>
#else
bozo!
#endif
#endif
#endif
/* #define WorkDir "/xfs" */
@@ -140,11 +138,12 @@ int InitDbmLookup(int howmany)
sprintf(filename, "%s-%d", DBNAME, (int)getpid());
if (debugflg) {
printf("dbm_open(%s, O_WRONLY|O_CREAT, 0644)\n", filename);
printf("dbm_open(%s, O_RDWR|O_CREAT, 0644)\n", filename);
fflush(stdout);
}
dbm = dbm_open(filename, O_WRONLY|O_CREAT, 0644);
if(dbm == NULL) DoSysError("\ndbm_open", (int)dbm);
dbm = dbm_open(filename, O_RDWR|O_CREAT, 0644);
if(dbm == NULL)
DoSysError("\ndbm_open", -1);
if ((KeyArray = (unsigned short *)calloc( howmany,
sizeof(unsigned short))) == NULL)
@@ -191,11 +190,12 @@ int InitDbmLookup(int howmany)
}
dbm_close(dbm); /* close to eliminate chance of in-memory caching */
if (debugflg) {
printf("dbm_open(%s, O_RDNLY, 0)\n", filename);
printf("dbm_open(%s, O_RDONLY, 0)\n", filename);
fflush(stdout);
}
dbm = dbm_open(filename, O_RDONLY, 0);
if(dbm == NULL) DoSysError("\ndbm_open", (int)dbm);
if(dbm == NULL)
DoSysError("\ndbm_open", -1);
return 0;
}