Updates to QA scrdiff script to keep package configure macros in sync.
[xfstests-dev.git] / m4 / package_xfslibs.m4
diff --git a/m4/package_xfslibs.m4 b/m4/package_xfslibs.m4
new file mode 100644 (file)
index 0000000..7831bc4
--- /dev/null
@@ -0,0 +1,63 @@
+AC_DEFUN([AC_PACKAGE_NEED_XFS_LIBXFS_H],
+  [ AC_CHECK_HEADERS([xfs/libxfs.h])
+    if test "$ac_cv_header_xfs_libxfs_h" != "yes"; then
+        echo
+        echo 'FATAL ERROR: XFS header <xfs/libxfs.h> does not exist.'
+        echo 'Install the XFS programs (xfsprogs) development package.'
+        echo 'Alternatively, run "make install-dev" from the xfsprogs source.'
+        exit 1
+    fi
+  ])
+
+AC_DEFUN([AC_PACKAGE_NEED_XFS_HANDLE_H],
+  [ AC_CHECK_HEADERS([xfs/handle.h])
+    if test "$ac_cv_header_xfs_handle_h" != "yes"; then
+        echo
+        echo 'FATAL ERROR: XFS header <xfs/handle.h> does not exist.'
+        echo 'Install the XFS programs (xfsprogs) development package.'
+        echo 'Alternatively, run "make install-dev" from the xfsprogs source.'
+        exit 1
+    fi
+  ])
+
+AC_DEFUN([AC_PACKAGE_NEED_LIBXFSINIT_LIBXFS],
+  [ AC_CHECK_LIB(xfs, libxfs_init,, [
+        echo
+        echo 'FATAL ERROR: could not find a valid XFS base library.'
+        echo 'Install the XFS programs (xfsprogs) library package.'
+        echo 'Alternatively, run "make install-dev" from the xfsprogs source.'
+        exit 1
+    ])
+    libxfs="-lxfs"
+    test -f `pwd`/../xfsprogs/libxfs/libxfs.la && \
+        libxfs="`pwd`/../xfsprogs/libxfs/libxfs.la"
+    test -f /usr/lib/libxfs.la && libxfs="/usr/lib/libxfs.la"
+    AC_SUBST(libxfs)
+  ])
+
+AC_DEFUN([AC_PACKAGE_NEED_ATTRLIST_LIBHANDLE],
+  [ AC_CHECK_LIB(handle, attr_list_by_handle,, [
+        echo
+        echo 'FATAL ERROR: could not find a current XFS handle library.'
+        echo 'Install the XFS programs (xfsprogs) library package.'
+        echo 'Alternatively, run "make install-lib" from the xfsprogs source.'
+        exit 1
+    ])
+    libhdl="-lhandle"
+    test -f `pwd`/../xfsprogs/libhandle/libhandle.la && \
+        libhdl="`pwd`/../xfsprogs/libhandle/libhandle.la"
+    test -f /usr/lib/libhandle.la && libhdl="/usr/lib/libhandle.la"
+    AC_SUBST(libhdl)
+  ])
+
+AC_DEFUN([AC_PACKAGE_NEED_XFSCTL_MACRO],
+  [ AC_MSG_CHECKING([xfsctl from xfs/libxfs.h])
+    AC_TRY_LINK([#include <xfs/libxfs.h>], [ int x = xfsctl(0, 0, 0, 0); ],
+      [ echo ok ],
+      [ echo
+        echo 'FATAL ERROR: cannot find required macros in the XFS headers.'
+        echo 'Upgrade your XFS programs (xfsprogs) development package.'
+        echo 'Alternatively, run "make install-dev" from the xfsprogs source.'
+        exit 1
+      ])
+  ])