Whamcloud - gitweb
e2fsck: add Lustre lfsck tool
[tools/e2fsprogs.git] / configure.in
index fc48a7e..9905742 100644 (file)
@@ -226,6 +226,62 @@ Q=@
 AC_SUBST(E)
 AC_SUBST(Q)
 dnl
+dnl handle --enable-lfsck
+dnl
+AC_ARG_ENABLE([lfsck],
+[  --disable-lfsck               disable EXPERIMENTAL Lustre lfsck support],
+if test "$enableval" = "no"
+then
+       LFSCK_CMT=#
+       LFSCK_MAN=.\"
+       ENABLE_LFSCK="--disable-lfsck"
+       echo "Disabling Lustre lfsck support"
+else
+       LFSCK_CMT=
+       LFSCK_MAN=
+       ENABLE_LFSCK="--enable-lfsck"
+       AC_DEFINE(HAVE_LFSCK, 1, [Define to 1 if Lustre lfsck is enabled])
+       echo "Enabling Lustre lfsck support"
+fi
+,
+LFSCK_CMT=
+LFSCK_MAN=
+ENABLE_LFSCK=
+AC_DEFINE(HAVE_LFSCK, 1, [Define to 1 if Lustre lfsck is enabled])
+echo "Enabling Lustre lfsck support by default"
+)
+AC_SUBST(LFSCK_CMT)
+AC_SUBST(LFSCK_MAN)
+AC_SUBST(ENABLE_LFSCK)
+dnl
+dnl set lustre include path and build lfsck
+dnl
+AC_ARG_WITH([lustre],
+[  --with-lustre=LUSTRE path to Lustre sources for lfsck (default=/usr for RPM)],
+AC_MSG_RESULT(LUSTRE is in $withval)
+       LUSTRE="$withval"
+       WITH_LUSTRE="--with-lustre=$withval",
+       LUSTRE="/usr"
+       WITH_LUSTRE=
+)dnl
+AC_SUBST(LUSTRE)
+AC_SUBST(WITH_LUSTRE)
+dnl
+AS_IF([test "x$enable_lfsck" != "xno"],
+[
+       AC_CHECK_FILE($LUSTRE/include/lustre/liblustreapi.h,,
+               AC_CHECK_FILE($LUSTRE/lustre/include/lustre/liblustreapi.h,,
+                       AC_MSG_ERROR([No lustre includes found.]))
+       )
+dnl    # Disable for old autoconf that doesn't check header usability.
+dnl    # Supposed to check if lustre_idl.h is buildable from userspace.
+dnl    AC_CHECK_HEADER($LUSTRE/lustre/include/lustre/lustre_idl.h,
+dnl                    AC_DEFINE(HAVE_LUSTRE_LUSTRE_IDL_H),
+dnl            AC_CHECK_HEADER($LUSTRE/include/lustre/lustre_idl.h,
+dnl                            AC_DEFINE(HAVE_LUSTRE_LUSTRE_IDL_H),)
+dnl    )
+])
+dnl
 dnl handle --enable-compression
 dnl
 AC_ARG_ENABLE([compression],
@@ -861,6 +917,7 @@ AC_CHECK_HEADERS(net/if.h,,,
 #include <sys/socket.h>
 #endif
 ]])
+AC_CHECK_HEADERS(db.h)
 AC_FUNC_VPRINTF
 dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen
 dnl is not decleared.
@@ -1028,6 +1085,38 @@ SOCKET_LIB=''
 AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket])
 AC_SUBST(SOCKET_LIB)
 dnl
+dnl Check to see if libdb exists for the sake of lfsck
+dnl
+AC_CHECK_LIB(db-4.1, db_env_create,
+       [DB4VERSION=4.1
+       AC_DEFINE(HAVE_DB4, 1, [Define to 1 if DB4 library is present])
+])
+AC_CHECK_LIB(db-4.2, db_env_create,
+       [DB4VERSION=4.2
+       AC_DEFINE(HAVE_DB4, 1, [Define to 1 if DB4 library is present])
+])
+AC_CHECK_LIB(db-4.3, db_env_create,
+       [DB4VERSION=4.3
+       AC_DEFINE(HAVE_DB4, 1, [Define to 1 if DB4 library is present])
+])
+AC_CHECK_LIB(db-4.5, db_env_create,
+       [DB4VERSION=4.5
+       AC_DEFINE(HAVE_DB4, 1, [Define to 1 if DB4 library is present])
+])
+AC_CHECK_LIB(db-4.6, db_env_create,
+       [DB4VERSION=4.6
+       AC_DEFINE(HAVE_DB4, 1, [Define to 1 if DB4 library is present])
+])
+AC_CHECK_LIB(db-4.7, db_env_create,
+       [DB4VERSION=4.7
+       AC_DEFINE(HAVE_DB4, 1, [Define to 1 if DB4 library is present])
+])
+AC_CHECK_LIB(db-4.8, db_env_create,
+       [DB4VERSION=4.8
+       AC_DEFINE(HAVE_DB4, 1, [Define to 1 if DB4 library is present])
+])
+AC_SUBST(DB4VERSION)
+dnl
 dnl See if optreset exists
 dnl
 AC_MSG_CHECKING(for optreset)