]> wimlib.net Git - wimlib/blobdiff - configure.ac
Update version: v1.7.0-BETA
[wimlib] / configure.ac
index 13da4dd003cd2abf1338541f69d695be671a5fc5..ac5bee1ef6ae1bc18ea860feaad585f948e73328 100644 (file)
@@ -1,12 +1,15 @@
-AC_INIT([wimlib], [1.3.2], [ebiggers3@gmail.com])
+AC_INIT([wimlib], [1.7.0-BETA], [ebiggers3@gmail.com])
 AC_CONFIG_SRCDIR([src/wim.c])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_SRCDIR([src/wim.c])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE([-Wall -Werror subdir-objects])
+AM_INIT_AUTOMAKE([-Wall -Werror subdir-objects foreign])
 AC_C_BIGENDIAN
 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
 LT_INIT
 
 AC_C_BIGENDIAN
 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
 LT_INIT
 
+PKGCONFIG_PRIVATE_REQUIRES=""
+PKGCONFIG_PRIVATE_LIBS=""
+
 AC_ARG_WITH(imagex-progname,
             [AS_HELP_STRING([--with-imagex-progname=NAME],
                            [Set the name of installed ImageX program (default: wimlib-imagex)])],
 AC_ARG_WITH(imagex-progname,
             [AS_HELP_STRING([--with-imagex-progname=NAME],
                            [Set the name of installed ImageX program (default: wimlib-imagex)])],
@@ -21,21 +24,23 @@ AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_FILES([Makefile]
                [doc/Doxyfile]
                [wimlib.pc]
 AC_CONFIG_FILES([Makefile]
                [doc/Doxyfile]
                [wimlib.pc]
-               [doc/"$IMAGEX_PROGNAME".1:doc/imagex.1.in]
-               [doc/"$IMAGEX_PROGNAME"-append.1:doc/imagex-append.1.in]
-               [doc/"$IMAGEX_PROGNAME"-apply.1:doc/imagex-apply.1.in]
-               [doc/"$IMAGEX_PROGNAME"-capture.1:doc/imagex-capture.1.in]
-               [doc/"$IMAGEX_PROGNAME"-delete.1:doc/imagex-delete.1.in]
-               [doc/"$IMAGEX_PROGNAME"-dir.1:doc/imagex-dir.1.in]
-               [doc/"$IMAGEX_PROGNAME"-export.1:doc/imagex-export.1.in]
-               [doc/"$IMAGEX_PROGNAME"-info.1:doc/imagex-info.1.in]
-               [doc/"$IMAGEX_PROGNAME"-join.1:doc/imagex-join.1.in]
-               [doc/"$IMAGEX_PROGNAME"-mount.1:doc/imagex-mount.1.in]
-               [doc/"$IMAGEX_PROGNAME"-mountrw.1:doc/imagex-mountrw.1.in]
-               [doc/"$IMAGEX_PROGNAME"-optimize.1:doc/imagex-optimize.1.in]
-               [doc/"$IMAGEX_PROGNAME"-split.1:doc/imagex-split.1.in]
-               [doc/"$IMAGEX_PROGNAME"-unmount.1:doc/imagex-unmount.1.in]
-               [doc/mkwinpeimg.1])
+               [doc/man1/"$IMAGEX_PROGNAME".1:doc/man1/imagex.1.in]
+               [doc/man1/"$IMAGEX_PROGNAME"-append.1:doc/man1/imagex-append.1.in]
+               [doc/man1/"$IMAGEX_PROGNAME"-apply.1:doc/man1/imagex-apply.1.in]
+               [doc/man1/"$IMAGEX_PROGNAME"-capture.1:doc/man1/imagex-capture.1.in]
+               [doc/man1/"$IMAGEX_PROGNAME"-delete.1:doc/man1/imagex-delete.1.in]
+               [doc/man1/"$IMAGEX_PROGNAME"-dir.1:doc/man1/imagex-dir.1.in]
+               [doc/man1/"$IMAGEX_PROGNAME"-export.1:doc/man1/imagex-export.1.in]
+               [doc/man1/"$IMAGEX_PROGNAME"-extract.1:doc/man1/imagex-extract.1.in]
+               [doc/man1/"$IMAGEX_PROGNAME"-info.1:doc/man1/imagex-info.1.in]
+               [doc/man1/"$IMAGEX_PROGNAME"-join.1:doc/man1/imagex-join.1.in]
+               [doc/man1/"$IMAGEX_PROGNAME"-mount.1:doc/man1/imagex-mount.1.in]
+               [doc/man1/"$IMAGEX_PROGNAME"-mountrw.1:doc/man1/imagex-mountrw.1.in]
+               [doc/man1/"$IMAGEX_PROGNAME"-optimize.1:doc/man1/imagex-optimize.1.in]
+               [doc/man1/"$IMAGEX_PROGNAME"-split.1:doc/man1/imagex-split.1.in]
+               [doc/man1/"$IMAGEX_PROGNAME"-unmount.1:doc/man1/imagex-unmount.1.in]
+               [doc/man1/"$IMAGEX_PROGNAME"-update.1:doc/man1/imagex-update.1.in]
+               [doc/man1/mkwinpeimg.1])
 
 AC_CONFIG_FILES([programs/mkwinpeimg], [chmod +x programs/mkwinpeimg])
 
 
 AC_CONFIG_FILES([programs/mkwinpeimg], [chmod +x programs/mkwinpeimg])
 
@@ -43,10 +48,30 @@ AC_PROG_CC
 AM_PROG_CC_C_O
 AC_CANONICAL_HOST
 
 AM_PROG_CC_C_O
 AC_CANONICAL_HOST
 
-AC_CHECK_FUNCS([utimensat lutimes utime flock])
-AC_CHECK_HEADERS([endian.h byteswap.h sys/byteorder.h sys/endian.h \
-                 sys/param.h machine/endian.h alloca.h stdlib.h stdarg.h \
-                 errno.h attr/xattr.h utime.h sys/file.h glob.h])
+AC_CHECK_FUNCS([futimens utimensat utime flock mempcpy \
+               openat fstatat readlinkat fdopendir])
+
+# 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
+# including certain headers.
+AC_CHECK_HEADERS([alloca.h             \
+                 attr/xattr.h          \
+                 byteswap.h            \
+                 endian.h              \
+                 errno.h               \
+                 glob.h                \
+                 machine/endian.h      \
+                 stdarg.h              \
+                 stddef.h              \
+                 stdlib.h              \
+                 sys/byteorder.h       \
+                 sys/endian.h          \
+                 sys/file.h            \
+                 sys/param.h           \
+                 sys/sysctl.h          \
+                 sys/times.h           \
+                 time.h                \
+                 utime.h])
 
 AC_CHECK_MEMBER([struct stat.st_mtim],
                [AC_DEFINE([HAVE_STAT_NANOSECOND_PRECISION], [1],
 
 AC_CHECK_MEMBER([struct stat.st_mtim],
                [AC_DEFINE([HAVE_STAT_NANOSECOND_PRECISION], [1],
@@ -64,10 +89,8 @@ AC_SUBST(pkgconfigdir)
 
 AC_CHECK_LIB([xml2], [xmlParseFile], [have_libxml=true],
             [AC_MSG_ERROR(["cannot find libxml2"])])
 
 AC_CHECK_LIB([xml2], [xmlParseFile], [have_libxml=true],
             [AC_MSG_ERROR(["cannot find libxml2"])])
-LIBXML2_LDADD=`pkg-config libxml-2.0 --libs`
-LIBXML2_CFLAGS=`pkg-config libxml-2.0 --cflags`
-AC_SUBST([LIBXML2_LDADD], [$LIBXML2_LDADD])
-AC_SUBST([LIBXML2_CFLAGS], [$LIBXML2_CFLAGS])
+PKG_CHECK_MODULES([LIBXML2], [libxml-2.0])
+PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES libxml-2.0"
 
 AC_MSG_CHECKING([whether to include debugging messages])
 AC_ARG_ENABLE([debug],
 
 AC_MSG_CHECKING([whether to include debugging messages])
 AC_ARG_ENABLE([debug],
@@ -78,47 +101,20 @@ AC_ARG_ENABLE([debug],
 AC_MSG_RESULT([$ENABLE_DEBUG])
 if test "x$ENABLE_DEBUG" = "xyes"; then
        AC_DEFINE([ENABLE_DEBUG], [1],
 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.])
-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]),
-       [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 lots of debug messages.])
 fi
 
 AC_MSG_CHECKING([whether to include error messages])
 AC_ARG_ENABLE([error_messages],
        AS_HELP_STRING([--disable-error-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],
        [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])
-fi
-
-AC_MSG_CHECKING([whether to support custom memory allocation functions])
-AC_ARG_ENABLE([custom_memory_allocator],
-       AS_HELP_STRING([--disable-custom-memory-allocator],
-                      [do not support the use of custom memory allocation
-                       functions]),
-       [ENABLE_CUSTOM_MEMORY_ALLOCATOR=$enableval],
-       [ENABLE_CUSTOM_MEMORY_ALLOCATOR=yes]
-       )
-AC_MSG_RESULT([$ENABLE_CUSTOM_MEMORY_ALLOCATOR])
-if test "x$ENABLE_CUSTOM_MEMORY_ALLOCATOR" = "xyes"; then
-       AC_DEFINE([ENABLE_CUSTOM_MEMORY_ALLOCATOR], [1],
-               [Define to 1 if supporting custom memory allocation functions])
+                       [Define to 1 if including error messages])
 fi
 
 AC_MSG_CHECKING([whether to include assertions])
 fi
 
 AC_MSG_CHECKING([whether to include assertions])
@@ -146,11 +142,11 @@ fi
 
 AC_MSG_CHECKING([whether to include compression verification])
 AC_ARG_ENABLE([verify_compression],
 
 AC_MSG_CHECKING([whether to include compression verification])
 AC_ARG_ENABLE([verify_compression],
-             AS_HELP_STRING([--disable-verify-compression], [disable
-                               checking if blocks we compress can be correctly
+             AS_HELP_STRING([--enable-verify-compression], [always
+                               check if blocks we compress can be correctly
                                decompressed]),
        [ENABLE_VERIFY_COMPRESSION=$enableval],
                                decompressed]),
        [ENABLE_VERIFY_COMPRESSION=$enableval],
-       [ENABLE_VERIFY_COMPRESSION=yes]
+       [ENABLE_VERIFY_COMPRESSION=no]
        )
 AC_MSG_RESULT([$ENABLE_VERIFY_COMPRESSION])
 if test "x$ENABLE_VERIFY_COMPRESSION" = "xyes"; then
        )
 AC_MSG_RESULT([$ENABLE_VERIFY_COMPRESSION])
 if test "x$ENABLE_VERIFY_COMPRESSION" = "xyes"; then
@@ -161,14 +157,14 @@ fi
 AC_MSG_CHECKING([whether to include support for multi-threaded compression])
 AC_ARG_ENABLE([multithreaded-compression],
        AS_HELP_STRING([--disable-multithreaded-compression],
 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],
        [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
 
                         compression])
 fi
 
@@ -183,6 +179,7 @@ WINDOWS_CFLAGS=""
 WINDOWS_CPPFLAGS=""
 WINDOWS_LDFLAGS=""
 WINDOWS_LDADD=""
 WINDOWS_CPPFLAGS=""
 WINDOWS_LDFLAGS=""
 WINDOWS_LDADD=""
+ENABLE_XATTR_DEFAULT="autodetect"
 
 case "$host" in
        *-*-mingw*)
 
 case "$host" in
        *-*-mingw*)
@@ -192,11 +189,12 @@ case "$host" in
                WINDOWS_NATIVE_BUILD="yes"
                VISIBILITY_CFLAGS=""
                WINDOWS_CFLAGS="-municode"
                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"
                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])
                # 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])
@@ -219,7 +217,7 @@ 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.
 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.
-                             This will disable the ability to use NTFS-specific
+                             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],
                              information when capturing or applying WIMs to a
                              NTFS filesystem.]),
        [WITH_NTFS_3G=$withval],
@@ -227,8 +225,8 @@ AC_ARG_WITH([ntfs-3g],
        )
 AC_MSG_RESULT([$WITH_NTFS_3G])
 if test "x$WITH_NTFS_3G" = "xyes"; then
        )
 AC_MSG_RESULT([$WITH_NTFS_3G])
 if test "x$WITH_NTFS_3G" = "xyes"; then
-       AC_DEFINE([WITH_NTFS_3G], [1], [Define to 1 to enable support for
-                  NTFS-specific information])
+       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], [],
 
        dnl This effectively checks for NTFS-3g 2011.4.12 or later
        AC_CHECK_LIB([ntfs-3g], [ntfs_xattr_system_setxattr], [],
@@ -239,27 +237,21 @@ if test "x$WITH_NTFS_3G" = "xyes"; then
        streams.  You should either install libntfs-3g, or configure with
        --without-ntfs-3g to disable support for these NTFS-specific
        features.])])
        streams.  You should either install libntfs-3g, or configure with
        --without-ntfs-3g to disable support for these NTFS-specific
        features.])])
-       LIBNTFS_3G_LDADD="`pkg-config --libs libntfs-3g`"
-       LIBNTFS_3G_CFLAGS="`pkg-config --cflags libntfs-3g`"
 
 
-       dnl This checks for a NTFS-3g interface that was changed in the
+       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])],
        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>])
                      [#include <ntfs-3g/volume.h>])
-else
-       LIBNTFS_3G_LDADD=
-       LIBNTFS_3G_CFLAGS=
-
 fi
 AM_CONDITIONAL([WITH_NTFS_3G], [test "x$WITH_NTFS_3G" = "xyes"])
 
 fi
 AM_CONDITIONAL([WITH_NTFS_3G], [test "x$WITH_NTFS_3G" = "xyes"])
 
-AC_SUBST([LIBNTFS_3G_LDADD], [$LIBNTFS_3G_LDADD])
-AC_SUBST([LIBNTFS_3G_CFLAGS], [$LIBNTFS_3G_CFLAGS])
-
 AM_ICONV
 if test "x$am_cv_func_iconv" != "xyes"; then
        AC_MSG_ERROR([Cannot find the iconv() function.
 AM_ICONV
 if test "x$am_cv_func_iconv" != "xyes"; then
        AC_MSG_ERROR([Cannot find the iconv() function.
@@ -294,30 +286,29 @@ if test "x$WITH_FUSE" = "xyes"; then
        version of glibc, or configure with --without-fuse to disable support
        for mounting WIMs.])
        ])
        version of glibc, or configure with --without-fuse to disable support
        for mounting WIMs.])
        ])
-       LIBFUSE_LDADD="`pkg-config --libs fuse` -lrt"
-       LIBFUSE_CFLAGS="`pkg-config --cflags fuse`"
-else
-       LIBFUSE_LDADD=
-       LIBFUSE_CFLAGS=
+       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 "x$WITH_FUSE" = "xyes"])
 fi
 AM_CONDITIONAL([WITH_FUSE], [test "x$WITH_FUSE" = "xyes"])
-AC_SUBST([LIBFUSE_LDADD], [$LIBFUSE_LDADD])
-AC_SUBST([LIBFUSE_CFLAGS], [$LIBFUSE_CFLAGS])
 
 ENABLE_XATTR=no
 AC_ARG_ENABLE([xattr],
        [AS_HELP_STRING([--enable-xattr], [Enable the xattr interface to access WIM
                        alternate data streams (default: autodetect)])],
        [ENABLE_XATTR=$enableval],
 
 ENABLE_XATTR=no
 AC_ARG_ENABLE([xattr],
        [AS_HELP_STRING([--enable-xattr], [Enable the xattr interface to access WIM
                        alternate data streams (default: autodetect)])],
        [ENABLE_XATTR=$enableval],
-       [AC_CHECK_FUNC([setxattr],
-               [AC_CHECK_HEADER([attr/xattr.h],
-                       [ENABLE_XATTR=yes],
-                       [AC_MSG_WARN([Cannot find the "attr/xattr.h" header.  You will not be
+       [if test "x$ENABLE_XATTR_DEFAULT" = "xautodetect"; then
+               AC_CHECK_FUNC([setxattr],
+                       [AC_CHECK_HEADER([attr/xattr.h],
+                               [ENABLE_XATTR=yes],
+                               [AC_MSG_WARN([Cannot find the "attr/xattr.h" header.  You will not be
+                                able to use the xattr interface to access WIM alternate data
+                                streams.])])],
+                       [AC_MSG_WARN([Cannot find the setxattr() function.  You will not be
                         able to use the xattr interface to access WIM alternate data
                         able to use the xattr interface to access WIM alternate data
-                        streams.])])],
-               [AC_MSG_WARN([Cannot find the setxattr() function.  You will not be
-                able to use the xattr interface to access WIM alternate data
-                streams.])])])
+                        streams.])])
+       fi])
 
 if test "x$ENABLE_XATTR" = "xyes"; then
        AC_DEFINE([ENABLE_XATTR], [1], [Define to 1 if using the xattr
 
 if test "x$ENABLE_XATTR" = "xyes"; then
        AC_DEFINE([ENABLE_XATTR], [1], [Define to 1 if using the xattr
@@ -327,7 +318,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
 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]
                                instructions (SSSE3-enabled CPU required)]),
        [ENABLE_SSSE3_SHA1=$enableval],
        [ENABLE_SSSE3_SHA1=no]
@@ -336,7 +327,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],
 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])
        SSSE3_SHA1_OBJ=sha1-ssse3.lo
        AX_PROG_NASM
        AC_SUBST([NASM], [$nasm])
@@ -350,7 +341,7 @@ if test "x$ENABLE_SSSE3_SHA1" = "xyes"; then
 else
        AC_ARG_WITH([libcrypto],
            AS_HELP_STRING([--without-libcrypto], [build in the SHA1 algorithm,
 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],
                                        OpenSSL (default is autodetect)]),
        [WITH_LIBCRYPTO=$withval],
        [AC_CHECK_LIB([crypto], [SHA1],
@@ -364,17 +355,12 @@ AC_MSG_RESULT([$WITH_LIBCRYPTO])
 
 if test "x$WITH_LIBCRYPTO" = "xyes" -a "x$ENABLE_SSSE3_SHA1" = "xno"; then
        AC_DEFINE([WITH_LIBCRYPTO], [1], [Define to 1 if using libcrypto SHA1])
 
 if test "x$WITH_LIBCRYPTO" = "xyes" -a "x$ENABLE_SSSE3_SHA1" = "xno"; then
        AC_DEFINE([WITH_LIBCRYPTO], [1], [Define to 1 if using libcrypto SHA1])
-       LIBCRYPTO_LDADD=`pkg-config --libs libcrypto 2>/dev/null`
-       if test $? -ne 0; then
-               LIBCRYPTO_LDADD=-lcrypto;
-       fi
-       LIBCRYPTO_CFLAGS=`pkg-config --cflags libcrypto 2>/dev/null`
-else
-       LIBCRYPTO_LDADD=
-       LIBCRYPTO_CFLAGS=
+       PKG_CHECK_MODULES([LIBCRYPTO], [libcrypto])
+       PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES libcrypto"
 fi
 fi
-AC_SUBST([LIBCRYPTO_LDADD], [$LIBCRYPTO_LDADD])
-AC_SUBST([LIBCRYPTO_CFLAGS], [$LIBCRYPTO_CFLAGS])
 AC_SUBST([SHA1_SOURCES], [$SHA1_SOURCES])
 
 AC_SUBST([SHA1_SOURCES], [$SHA1_SOURCES])
 
+AC_SUBST([PKGCONFIG_PRIVATE_REQUIRES], [$PKGCONFIG_PRIVATE_REQUIRES])
+AC_SUBST([PKGCONFIG_PRIVATE_LIBS], [$PKGCONFIG_PRIVATE_LIBS])
+
 AC_OUTPUT
 AC_OUTPUT