X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=configure.ac;h=3fd7691eaab5758a09aec7caa49d66bd3bc1a22e;hb=669be3c4030f67438cb6abd1c061b63475894232;hp=fe991ccea19dd680a90a5cabd152a34b70f38d99;hpb=d530478cea128c5e3d168e368ecc40107c55953e;p=thirdparty%2Fxfsprogs-dev.git diff --git a/configure.ac b/configure.ac index fe991ccea..3fd7691ea 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([xfsprogs], [3.2.0-alpha2]) +AC_INIT([xfsprogs], [4.19.0-rc0], [linux-xfs@vger.kernel.org]) AC_PREREQ(2.50) AC_CONFIG_AUX_DIR([.]) AC_CONFIG_MACRO_DIR([m4]) @@ -6,8 +6,27 @@ AC_CONFIG_SRCDIR([include/libxfs.h]) AC_CONFIG_HEADER(include/platform_defs.h) AC_PREFIX_DEFAULT(/usr) +AC_PROG_INSTALL AC_PROG_LIBTOOL +AC_PROG_CC +AC_ARG_VAR(BUILD_CC, [C compiler for build tools]) +if test "${BUILD_CC+set}" != "set"; then + if test $cross_compiling = no; then + BUILD_CC="$CC" + else + AC_CHECK_PROGS(BUILD_CC, gcc cc) + fi +fi +AC_ARG_VAR(BUILD_CFLAGS, [C compiler flags for build tools]) +if test "${BUILD_CFLAGS+set}" != "set"; then + if test $cross_compiling = no; then + BUILD_CFLAGS="$CFLAGS" + else + BUILD_CFLAGS="-g -O2" + fi +fi + AC_ARG_ENABLE(shared, [ --enable-shared=[yes/no] Enable use of shared libraries [default=yes]],, enable_shared=yes) @@ -18,6 +37,11 @@ AC_ARG_ENABLE(gettext, enable_gettext=yes) AC_SUBST(enable_gettext) +AC_ARG_ENABLE(blkid, +[ --enable-blkid=[yes/no] Enable use of block device id library [default=yes]],, + enable_blkid=yes) +AC_SUBST(enable_blkid) + AC_ARG_ENABLE(readline, [ --enable-readline=[yes/no] Enable readline command editing [default=no]], test $enable_readline = yes && libreadline="-lreadline", @@ -37,16 +61,45 @@ AC_ARG_ENABLE(termcap, test $enable_termcap = yes && libtermcap="-ltermcap",) AC_SUBST(libtermcap) -# AC_HAVE_BLKID_TOPO below wil find the library & check for topo support -AC_ARG_ENABLE(blkid, -[ --enable-blkid=[yes/no] Enable block device id library [default=yes]],, - enable_blkid=yes) AC_ARG_ENABLE(lib64, [ --enable-lib64=[yes/no] Enable lib64 support [default=yes]],, enable_lib64=yes) AC_SUBST(enable_lib64) +AC_ARG_ENABLE(librt, +[ --enable-librt=[yes/no] Enable librt support [default=yes]],, + enable_librt=yes) +AC_SUBST(enable_librt) + +# Enable UBSAN; set enable_ubsan=probe below to enable autoprobe. +AC_ARG_ENABLE(ubsan, +[ --enable-ubsan=[yes/no] Enable Undefined Behavior Sanitizer (UBSAN) [default=no]],, + enable_ubsan=no) +AC_SUBST(enable_ubsan) + +# Enable ADDRSAN; set enable_addrsan=probe below to enable autoprobe. +AC_ARG_ENABLE(addrsan, +[ --enable-addrsan=[yes/no] Enable Address Sanitizer (ADDRSAN) [default=no]],, + enable_addrsan=no) +AC_SUBST(enable_addrsan) + +# Enable THREADSAN; set enable_threadsan=probe to enable autoprobe. +AC_ARG_ENABLE(threadsan, +[ --enable-threadsan=[yes/no] Enable Thread Sanitizer (THREADSAN) [default=no]],, + enable_threadsan=no) +AC_SUBST(enable_threadsan) + +AC_ARG_ENABLE(lto, +[ --enable-lto=[yes/no] Enable link time optimization (LTO) [default=probe]],, + enable_lto=probe) +AC_SUBST(enable_lto) + +# Enable libicu for xfs_scrubbing of malicious unicode sequences in names +AC_ARG_ENABLE(libicu, +[ --enable-libicu=[yes/no] Enable Unicode name scanning (libicu) [default=probe]],, + enable_libicu=probe) + # # If the user specified a libdir ending in lib64 do not append another # 64 to the library names. @@ -91,9 +144,7 @@ AC_SUBST(LOCALIZED_FILES) AC_PACKAGE_GLOBALS(xfsprogs) AC_PACKAGE_UTILITIES(xfsprogs) AC_MULTILIB($enable_lib64) - -AC_PACKAGE_NEED_AIO_H -AC_PACKAGE_NEED_LIO_LISTIO +AC_RT($enable_librt) AC_PACKAGE_NEED_UUID_H AC_PACKAGE_NEED_UUIDCOMPARE @@ -106,17 +157,78 @@ AC_HAVE_MADVISE AC_HAVE_MINCORE AC_HAVE_SENDFILE AC_HAVE_GETMNTENT -AC_HAVE_GETMNTINFO AC_HAVE_FALLOCATE AC_HAVE_FIEMAP +AC_HAVE_PWRITEV2 AC_HAVE_PREADV +AC_HAVE_COPY_FILE_RANGE AC_HAVE_SYNC_FILE_RANGE -AC_HAVE_BLKID_TOPO($enable_blkid) +AC_HAVE_SYNCFS +AC_HAVE_MNTENT +AC_HAVE_FLS AC_HAVE_READDIR - +AC_HAVE_FSETXATTR +AC_HAVE_MREMAP +AC_NEED_INTERNAL_FSXATTR +AC_HAVE_GETFSMAP +AC_HAVE_STATFS_FLAGS +AC_HAVE_MAP_SYNC +AC_HAVE_DEVMAPPER +AC_HAVE_MALLINFO +AC_PACKAGE_WANT_ATTRIBUTES_H +AC_HAVE_LIBATTR +if test "$enable_libicu" = "yes" || test "$enable_libicu" = "probe"; then + AC_HAVE_LIBICU +fi +if test "$enable_libicu" = "yes" && test "$have_libicu" != "yes"; then + AC_MSG_ERROR([libicu not found.]) +fi +AC_HAVE_OPENAT +AC_HAVE_FSTATAT +AC_HAVE_SG_IO +AC_HAVE_HDIO_GETGEO +AC_CONFIG_SYSTEMD_SYSTEM_UNIT_DIR +AC_CONFIG_CROND_DIR + +if test "$enable_blkid" = yes; then +AC_HAVE_BLKID_TOPO +fi + +if test "$enable_ubsan" = "yes" || test "$enable_ubsan" = "probe"; then + AC_PACKAGE_CHECK_UBSAN +fi +if test "$enable_ubsan" = "yes" && test "$have_ubsan" != "yes"; then + AC_MSG_ERROR([UBSAN not supported by compiler.]) +fi + +if test "$enable_addrsan" = "yes" || test "$enable_addrsan" = "probe"; then + AC_PACKAGE_CHECK_ADDRSAN +fi +if test "$enable_addrsan" = "yes" && test "$have_addrsan" != "yes"; then + AC_MSG_ERROR([ADDRSAN not supported by compiler.]) +fi + +if test "$enable_threadsan" = "yes" || test "$enable_threadsan" = "probe"; then + AC_PACKAGE_CHECK_THREADSAN +fi +if test "$enable_threadsan" = "yes" && test "$have_threadsan" != "yes"; then + AC_MSG_ERROR([THREADSAN not supported by compiler.]) +fi + +if test "$have_threadsan" = "yes" && test "$have_addrsan" = "yes"; then + AC_MSG_WARN([ADDRSAN and THREADSAN are not known to work together.]) +fi + +if test "$enable_lto" = "yes" || test "$enable_lto" = "probe"; then + AC_PACKAGE_CHECK_LTO +fi +if test "$enable_lto" = "yes" && test "$have_lto" != "yes"; then + AC_MSG_ERROR([LTO not supported by compiler.]) +fi + +AC_PACKAGE_CHECK_RETPOLINE AC_CHECK_SIZEOF([long]) AC_CHECK_SIZEOF([char *]) -AC_TYPE_U32 AC_TYPE_UMODE_T AC_MANUAL_FORMAT