Whamcloud - gitweb
LU-1540 e2fsck: add missing symlink NUL terminator
[tools/e2fsprogs.git] / configure.in
index 926bc43..ffb014e 100644 (file)
@@ -124,7 +124,6 @@ then
 else
     AC_MSG_RESULT([[(none)]])
 fi
-AC_USE_SYSTEM_EXTENSIONS
 dnl
 dnl Set default values for library extentions.  Will be dealt with after
 dnl parsing configuration opions, which may modify these
@@ -479,6 +478,7 @@ then
                [LIBUUID=`$PKG_CONFIG --libs uuid`;
                 STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`],
                [AC_MSG_ERROR([external uuid library not found])])
+       PROFILED_LIBUUID=$LIBUUID
        UUID_CMT=#
        AC_MSG_RESULT([Disabling private uuid library])
 else
@@ -531,6 +531,7 @@ then
                 STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`],
                [AC_MSG_ERROR([external blkid library not found])], -luuid)
        BLKID_CMT=#
+       PROFILED_LIBBLKID=$LIBBLKID
        AC_MSG_RESULT([Disabling private blkid library])
 else
        LIBBLKID='$(LIB)/libblkid'$LIB_EXT
@@ -568,21 +569,24 @@ AC_SUBST(QUOTA_MAN_COMMENT)
 PKG_PROG_PKG_CONFIG
 AH_TEMPLATE([CONFIG_QUOTA], [Define to 1 to enable quota support])
 AC_ARG_ENABLE([quota],
-[  --enable-quota        enable quota support],
+[  --disable-quota       disable quota support],
 if test "$enableval" = "no"
 then
        QUOTA_CMT=#
        AC_MSG_RESULT([Disabling quota support])
+       QUOTA_CMT="#"
 else
        QUOTA_CMT=
        AC_DEFINE(CONFIG_QUOTA, 1)
+       QUOTA_CMT=
        AC_MSG_RESULT([Enabling quota support])
        QUOTA_MAN_COMMENT=""
        AC_SUBST(QUOTA_MAN_COMMENT)
 fi
 ,
-QUOTA_CMT=#
-AC_MSG_RESULT([Disabling quota support by default])
+AC_DEFINE(CONFIG_QUOTA, 1)
+QUOTA_CMT=
+AC_MSG_RESULT([Enabling quota support by default])
 )
 dnl
 dnl Define stuff expected for quota library
@@ -635,6 +639,28 @@ DEBUGFS_CMT=
 )
 AC_SUBST(DEBUGFS_CMT)
 dnl
+dnl handle --enable-e2scan
+dnl
+AC_ARG_ENABLE([e2scan],
+[  --disable-e2scan      disable support of e2scan program],
+if test "$enableval" = "no"
+then
+       echo "Disabling e2scan support"
+       E2SCAN_CMT="#"
+       E2SCAN_MAN='.\"'
+else
+       E2SCAN_CMT=
+       E2SCAN_MAN=
+       echo "Enabling e2scan support"
+fi
+,
+echo "Enabling e2scan support by default"
+E2SCAN_CMT=
+E2SCAN_MAN=
+)
+AC_SUBST(E2SCAN_CMT)
+AC_SUBST(E2SCAN_MAN)
+dnl
 dnl handle --enable-imager
 dnl
 AC_ARG_ENABLE([imager],
@@ -783,8 +809,14 @@ else
 fi]
 ,
 AC_DEFINE(USE_UUIDD, 1)
-UUIDD_CMT=""
-AC_MSG_RESULT([Building uuidd by default])
+if test -z "$UUID_CMT"
+then
+       UUIDD_CMT=""
+       AC_MSG_RESULT([Building uuidd by default])
+else
+       UUIDD_CMT="#"
+       AC_MSG_RESULT([Disabling uuidd by default])
+fi
 )
 AC_SUBST(UUIDD_CMT)
 dnl
@@ -849,6 +881,7 @@ else
   AC_CHECK_PROGS(BUILD_CC, gcc cc)
 fi
 AC_CHECK_HEADERS(m4_flatten([
+       attr/xattr.h
        dirent.h
        errno.h
        execinfo.h
@@ -891,6 +924,7 @@ AC_CHECK_HEADERS(m4_flatten([
        sys/types.h
        sys/un.h
        sys/wait.h
+       sys/xattr.h
 ]))
 AC_CHECK_HEADERS(net/if.h,,,
 [[
@@ -901,6 +935,10 @@ AC_CHECK_HEADERS(net/if.h,,,
 #include <sys/socket.h>
 #endif
 ]])
+dnl do not check sqlite3.h if e2scan is disabled
+if test x"$E2SCAN_CMT" == x; then
+AC_CHECK_HEADERS(sqlite3.h)
+fi
 AC_FUNC_VPRINTF
 dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen
 dnl is not decleared.
@@ -1079,6 +1117,7 @@ AC_CHECK_FUNCS(m4_flatten([
        sysconf
        usleep
        utime
+       utimes
        valloc
 ]))
 dnl
@@ -1089,6 +1128,53 @@ SOCKET_LIB=''
 AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket])
 AC_SUBST(SOCKET_LIB)
 dnl
+dnl
+dnl Check to see if static sqlite exists
+dnl
+AC_ARG_WITH(
+       [sqlite3],
+       [  --with-sqlite3=DIR      location of sqlite3 library (default /usr/lib)],
+       [SQLITE3_LIBS="-L$with_sqlite3"],,
+       [SQLITE3_LIBS="-L/usr/lib64 -L/usr/lib"])
+
+dnl do not check sqlite3 library if e2scan is disabled
+if test x"$E2SCAN_CMT" == x; then
+
+CFLAGS_OLD=$CFLAGS
+SQLITE3_LIB=''
+dnl
+dnl check static sqlite3 first
+dnl
+CFLAGS="$CFLAGS_OLD $SQLITE3_LIBS -static -pthread"
+AC_CHECK_LIB(sqlite3, sqlite3_open,
+       [
+       SQLITE3_LIB="$SQLITE3_LIBS -static -pthread -lsqlite3"
+       AC_DEFINE(HAVE_SQLITE3, 1, [Define to 1 if SQLite library is present])
+       ])
+
+if test x"$SQLITE3_LIB" == x; then
+dnl
+dnl static sqlite3 is not found, check dynamic sqlite3
+dnl
+       AC_MSG_WARN(no static sqlite3 - looking for dynamic one)
+       CFLAGS="$CFLAGS_OLD $SQLITE3_LIBS -pthread"
+       AC_CHECK_LIB(sqlite3, sqlite3_close,
+               [
+               SQLITE3_LIB="$SQLITE3_LIBS -pthread -lsqlite3"
+               AC_DEFINE(HAVE_SQLITE3, 1, [Define to 1 if SQLite library is present])
+               ])
+fi
+
+AC_SUBST(SQLITE3_LIB)
+CFLAGS=$CFLAGS_OLD
+
+if test x"$SQLITE3_LIB" == x; then
+       AC_MSG_WARN(no sqlite3 - e2scan will not support database based scanning)
+fi
+
+fi
+
+dnl
 dnl See if optreset exists
 dnl
 AC_MSG_CHECKING(for optreset)
@@ -1318,6 +1404,8 @@ test -d include || mkdir include
 test -d include/linux || mkdir include/linux
 test -d include/asm || mkdir include/asm
 for i in MCONFIG Makefile e2fsprogs.spec \
+       e2fsprogs-RHEL-6.spec \
+       e2fsprogs-SUSE_LINUX-11.spec \
        util/Makefile util/subst.conf util/gen-tarball util/install-symlink \
        lib/et/Makefile lib/ss/Makefile lib/e2p/Makefile \
        lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \
@@ -1326,7 +1414,7 @@ for i in MCONFIG Makefile e2fsprogs.spec \
        lib/ss/ss.pc lib/uuid/uuid.pc lib/et/com_err.pc \
        lib/e2p/e2p.pc lib/blkid/blkid.pc lib/ext2fs/ext2fs.pc \
        misc/Makefile ext2ed/Makefile e2fsck/Makefile \
-       debugfs/Makefile tests/Makefile tests/progs/Makefile \
+       debugfs/Makefile e2scan/Makefile tests/Makefile tests/progs/Makefile \
        resize/Makefile doc/Makefile intl/Makefile \
        intl/libgnuintl.h po/Makefile.in ; do
        if test -d `dirname ${srcdir}/$i` ; then