I'm no autoconf wizard, but I think this does the trick to allow
xfstests build to succeed when dmapi headers are missing, as
they probably will be for any distro that doesn't ship with
dmapi in the kernel, or dmapi userspace.
AFAIK the dmapi-related tests all fail gracefully with "not run."
Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx>
---
Index: xfstests/Makefile
===================================================================
--- xfstests.orig/Makefile
+++ xfstests/Makefile
@@ -25,8 +25,10 @@ else
$(SUBDIRS_MAKERULE)
# automake doesn't always support "default" target
# so do dmapi make explicitly with "all"
+ifeq ($(HAVE_DMAPI), true)
cd $(TOPDIR)/dmapi; make all
endif
+endif
ifeq ($(HAVE_BUILDDEFS), yes)
include $(BUILDRULES)
Index: xfstests/aclocal.m4
===================================================================
--- xfstests.orig/aclocal.m4
+++ xfstests/aclocal.m4
@@ -99,6 +99,11 @@ AC_DEFUN([AC_PACKAGE_WANT_AIO],
AC_SUBST(have_aio)
])
+AC_DEFUN([AC_PACKAGE_WANT_DMAPI],
+ [ AC_CHECK_HEADERS(sys/dmapi/dmapi.h, [ have_dmapi=true ], [
have_dmapi=false ])
+ AC_SUBST(have_dmapi)
+ ])
+
AC_DEFUN([AC_PACKAGE_NEED_ATTR_XATTR_H],
[ AC_CHECK_HEADERS([attr/xattr.h])
if test "$ac_cv_header_attr_xattr_h" != "yes"; then
Index: xfstests/configure.in
===================================================================
--- xfstests.orig/configure.in
+++ xfstests/configure.in
@@ -61,6 +61,7 @@ in
AC_PACKAGE_WANT_GDBM
AC_PACKAGE_WANT_AIO
+ AC_PACKAGE_WANT_DMAPI
;;
esac
Index: xfstests/include/builddefs.in
===================================================================
--- xfstests.orig/include/builddefs.in
+++ xfstests/include/builddefs.in
@@ -50,6 +50,7 @@ RPM_VERSION = @rpm_version@
ENABLE_SHARED = @enable_shared@
HAVE_DB = @have_db@
HAVE_AIO = @have_aio@
+HAVE_DMAPI = @have_dmapi@
HAVE_ATTR_LIST = @have_attr_list@
GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall
|