+AC_MSG_CHECKING([whether to include support for ntfs-3g])
+AC_ARG_WITH([ntfs-3g],
+ [AS_HELP_STRING([--without-ntfs-3g],
+ [build without libntfs-3g. This will disable the
+ ability to capture or apply a WIM image directly
+ from/to an unmounted NTFS volume.])],
+ [WITH_NTFS_3G=$withval],
+ [WITH_NTFS_3G=$WITH_NTFS_3G_DEFAULT])
+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 <ntfs-3g/volume.h>])
+
+ AC_DEFINE([WITH_NTFS_3G], [1], [Define to 1 if using NTFS-3g support])
+ PKG_CHECK_MODULES([LIBNTFS_3G], [libntfs-3g])
+ PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES libntfs-3g"
+fi
+AM_CONDITIONAL([WITH_NTFS_3G], [test "$WITH_NTFS_3G" = "yes"])
+
+# ------------------------ FUSE mount support ---------------------------------
+
+AC_MSG_CHECKING([whether to include support for mounting WIMs])
+AC_ARG_WITH([fuse],
+ [AS_HELP_STRING([--without-fuse],
+ [build without libfuse. This will disable the
+ ability to mount WIM images.])],
+ [WITH_FUSE=$withval],
+ [WITH_FUSE=$WITH_FUSE_DEFAULT])
+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.])])
+
+ AC_CHECK_LIB([rt], [mq_open], [],
+ [AC_MSG_ERROR([Cannot find librt (the POSIX.1b Realtime
+ Extensions Library)! wimlib needs this for the POSIX message queue
+ functions, which are used in the code for mounting WIM images. Recent
+ versions of glibc include this library. Either install this library, or
+ configure --without-fuse to disable support for mounting WIM images.])])
+
+ AC_CHECK_LIB([attr], [getxattr], [],
+ [AC_MSG_ERROR([Cannot find libattr!
+ wimlib needs this for the extended attribute functions, which are used
+ 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
+AM_CONDITIONAL([WITH_FUSE], [test "$WITH_FUSE" = "yes"])
+
+# ------------------------ SHA-1 implementation ---------------------------------
+
+AC_MSG_CHECKING([whether to use SSSE3-accelerated SHA-1])
+AC_ARG_ENABLE([ssse3-sha1],
+ [AS_HELP_STRING([--enable-ssse3-sha1],
+ [Include SSSE3-accelerated SHA-1 implementation by
+ Intel. This implies --without-libcrypto.])],
+ [ENABLE_SSSE3_SHA1=$enableval],
+ [ENABLE_SSSE3_SHA1=no])
+AC_MSG_RESULT([$ENABLE_SSSE3_SHA1])
+
+if test "$ENABLE_SSSE3_SHA1" = "yes" ; then
+ AC_DEFINE([ENABLE_SSSE3_SHA1], [1],
+ [Define to 1 if using SSSE3 implementation of SHA-1])
+ AC_PROG_NASM
+ NASM_SYMBOL_PREFIX=""
+ NASM_PLATFORM_FLAGS=""
+ if test "$WINDOWS_NATIVE_BUILD" = "yes"; then
+ NASM_PLATFORM_FLAGS="-DWIN_ABI"
+ fi
+ case "$host_os" in
+ darwin* | rhapsody* | nextstep* | openstep* | macos*)
+ NASM_SYMBOL_PREFIX="_"
+ ;;
+ esac
+ AC_SUBST([NASM_PLATFORM_FLAGS], [$NASM_PLATFORM_FLAGS])
+ AC_SUBST([NASM_SYMBOL_PREFIX], [$NASM_SYMBOL_PREFIX])
+else
+ 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])
+ 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"
+ fi
+fi
+AM_CONDITIONAL([ENABLE_SSSE3_SHA1], [test "$ENABLE_SSSE3_SHA1" = "yes"])
+
+# ----------------------------- Other options ---------------------------------