]> wimlib.net Git - wimlib/blobdiff - configure.ac
Read concat runs
[wimlib] / configure.ac
index 83369ea5cf925e550de15d9db5419f6f51c7a336..5783d35206604e36323dd5814317aa1999a998aa 100644 (file)
@@ -1,4 +1,4 @@
-AC_INIT([wimlib], [1.4.1], [ebiggers3@gmail.com])
+AC_INIT([wimlib], [1.5.3], [ebiggers3@gmail.com])
 AC_CONFIG_SRCDIR([src/wim.c])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_AUX_DIR([build-aux])
@@ -48,7 +48,7 @@ AC_PROG_CC
 AM_PROG_CC_C_O
 AC_CANONICAL_HOST
 
-AC_CHECK_FUNCS([utimensat lutimes utime flock])
+AC_CHECK_FUNCS([utimensat lutimes utime flock mempcpy])
 
 # Note: some of the following header checks are only to define the appropriate
 # HAVE_*_H macro so that the NTFS-3g headers don't get confused and try to skip
@@ -61,6 +61,7 @@ AC_CHECK_HEADERS([alloca.h            \
                  glob.h                \
                  machine/endian.h      \
                  stdarg.h              \
+                 stddef.h              \
                  stdlib.h              \
                  sys/byteorder.h       \
                  sys/endian.h          \
@@ -98,33 +99,33 @@ AC_ARG_ENABLE([debug],
 AC_MSG_RESULT([$ENABLE_DEBUG])
 if test "x$ENABLE_DEBUG" = "xyes"; then
        AC_DEFINE([ENABLE_DEBUG], [1],
-                       [Define to 1 if including lots of debug messages.])
+                       [Define to 1 if including lots of debug messages.])
 fi
 
 AC_MSG_CHECKING([whether to include more debugging messages])
 AC_ARG_ENABLE([more_debug],
        AS_HELP_STRING([--enable-more-debug],
-                       [include even more debugging messages]),
+                       [include even more debugging messages]),
        [ENABLE_MORE_DEBUG=$enableval],
        [ENABLE_MORE_DEBUG=no]
        )
 AC_MSG_RESULT([$ENABLE_MORE_DEBUG])
 if test "x$ENABLE_MORE_DEBUG" = "xyes"; then
        AC_DEFINE([ENABLE_MORE_DEBUG], [1],
-                       [Define to 1 if including even more debug messages.])
+                       [Define to 1 if including even more 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]),
+                       [do not compile in error messsages]),
        [ENABLE_ERROR_MESSAGES=$enableval],
        [ENABLE_ERROR_MESSAGES=yes]
        )
 AC_MSG_RESULT([$ENABLE_ERROR_MESSAGES])
 if test "x$ENABLE_ERROR_MESSAGES" = "xyes"; then
        AC_DEFINE([ENABLE_ERROR_MESSAGES], [1],
-                       [Define to 1 if including error messages])
+                       [Define to 1 if including error messages])
 fi
 
 AC_MSG_CHECKING([whether to support custom memory allocation functions])
@@ -181,14 +182,14 @@ fi
 AC_MSG_CHECKING([whether to include support for multi-threaded compression])
 AC_ARG_ENABLE([multithreaded-compression],
        AS_HELP_STRING([--disable-multithreaded-compression],
-                       [do not compile in the code for multi-threaded compression]),
+                       [do not compile in the code for multi-threaded compression]),
        [ENABLE_MULTITHREADED_COMPRESSION=$enableval],
        [ENABLE_MULTITHREADED_COMPRESSION=yes]
        )
 AC_MSG_RESULT([$ENABLE_MULTITHREADED_COMPRESSION])
 if test "x$ENABLE_MULTITHREADED_COMPRESSION" = "xyes"; then
        AC_DEFINE([ENABLE_MULTITHREADED_COMPRESSION], [1],
-                       [Define to 1 if including support for multithreaded
+                       [Define to 1 if including support for multithreaded
                         compression])
 fi
 
@@ -213,12 +214,12 @@ case "$host" in
                WINDOWS_NATIVE_BUILD="yes"
                VISIBILITY_CFLAGS=""
                WINDOWS_CFLAGS="-municode"
-               WINDOWS_CPPFLAGS="-D_POSIX -DUNICODE -D_UNICODE"
+               WINDOWS_CPPFLAGS="-D_POSIX -DUNICODE -D_UNICODE -D_CRT_NON_CONFORMING_SWPRINTFS"
                WINDOWS_LDFLAGS="-no-undefined"
                WINDOWS_LDADD="-lshlwapi"
                ENABLE_XATTR_DEFAULT="no"
                ;;
-       *-*-cygwin*)
+       *-*-cygwin*)
                # Cygwin (WARNING: not well supported)
                AC_MSG_WARN([wimlib has not been tested with Cygwin!  Please do
                             a Windows-native build with MinGW-w64 instead])
@@ -231,6 +232,25 @@ case "$host" in
                ;;
 esac
 
+AC_ARG_WITH([ntdll],
+           AS_HELP_STRING([--without-ntdll], [Windows only:  do not try to
+                           use functions from ntdll.  By default, in some parts
+                           of its code, wimlib uses Windows NT system calls to
+                           work around flaws in the Win32 API.  This support
+                           can be omitted if needed, but some annoying bugs
+                           will surface (e.g.  permission denied errors even
+                                         when running as the Administrator).]),
+       [WITH_NTDLL=$withval],
+       [WITH_NTDLL=yes])
+
+if test "x$WINDOWS_NATIVE_BUILD" = "xyes"; then
+       if test "x$WITH_NTDLL" = "xyes"; then
+               WINDOWS_LDADD="$WINDOWS_LDADD"
+               AC_DEFINE([WITH_NTDLL], [1], [Define to 1 to try to use ntdll
+                                               functions])
+       fi
+fi
+
 AC_SUBST([VISIBILITY_CFLAGS], [$VISIBILITY_CFLAGS])
 AC_SUBST([WINDOWS_LDFLAGS], [$WINDOWS_LDFLAGS])
 AC_SUBST([WINDOWS_LDADD], [$WINDOWS_LDADD])
@@ -272,7 +292,7 @@ if test "x$WITH_NTFS_3G" = "xyes"; then
                                 [1],
                                 [Define to 1 if ntfs_mount() takes the flag NTFS_MNT_RDONLY])],
                      [],
-                     ,[#include <ntfs-3g/volume.h>])
+                     [#include <ntfs-3g/volume.h>])
 fi
 AM_CONDITIONAL([WITH_NTFS_3G], [test "x$WITH_NTFS_3G" = "xyes"])
 
@@ -342,7 +362,7 @@ fi
 AC_MSG_CHECKING([whether to use SSSE3-accelerated SHA1 ])
 AC_ARG_ENABLE([ssse3-sha1],
            AS_HELP_STRING([--enable-ssse3-sha1], [use assembly language implementation
-                               of SHA1 from Intel, accelerated with vector
+                               of SHA1 from Intel, accelerated with vector
                                instructions (SSSE3-enabled CPU required)]),
        [ENABLE_SSSE3_SHA1=$enableval],
        [ENABLE_SSSE3_SHA1=no]
@@ -351,7 +371,7 @@ AC_ARG_ENABLE([ssse3-sha1],
 AC_MSG_RESULT([$ENABLE_SSSE3_SHA1])
 if test "x$ENABLE_SSSE3_SHA1" = "xyes"; then
        AC_DEFINE([ENABLE_SSSE3_SHA1], [1],
-                       [Define to 1 if using vectorized implementation of SHA1])
+                       [Define to 1 if using vectorized implementation of SHA1])
        SSSE3_SHA1_OBJ=sha1-ssse3.lo
        AX_PROG_NASM
        AC_SUBST([NASM], [$nasm])
@@ -365,7 +385,7 @@ if test "x$ENABLE_SSSE3_SHA1" = "xyes"; then
 else
        AC_ARG_WITH([libcrypto],
            AS_HELP_STRING([--without-libcrypto], [build in the SHA1 algorithm,
-                                       rather than use external libcrypto from
+                                       rather than use external libcrypto from
                                        OpenSSL (default is autodetect)]),
        [WITH_LIBCRYPTO=$withval],
        [AC_CHECK_LIB([crypto], [SHA1],