X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=configure.ac;h=be629c66f4029548cd488e1feb4e8d6433ebaebf;hp=27d6fa3893a6951e13e1cb2657081ff531485bcf;hb=5260cf0b5649fc25b9d69a97f9604a3be257e13e;hpb=af795d1f88e9d8f1fad0613eac93c6775b4f6735 diff --git a/configure.ac b/configure.ac index 27d6fa38..be629c66 100644 --- a/configure.ac +++ b/configure.ac @@ -1,10 +1,11 @@ ############################################################################### -AC_INIT([wimlib], [1.7.4-BETA], [ebiggers3@gmail.com]) +AC_INIT([wimlib], [1.9.1], [ebiggers3@gmail.com]) AC_CONFIG_SRCDIR([src/wim.c]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE([-Wall -Werror subdir-objects foreign]) +AM_SILENT_RULES([yes]) AC_C_BIGENDIAN m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) LT_INIT @@ -33,7 +34,7 @@ case "$host_os" in mingw*) # Native Windows WINDOWS_NATIVE_BUILD="yes" - PLATFORM_CPPFLAGS="-D_POSIX -DUNICODE -D_UNICODE -D_CRT_NON_CONFORMING_SWPRINTFS" + PLATFORM_CPPFLAGS="-D_POSIX -D_POSIX_THREAD_SAFE_FUNCTIONS -DUNICODE -D_UNICODE -D_CRT_NON_CONFORMING_SWPRINTFS" PLATFORM_CFLAGS="-municode -mno-ms-bitfields" PLATFORM_LDFLAGS="-no-undefined" WITH_NTFS_3G_DEFAULT="no" @@ -63,6 +64,7 @@ AC_CHECK_FUNCS([futimens utimensat flock mempcpy \ # Header checks, most of which are only here to satisfy conditional includes # made by the libntfs-3g headers. AC_CHECK_HEADERS([alloca.h \ + attr/xattr.h \ byteswap.h \ endian.h \ errno.h \ @@ -97,8 +99,6 @@ AC_CHECK_MEMBER([struct stat.st_mtim], AX_PTHREAD([], [AC_MSG_ERROR(["cannot find pthreads library"])]) # ------------------------------ libxml2 -------------------------------------- -AC_CHECK_LIB([xml2], [xmlReadMemory], [], - [AC_MSG_ERROR(["cannot find libxml2"])]) PKG_CHECK_MODULES([LIBXML2], [libxml-2.0]) PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES libxml-2.0" @@ -129,26 +129,16 @@ AC_ARG_WITH([ntfs-3g], AC_MSG_RESULT([$WITH_NTFS_3G]) if test "$WITH_NTFS_3G" = "yes"; then - # This effectively checks for NTFS-3g 2011.4.12 or later - AC_CHECK_LIB([ntfs-3g], [ntfs_xattr_system_setxattr], [], - [AC_MSG_ERROR([Cannot find libntfs-3g version 2011-4-12 - or later! Without libntfs-3g, wimlib cannot include support for - capturing or applying a WIM image directly from/to an unmounted NTFS - volume while preserving NTFS-specific data such as security descriptors - and named data streams. Either install libntfs-3g, or configure - --without-ntfs-3g to disable this feature.])]) - - # This checks a definition that was changed in NTFS-3g 2013.1.13 - AC_CHECK_DECL([NTFS_MNT_RDONLY], - [AC_DEFINE([HAVE_NTFS_MNT_RDONLY], [1], - [Define to 1 if ntfs_mount() takes the flag - NTFS_MNT_RDONLY])], - [], - [#include ]) - - AC_DEFINE([WITH_NTFS_3G], [1], [Define to 1 if using NTFS-3g support]) - PKG_CHECK_MODULES([LIBNTFS_3G], [libntfs-3g]) + PKG_CHECK_MODULES([LIBNTFS_3G], [libntfs-3g >= 2011.4.12], [], + [AC_MSG_ERROR([Cannot find libntfs-3g version 2011-4-12 or + later! Without libntfs-3g, wimlib cannot include support for + capturing or applying a WIM image directly from/to an unmounted + NTFS volume while preserving NTFS-specific data such as + security descriptors and named data streams. Either install + libntfs-3g, or configure --without-ntfs-3g to disable this + feature.])]) PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES libntfs-3g" + AC_DEFINE([WITH_NTFS_3G], [1], [Define to 1 if using NTFS-3G support]) fi AM_CONDITIONAL([WITH_NTFS_3G], [test "$WITH_NTFS_3G" = "yes"]) @@ -164,11 +154,14 @@ AC_ARG_WITH([fuse], AC_MSG_RESULT([$WITH_FUSE]) if test "$WITH_FUSE" = "yes"; then - AC_CHECK_LIB([fuse], [fuse_main_real], [], - [AC_MSG_ERROR([Cannot find libfuse! - Without libfuse, wimlib cannot include support for mounting WIM images. - Either install libfuse, or configure --without-fuse to disable this - feature.])]) + + PKG_CHECK_MODULES([LIBFUSE], [fuse], [], + [AC_MSG_ERROR([Cannot find libfuse! + Without libfuse, wimlib cannot include support for mounting WIM + images. Either install libfuse, or configure --without-fuse to + disable this feature.])]) + PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES fuse" + AC_DEFINE([WITH_FUSE], [1], [Define to 1 if using FUSE support]) AC_CHECK_LIB([rt], [mq_open], [], [AC_MSG_ERROR([Cannot find librt (the POSIX.1b Realtime @@ -183,9 +176,6 @@ if test "$WITH_FUSE" = "yes"; then in the code for mounting WIM images. Either install this library, or configure --without-fuse to disable support for mounting WIM images.])]) - AC_DEFINE([WITH_FUSE], [1], [Define to 1 if using FUSE support]) - PKG_CHECK_MODULES([LIBFUSE], [fuse]) - PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES fuse" PKGCONFIG_PRIVATE_LIBS="$PKGCONFIG_PRIVATE_LIBS -lrt" AC_SUBST([LIBRT_LIBS], [-lrt]) fi @@ -219,38 +209,27 @@ if test "$ENABLE_SSSE3_SHA1" = "yes" ; then AC_SUBST([NASM_PLATFORM_FLAGS], [$NASM_PLATFORM_FLAGS]) AC_SUBST([NASM_SYMBOL_PREFIX], [$NASM_SYMBOL_PREFIX]) else + AC_MSG_CHECKING([whether to use SHA-1 implementation from system libcrypto]) AC_ARG_WITH([libcrypto], [AS_HELP_STRING([--without-libcrypto], [build in the SHA-1 algorithm, rather than use external libcrypto from OpenSSL (default is autodetect)])], [WITH_LIBCRYPTO=$withval], - [AC_CHECK_LIB([crypto], [SHA1], [WITH_LIBCRYPTO=yes], - [AC_MSG_WARN([Cannot find libcrypto: using - stand-alone SHA-1 code instead of OpenSSL]) - WITH_LIBCRYPTO=no])]) - AC_MSG_CHECKING([whether to use SHA-1 implementation from system libcrypto]) + [WITH_LIBCRYPTO=auto]) AC_MSG_RESULT([$WITH_LIBCRYPTO]) - if test "$WITH_LIBCRYPTO" = "yes"; then - AC_DEFINE([WITH_LIBCRYPTO], [1], [Define to 1 if using libcrypto SHA-1]) - PKG_CHECK_MODULES([LIBCRYPTO], [libcrypto]) - PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES libcrypto" + if test "$WITH_LIBCRYPTO" != "no"; then + PKG_CHECK_MODULES([LIBCRYPTO], [libcrypto], [ + PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES libcrypto" + AC_DEFINE([WITH_LIBCRYPTO], [1], + [Define to 1 if using libcrypto SHA-1]) + ], [AC_MSG_WARN([Cannot find libcrypto: using stand-alone SHA-1 code instead])]) fi fi AM_CONDITIONAL([ENABLE_SSSE3_SHA1], [test "$ENABLE_SSSE3_SHA1" = "yes"]) # ----------------------------- Other options --------------------------------- -AC_MSG_CHECKING([whether to include debugging messages]) -AC_ARG_ENABLE([debug], - AS_HELP_STRING([--enable-debug], [include debugging messages]), - [ENABLE_DEBUG=$enableval], - [ENABLE_DEBUG=no]) -AC_MSG_RESULT([$ENABLE_DEBUG]) -if test "$ENABLE_DEBUG" = "yes"; then - AC_DEFINE([ENABLE_DEBUG], [1], [Define to 1 if including debug messages]) -fi - AC_MSG_CHECKING([whether to include error messages]) AC_ARG_ENABLE([error_messages], AS_HELP_STRING([--disable-error-messages], [do not compile in error messsages]), @@ -271,18 +250,6 @@ if test "$ENABLE_ASSERTIONS" = "yes"; then AC_DEFINE([ENABLE_ASSERTIONS], [1], [Define to 1 if including assertions]) fi -AC_MSG_CHECKING([whether to include automatic compression verification]) -AC_ARG_ENABLE([verify_compression], - AS_HELP_STRING([--enable-verify-compression], - [verify all compression results (makes compression - slower; intended for debugging only)]), - [ENABLE_VERIFY_COMPRESSION=$enableval], - [ENABLE_VERIFY_COMPRESSION=no]) -AC_MSG_RESULT([$ENABLE_VERIFY_COMPRESSION]) -if test "$ENABLE_VERIFY_COMPRESSION" = "yes"; then - AC_DEFINE([ENABLE_VERIFY_COMPRESSION], [1], [Define to 1 to verify compression results]) -fi - AC_MSG_CHECKING([whether to include support for multi-threaded compression]) AC_ARG_ENABLE([multithreaded-compression], AS_HELP_STRING([--disable-multithreaded-compression], @@ -301,6 +268,19 @@ AC_ARG_WITH(pkgconfigdir, [pkgconfigdir='${libdir}/pkgconfig']) AC_SUBST(pkgconfigdir) +AC_MSG_CHECKING([whether to enable supporting code for tests]) +AC_ARG_ENABLE([test-support], + [AS_HELP_STRING([--enable-test-support], + [Enable supporting code for tests (developers only)])], + [ENABLE_TEST_SUPPORT=$enableval], + [ENABLE_TEST_SUPPORT=no]) +AC_MSG_RESULT([$ENABLE_TEST_SUPPORT]) +if test "$ENABLE_TEST_SUPPORT" = "yes" ; then + AC_DEFINE([ENABLE_TEST_SUPPORT], [1], + [Define to 1 to enable supporting code for tests]) +fi +AM_CONDITIONAL([ENABLE_TEST_SUPPORT], [test "$ENABLE_TEST_SUPPORT" = "yes"]) + ############################################################################### AC_SUBST([PKGCONFIG_PRIVATE_REQUIRES], [$PKGCONFIG_PRIVATE_REQUIRES])