summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorChristos Zoulas <christos@zoulas.com>2016-05-13 23:02:28 +0000
committerChristos Zoulas <christos@zoulas.com>2016-05-13 23:02:28 +0000
commit3a025ef673d37858a32ddc1c6ea224a668248272 (patch)
tree2178bed62fbaf05ea84655af9fc6ef205a704bdc /configure.ac
parent6b989443a8758eaaf058a6035bbb046d5ddbf46e (diff)
downloadfile-git-3a025ef673d37858a32ddc1c6ea224a668248272.tar.gz
From Mike Frysinger:
The current configure logic will autodetect & use zlib if it's found. If the user wants to disable zlib support, they have no way to do so easily. Conversely, if they want to make sure zlib is always included, there's no way to do so. Add a configure flag for both.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac22
1 files changed, 20 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index 3c5f9221..cc407feb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -34,6 +34,11 @@ fi], [
AC_DEFINE([ELFCORE], 1, [Define for ELF core file support])
])
+AC_MSG_CHECKING(for zlib support)
+AC_ARG_ENABLE(zlib,
+[AS_HELP_STRING([--disable-zlib], [disable zlib compression support @<:@default=auto@:>@])])
+AC_MSG_RESULT($enable_zlib)
+
AC_MSG_CHECKING(for file formats in man section 5)
AC_ARG_ENABLE(fsect-man5,
[ --enable-fsect-man5 enable file formats in man section 5],
@@ -84,7 +89,9 @@ AC_CHECK_HEADERS(stdint.h fcntl.h locale.h stdint.h inttypes.h unistd.h)
AC_CHECK_HEADERS(stddef.h utime.h wchar.h wctype.h limits.h)
AC_CHECK_HEADERS(getopt.h err.h xlocale.h signal.h)
AC_CHECK_HEADERS(sys/mman.h sys/stat.h sys/types.h sys/utime.h sys/time.h)
-AC_CHECK_HEADERS(zlib.h)
+if test "$enable_zlib" != "no"; then
+ AC_CHECK_HEADERS(zlib.h)
+fi
AC_CHECK_TYPE([sig_t],[AC_DEFINE([HAVE_SIG_T],1,[Have sig_t type])],,[
#ifdef HAVE_SIGNAL_H
#include <signal.h>
@@ -148,7 +155,9 @@ dnl Provide implementation of some required functions if necessary
AC_REPLACE_FUNCS(getopt_long asprintf vasprintf strlcpy strlcat getline ctime_r asctime_r localtime_r gmtime_r pread strcasestr fmtcheck dprintf)
dnl Checks for libraries
-AC_CHECK_LIB(z,gzopen)
+if test "$enable_zlib" != "no"; then
+ AC_CHECK_LIB(z, gzopen)
+fi
if test "$MINGW" = 1; then
AC_CHECK_LIB(gnurx,regexec,,AC_MSG_ERROR([libgnurx is required to build file(1) with MinGW]))
fi
@@ -156,5 +165,14 @@ fi
dnl See if we are cross-compiling
AM_CONDITIONAL(IS_CROSS_COMPILE, test "$cross_compiling" = yes)
+dnl Final sanity checks
+if test "$enable_zlib" = "yes"; then
+ if test "$ac_cv_header_zlib_h$ac_cv_lib_z_gzopen" != "yesyes"; then
+ AC_MSG_ERROR([zlib support requested but not found])
+ fi
+elif test "$ac_cv_header_zlib_h$ac_cv_lib_z_gzopen" = "yesyes"; then
+ AC_DEFINE([ZLIBSUPPORT], 1, [Enable zlib compression support])
+fi
+
AC_CONFIG_FILES([Makefile src/Makefile magic/Makefile tests/Makefile doc/Makefile python/Makefile])
AC_OUTPUT