+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]),
+ [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
+ compression])
+fi
+
+PTHREAD_LDADD="-lpthread"
+AC_SUBST([PTHREAD_LDADD], [$PTHREAD_LDADD])
+
+WITH_NTFS_3G_DEFAULT="yes"
+WITH_FUSE_DEFAULT="yes"
+WINDOWS_NATIVE_BUILD="no"
+VISIBILITY_CFLAGS="-fvisibility=hidden"
+WINDOWS_CFLAGS=""
+WINDOWS_CPPFLAGS=""
+WINDOWS_LDFLAGS=""
+WINDOWS_LDADD=""
+
+case "$host" in
+ *-*-mingw*)
+ # Native Windows
+ WITH_NTFS_3G_DEFAULT="no"
+ WITH_FUSE_DEFAULT="no"
+ WINDOWS_NATIVE_BUILD="yes"
+ VISIBILITY_CFLAGS=""
+ WINDOWS_CFLAGS="-municode"
+ WINDOWS_CPPFLAGS="-D_POSIX -DUNICODE -D_UNICODE -D_CRT_NON_CONFORMING_SWPRINTFS"
+ WINDOWS_LDFLAGS="-no-undefined"
+ WINDOWS_LDADD="-lshlwapi"
+ ;;
+ *-*-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])
+ WITH_NTFS_3G_DEFAULT="no"
+ WITH_FUSE_DEFAULT="no"
+ VISIBILITY_CFLAGS=""
+ ;;
+ *)
+ # UNIX / other
+ ;;
+esac
+
+AC_SUBST([VISIBILITY_CFLAGS], [$VISIBILITY_CFLAGS])
+AC_SUBST([WINDOWS_LDFLAGS], [$WINDOWS_LDFLAGS])
+AC_SUBST([WINDOWS_LDADD], [$WINDOWS_LDADD])
+AC_SUBST([WINDOWS_CPPFLAGS], [$WINDOWS_CPPFLAGS])
+AC_SUBST([WINDOWS_CFLAGS], [$WINDOWS_CFLAGS])
+AM_CONDITIONAL([WINDOWS_NATIVE_BUILD], [test "x$WINDOWS_NATIVE_BUILD" = "xyes"])
+
+AC_MSG_CHECKING([whether to include support for ntfs-3g])
+AC_ARG_WITH([ntfs-3g],
+ AS_HELP_STRING([--without-ntfs-3g], [build without NTFS-3g.
+ On UNIX, this will disable the ability to use NTFS-specific
+ information when capturing or applying WIMs to a
+ NTFS filesystem.]),
+ [WITH_NTFS_3G=$withval],
+ [WITH_NTFS_3G=$WITH_NTFS_3G_DEFAULT]
+ )
+AC_MSG_RESULT([$WITH_NTFS_3G])
+if test "x$WITH_NTFS_3G" = "xyes"; then
+ AC_DEFINE([WITH_NTFS_3G], [1], [On UNIX, define to 1 to enable support
+ for NTFS-specific information])
+
+ dnl 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 and applying WIMs on NTFS filesystems while preserving
+ NTFS-specific data such as security descriptors and alternate data
+ streams. You should either install libntfs-3g, or configure with
+ --without-ntfs-3g to disable support for these NTFS-specific
+ features.])])
+
+ PKG_CHECK_MODULES([LIBNTFS_3G], [libntfs-3g])
+ PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES libntfs-3g"
+
+ dnl This checks for an NTFS-3g interface that was changed in the
+ dnl 2013.1.13 release
+ 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>])
+fi
+AM_CONDITIONAL([WITH_NTFS_3G], [test "x$WITH_NTFS_3G" = "xyes"])
+
+AM_ICONV
+if test "x$am_cv_func_iconv" != "xyes"; then
+ AC_MSG_ERROR([Cannot find the iconv() function.
+ iconv() is used to convert between encodings of WIM filenames and XML data.
+ wimlib cannot be compiled without it. iconv() is available in the latest
+ version of glibc and sometimes in other libraries.])
+fi
+