Whamcloud - gitweb
libext2fs: ext2fs_new_block2() should call alloc_block hook
[tools/e2fsprogs.git] / configure.in
index fffab7a..9069234 100644 (file)
@@ -124,6 +124,7 @@ 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
@@ -381,27 +382,18 @@ AC_MSG_RESULT([Disabling profiling libraries by default])
 AC_SUBST(PROFILE_CMT)
 AC_SUBST_FILE(MAKEFILE_PROFILE)
 dnl
-dnl handle --enable-checker
+dnl handle --enable-gcov
 dnl
-AC_ARG_ENABLE([checker],
-[  --enable-checker      build checker libraries],
-if test "$enableval" = "no"
+AC_ARG_ENABLE([gcov],
+[  --enable-gcov                 build for coverage testing using gcov],
+if test "$enableval" = "yes"
 then
-       CHECKER_CMT=#
-       MAKEFILE_CHECKER=/dev/null
-       AC_MSG_RESULT([Disabling checker libraries])
-else
-       CHECKER_CMT=
-       MAKEFILE_CHECKER=$srcdir/lib/Makefile.checker
-       AC_MSG_RESULT([Building checker libraries])
+       CFLAGS="-g -fprofile-arcs -ftest-coverage"
+       LDFLAGS="-fprofile-arcs -ftest-coverage"
+       AC_MSG_RESULT([Enabling gcov support])
 fi
-,
-CHECKER_CMT=#
-MAKEFILE_CHECKER=/dev/null
-AC_MSG_RESULT([Disabling checker libraries by default])
 )
-AC_SUBST(CHECKER_CMT)
-AC_SUBST_FILE(MAKEFILE_CHECKER)
+
 dnl
 dnl Substitute library extensions
 dnl
@@ -486,8 +478,8 @@ then
        AC_CHECK_LIB(uuid, uuid_generate,
                [LIBUUID=`$PKG_CONFIG --libs uuid`;
                 STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`],
-               [AC_MSG_ERROR([external uuid library not found])],
-               [$LIBUUID])
+               [AC_MSG_ERROR([external uuid library not found])])
+       PROFILED_LIBUUID=$LIBUUID
        UUID_CMT=#
        AC_MSG_RESULT([Disabling private uuid library])
 else
@@ -538,9 +530,9 @@ then
        AC_CHECK_LIB(blkid, blkid_get_cache,
                [LIBBLKID=`$PKG_CONFIG --libs blkid`;
                 STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`],
-               [AC_MSG_ERROR([external blkid library not found])],
-               [$LIBBLKID])
+               [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
@@ -793,11 +785,71 @@ 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
+dnl handle --disable-mmp
+dnl
+AH_TEMPLATE([CONFIG_MMP], [Define to 1 to enable mmp support])
+AC_ARG_ENABLE([mmp],
+[  --disable-mmp           disable support mmp, Multi Mount Protection],
+if test "$enableval" = "no"
+then
+       AC_MSG_RESULT([Disabling mmp support])
+else
+       AC_MSG_RESULT([Enabling mmp support])
+       AC_DEFINE(CONFIG_MMP, 1)
+fi
+,
+AC_MSG_RESULT([Enabling mmp support by default])
+AC_DEFINE(CONFIG_MMP, 1)
+)
+dnl
+dnl handle --disable-bmap-stats
+dnl
+AH_TEMPLATE([ENABLE_BMAP_STATS], [Define to 1 to enable bitmap stats.])
+AC_ARG_ENABLE([bmap-stats],
+[  --disable-bmap-stats    disable collection of bitmap stats.],
+if test "$enableval" = "no"
+then
+       AC_MSG_RESULT([Disabling bitmap statistics support])
+else
+       AC_MSG_RESULT([Enabling bitmap statistics support])
+       AC_DEFINE(ENABLE_BMAP_STATS, 1)
+fi
+,
+AC_MSG_RESULT([Enabling bitmap statistics support by default])
+AC_DEFINE(ENABLE_BMAP_STATS, 1)
+)
+dnl
+dnl handle --enable-bmap-stats-ops
+dnl
+AH_TEMPLATE([ENABLE_BMAP_STATS_OPS], [Define to 1 to enable bitmap stats.])
+AC_ARG_ENABLE([bmap-stats-ops],
+[  --enable-bmap-stats-ops enable collection of additional bitmap stats],
+if test "$enableval" = "no"
+then
+       AC_MSG_RESULT([Disabling additional bitmap statistics])
+else
+       dnl There has to be a better way!
+       AS_IF([test "x${enable_bmap_stats}" = "xno"],
+        AC_MSG_FAILURE([Error --enable-bmap-stats-ops requires bmap-stats]))
+
+       AC_MSG_RESULT([Enabling additional bitmap statistics])
+       AC_DEFINE(ENABLE_BMAP_STATS_OPS, 1)
+fi
+,
+AC_MSG_RESULT([Disabling additional bitmap statistics by default])
+)
+dnl
 dnl
 dnl
 MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library
@@ -876,6 +928,7 @@ AC_CHECK_HEADERS(m4_flatten([
        termio.h
        unistd.h
        utime.h
+       attr/xattr.h
        linux/falloc.h
        linux/fd.h
        linux/major.h
@@ -883,12 +936,13 @@ AC_CHECK_HEADERS(m4_flatten([
        net/if_dl.h
        netinet/in.h
        sys/disklabel.h
+       sys/disk.h
        sys/file.h
        sys/ioctl.h
        sys/mkdev.h
        sys/mman.h
+       sys/mount.h
        sys/prctl.h
-       sys/queue.h
        sys/resource.h
        sys/select.h
        sys/socket.h
@@ -901,12 +955,6 @@ AC_CHECK_HEADERS(m4_flatten([
        sys/un.h
        sys/wait.h
 ]))
-AC_CHECK_HEADERS(sys/disk.h sys/mount.h,,,
-[[
-#if HAVE_SYS_QUEUE_H
-#include <sys/queue.h>
-#endif
-]])
 AC_CHECK_HEADERS(net/if.h,,,
 [[
 #if HAVE_SYS_TYPES_H
@@ -967,7 +1015,11 @@ AC_SUBST(SIZEOF_LONG)
 AC_SUBST(SIZEOF_LONG_LONG)
 AC_SUBST(SIZEOF_OFF_T)
 AC_C_BIGENDIAN
-BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh
+if test $cross_compiling = no; then
+  BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh
+else
+  CROSS_COMPILE="1" BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh
+fi
 ASM_TYPES_HEADER=./asm_types.h
 AC_SUBST_FILE(ASM_TYPES_HEADER)
 dnl
@@ -1038,6 +1090,7 @@ AC_CHECK_FUNCS(m4_flatten([
        __secure_getenv
        backtrace
        blkid_probe_get_topology
+       blkid_probe_enable_partitions
        chflags
        fadvise64
        fallocate
@@ -1054,6 +1107,7 @@ AC_CHECK_FUNCS(m4_flatten([
        getrlimit
        getrusage
        jrand48
+       llistxattr
        llseek
        lseek64
        mallinfo
@@ -1069,10 +1123,15 @@ AC_CHECK_FUNCS(m4_flatten([
        posix_fadvise64
        posix_memalign
        prctl
+       pread
+       pwrite
+       pread64
+       pwrite64
        secure_getenv
        setmntent
        setresgid
        setresuid
+       snprintf
        srandom
        stpcpy
        strcasecmp
@@ -1084,6 +1143,7 @@ AC_CHECK_FUNCS(m4_flatten([
        sysconf
        usleep
        utime
+       utimes
        valloc
 ]))
 dnl
@@ -1094,6 +1154,15 @@ SOCKET_LIB=''
 AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket])
 AC_SUBST(SOCKET_LIB)
 dnl
+dnl See if libmagic exists
+dnl
+AC_CHECK_LIB(magic, magic_file, [MAGIC_LIB=-lmagic
+AC_CHECK_HEADERS([magic.h])])
+if test "$ac_cv_lib_dl_dlopen" = yes ; then
+   MAGIC_LIB=$DLOPEN_LIB
+fi
+AC_SUBST(MAGIC_LIB)
+dnl
 dnl See if optreset exists
 dnl
 AC_MSG_CHECKING(for optreset)
@@ -1304,15 +1373,13 @@ if test -n "$WITH_DIET_LIBC" ; then
        INCLUDES="$INCLUDES -D_REENTRANT"
 fi
 AC_SUBST(INCLUDES)
+AM_MKINSTALLDIRS
 dnl
 dnl Build CFLAGS
 dnl
 if test $cross_compiling = no; then
    BUILD_CFLAGS="$CFLAGS $CPPFLAGS $INCLUDES -DHAVE_CONFIG_H"
    BUILD_LDFLAGS="$LDFLAGS"
-else
-   BUILD_CFLAGS=
-   BUILD_LDFLAGS=
 fi
 AC_SUBST(BUILD_CFLAGS)
 AC_SUBST(BUILD_LDFLAGS)