AC_PREREQ(2.54)
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_HEADERS([lib/config.h])
-AH_BOTTOM([#include "dirpaths.h"])
+AH_BOTTOM([#include <dirpaths.h>])
MCONFIG=./MCONFIG
AC_SUBST_FILE(MCONFIG)
BINARY_TYPE=bin
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
AC_SUBST(ES)
AC_SUBST(Q)
dnl
-dnl handle --enable-compression
-dnl
-AC_ARG_ENABLE([compression],
-[ --enable-compression enable EXPERIMENTAL compression support],
-if test "$enableval" = "no"
-then
- AC_MSG_RESULT([Disabling compression support])
-else
- AC_DEFINE(ENABLE_COMPRESSION, 1,
- [Define to 1 if ext2 compression enabled])
- AC_MSG_RESULT([Enabling compression support])
- AC_MSG_WARN([Compression support is experimental])
-fi
-,
-AC_MSG_RESULT([Disabling compression support by default])
-)
-dnl
dnl handle --enable-htree
dnl
AH_TEMPLATE([ENABLE_HTREE], [Define to 1 if ext3/4 htree support enabled])
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
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
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
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
termio.h
unistd.h
utime.h
+ attr/xattr.h
linux/falloc.h
linux/fd.h
linux/major.h
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
sys/sockio.h
sys/stat.h
sys/syscall.h
+ sys/sysctl.h
sys/sysmacros.h
sys/time.h
sys/types.h
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
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
__secure_getenv
backtrace
blkid_probe_get_topology
+ blkid_probe_enable_partitions
chflags
fadvise64
fallocate
getrlimit
getrusage
jrand48
+ llistxattr
llseek
lseek64
mallinfo
posix_fadvise64
posix_memalign
prctl
+ pread
+ pwrite
+ pread64
+ pwrite64
secure_getenv
setmntent
setresgid
setresuid
+ snprintf
srandom
stpcpy
strcasecmp
sysconf
usleep
utime
+ utimes
valloc
]))
dnl
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)
dnl
AC_ARG_WITH([multiarch],
[ --with-multiarch=ARCH specify the multiarch triplet],
-libdir=$libdir/$withval
-root_libdir=$root_libdir/$withval
+if test "$withval" = "lib64"; then
+ libdir=/usr/lib64
+ root_libdir=/lib64
+else
+ libdir=$libdir/$withval
+ root_libdir=$root_libdir/$withval
+fi
)dnl
dnl
dnl See if -static works. This could fail if the linker does not
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)