configure.ac revision 298192
1215976Sjmallettdnl Process this file with autoconf to produce a configure script. 2215976SjmallettAC_INIT([file],[5.26],[christos@astron.com]) 3215976SjmallettAM_INIT_AUTOMAKE([subdir-objects foreign]) 4215976Sjmallettm4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) 5215976Sjmallett 6215976SjmallettAC_CONFIG_HEADERS([config.h]) 7215976SjmallettAC_CONFIG_MACRO_DIR([m4]) 8215976Sjmallett 9215976SjmallettAC_MSG_CHECKING(for builtin ELF support) 10215976SjmallettAC_ARG_ENABLE(elf, 11215976Sjmallett[ --disable-elf disable builtin ELF support], 12215976Sjmallett[if test "${enableval}" = yes; then 13215976Sjmallett AC_MSG_RESULT(yes) 14215976Sjmallett AC_DEFINE([BUILTIN_ELF], 1, [Define if built-in ELF support is used]) 15215976Sjmallettelse 16215976Sjmallett AC_MSG_RESULT(no) 17215976Sjmallettfi], [ 18215976Sjmallett # enable by default 19215976Sjmallett AC_MSG_RESULT(yes) 20215976Sjmallett AC_DEFINE([BUILTIN_ELF], 1, [Define in built-in ELF support is used]) 21215976Sjmallett]) 22215976Sjmallett 23215976SjmallettAC_MSG_CHECKING(for ELF core file support) 24215976SjmallettAC_ARG_ENABLE(elf-core, 25215976Sjmallett[ --disable-elf-core disable ELF core file support], 26215976Sjmallett[if test "${enableval}" = yes; then 27215976Sjmallett AC_MSG_RESULT(yes) 28215976Sjmallett AC_DEFINE([ELFCORE], 1, [Define for ELF core file support]) 29215976Sjmallettelse 30215976Sjmallett AC_MSG_RESULT(no) 31215976Sjmallettfi], [ 32215976Sjmallett # enable by default 33215976Sjmallett AC_MSG_RESULT(yes) 34215976Sjmallett AC_DEFINE([ELFCORE], 1, [Define for ELF core file support]) 35215976Sjmallett]) 36215976Sjmallett 37215976SjmallettAC_MSG_CHECKING(for file formats in man section 5) 38215976SjmallettAC_ARG_ENABLE(fsect-man5, 39215976Sjmallett[ --enable-fsect-man5 enable file formats in man section 5], 40215976Sjmallett[if test "${enableval}" = yes; then 41215976Sjmallett AC_MSG_RESULT(yes) 42215976Sjmallett fsect=5 43215976Sjmallettelse 44215976Sjmallett AC_MSG_RESULT(no) 45215976Sjmallett fsect=4 46215976Sjmallettfi], [ 47215976Sjmallett # disable by default 48215976Sjmallett AC_MSG_RESULT(no) 49215976Sjmallett fsect=4 50215976Sjmallett]) 51215976Sjmallett 52215976SjmallettAC_CANONICAL_HOST 53215976Sjmallettcase "$host_os" in 54215976Sjmallett mingw32*) 55215976Sjmallett MINGW=1 56215976Sjmallett ;; 57215976Sjmallett *) 58215976Sjmallett MINGW=0 59215976Sjmallett ;; 60215976Sjmallettesac 61215976SjmallettAC_SUBST(MINGW) 62215976SjmallettAM_CONDITIONAL(MINGW, test "$MINGW" = 1) 63215976Sjmallett 64215976SjmallettAC_SUBST([pkgdatadir], ['$(datadir)/misc']) 65215976SjmallettAC_SUBST(fsect) 66215976SjmallettAM_CONDITIONAL(FSECT5, test x$fsect = x5) 67215976Sjmallett 68215976SjmallettAC_SUBST(WARNINGS) 69215976Sjmallett 70215976Sjmallettdnl Checks for programs. 71215976SjmallettAC_PROG_CC_STDC 72215976SjmallettAC_USE_SYSTEM_EXTENSIONS 73215976SjmallettAM_PROG_CC_C_O 74215976SjmallettAC_C_BIGENDIAN 75215976SjmallettAC_PROG_INSTALL 76215976SjmallettAC_PROG_LN_S 77215976SjmallettLT_INIT([disable-static pic-only]) 78215976Sjmallettgl_VISIBILITY 79215976Sjmallettdnl Checks for headers 80215976SjmallettAC_HEADER_STDC 81215976SjmallettAC_HEADER_MAJOR 82215976SjmallettAC_HEADER_SYS_WAIT 83215976SjmallettAC_CHECK_HEADERS(stdint.h fcntl.h locale.h stdint.h inttypes.h unistd.h) 84215976SjmallettAC_CHECK_HEADERS(stddef.h utime.h wchar.h wctype.h limits.h) 85215976SjmallettAC_CHECK_HEADERS(getopt.h err.h xlocale.h signal.h) 86215976SjmallettAC_CHECK_HEADERS(sys/mman.h sys/stat.h sys/types.h sys/utime.h sys/time.h) 87215976SjmallettAC_CHECK_HEADERS(zlib.h) 88215976SjmallettAC_CHECK_TYPE([sig_t],[AC_DEFINE([HAVE_SIG_T],1,[Have sig_t type])],,[ 89215976Sjmallett#ifdef HAVE_SIGNAL_H 90215976Sjmallett#include <signal.h> 91215976Sjmallett#endif]) 92215976Sjmallett 93215976Sjmallettdnl Checks for typedefs, structures, and compiler characteristics. 94215976SjmallettAC_C_CONST 95215976SjmallettAC_TYPE_OFF_T 96215976SjmallettAC_TYPE_SIZE_T 97215976SjmallettAC_CHECK_MEMBERS([struct stat.st_rdev]) 98215976Sjmallett 99215976SjmallettAC_CHECK_MEMBERS([struct tm.tm_gmtoff]) 100215976SjmallettAC_STRUCT_TIMEZONE 101215976SjmallettAC_STRUCT_TIMEZONE_DAYLIGHT 102215976SjmallettAC_SYS_LARGEFILE 103215976SjmallettAC_FUNC_FSEEKO 104215976SjmallettAC_TYPE_MBSTATE_T 105215976Sjmallett 106215976SjmallettAC_STRUCT_OPTION_GETOPT_H 107215976SjmallettAC_TYPE_PID_T 108215976SjmallettAC_TYPE_UINT8_T 109215976SjmallettAC_TYPE_UINT16_T 110215976SjmallettAC_TYPE_UINT32_T 111215976SjmallettAC_TYPE_INT32_T 112215976SjmallettAC_TYPE_UINT64_T 113215976SjmallettAC_TYPE_INT64_T 114215976SjmallettAC_TYPE_INTPTR_T 115215976SjmallettAC_TYPE_UINTPTR_T 116215976SjmallettAC_FUNC_MMAP 117215976SjmallettAC_FUNC_FORK 118215976SjmallettAC_FUNC_MBRTOWC 119215976Sjmallett 120215976SjmallettAC_MSG_CHECKING(for gcc compiler warnings) 121215976SjmallettAC_ARG_ENABLE(warnings, 122215976Sjmallett[ --disable-warnings disable compiler warnings], 123215976Sjmallett[if test "${enableval}" = no -o "$GCC" = no; then 124215976Sjmallett AC_MSG_RESULT(no) 125215976Sjmallett WARNINGS= 126215976Sjmallettelse 127215976Sjmallett AC_MSG_RESULT(yes) 128215976Sjmallett WARNINGS="-Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith \ 129215976Sjmallett -Wmissing-declarations -Wredundant-decls -Wnested-externs \ 130215976Sjmallett -Wsign-compare -Wreturn-type -Wswitch -Wshadow \ 131215976Sjmallett -Wcast-qual -Wwrite-strings -Wextra -Wunused-parameter -Wformat=2" 132215976Sjmallettfi], [ 133215976Sjmallettif test "$GCC" = yes; then 134215976Sjmallett AC_MSG_RESULT(yes) 135215976Sjmallett WARNINGS="-Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith \ 136215976Sjmallett -Wmissing-declarations -Wredundant-decls -Wnested-externs \ 137215976Sjmallett -Wsign-compare -Wreturn-type -Wswitch -Wshadow \ 138215976Sjmallett -Wcast-qual -Wwrite-strings -Wextra -Wunused-parameter -Wformat=2" 139215976Sjmallettelse 140215976Sjmallett WARNINGS= 141215976Sjmallett AC_MSG_RESULT(no) 142215976Sjmallettfi]) 143215976Sjmallett 144215976Sjmallettdnl Checks for functions 145215976SjmallettAC_CHECK_FUNCS(strerror strndup strtoul mkstemp mkostemp utimes utime wcwidth strtof newlocale uselocale freelocale setlocale) 146215976Sjmallett 147215976Sjmallettdnl Provide implementation of some required functions if necessary 148215976SjmallettAC_REPLACE_FUNCS(getopt_long asprintf vasprintf strlcpy strlcat getline ctime_r asctime_r localtime_r gmtime_r pread strcasestr fmtcheck dprintf) 149215976Sjmallett 150215976Sjmallettdnl Checks for libraries 151215976SjmallettAC_CHECK_LIB(z,gzopen) 152215976Sjmallettif test "$MINGW" = 1; then 153215976Sjmallett AC_CHECK_LIB(gnurx,regexec,,AC_MSG_ERROR([libgnurx is required to build file(1) with MinGW])) 154215976Sjmallettfi 155215976Sjmallett 156215976Sjmallettdnl See if we are cross-compiling 157215976SjmallettAM_CONDITIONAL(IS_CROSS_COMPILE, test "$cross_compiling" = yes) 158215976Sjmallett 159215976SjmallettAC_CONFIG_FILES([Makefile src/Makefile magic/Makefile tests/Makefile doc/Makefile python/Makefile]) 160215976SjmallettAC_OUTPUT 161215976Sjmallett