]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/file/configure.ac
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / file / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2 AC_INIT([file],[5.23],[christos@astron.com])
3 AM_INIT_AUTOMAKE([subdir-objects foreign])
4 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
5
6 AC_CONFIG_HEADERS([config.h])
7 AC_CONFIG_MACRO_DIR([m4])
8
9 AC_MSG_CHECKING(for builtin ELF support)
10 AC_ARG_ENABLE(elf,
11 [  --disable-elf            disable builtin ELF support],
12 [if test "${enableval}" = yes; then
13   AC_MSG_RESULT(yes)
14   AC_DEFINE([BUILTIN_ELF], 1, [Define if built-in ELF support is used])
15 else
16   AC_MSG_RESULT(no)
17 fi], [
18   # enable by default
19   AC_MSG_RESULT(yes)
20   AC_DEFINE([BUILTIN_ELF], 1, [Define in built-in ELF support is used])
21 ])
22
23 AC_MSG_CHECKING(for ELF core file support)
24 AC_ARG_ENABLE(elf-core,
25 [  --disable-elf-core       disable ELF core file support],
26 [if test "${enableval}" = yes; then
27   AC_MSG_RESULT(yes)
28   AC_DEFINE([ELFCORE], 1, [Define for ELF core file support])
29 else
30   AC_MSG_RESULT(no)
31 fi], [
32   # enable by default
33   AC_MSG_RESULT(yes)
34   AC_DEFINE([ELFCORE], 1, [Define for ELF core file support])
35 ])
36
37 AC_MSG_CHECKING(for file formats in man section 5)
38 AC_ARG_ENABLE(fsect-man5,
39 [  --enable-fsect-man5      enable file formats in man section 5],
40 [if test "${enableval}" = yes; then
41   AC_MSG_RESULT(yes)
42   fsect=5
43 else
44   AC_MSG_RESULT(no)
45   fsect=4
46 fi], [
47   # disable by default
48   AC_MSG_RESULT(no)
49   fsect=4
50 ])
51
52 AC_CANONICAL_HOST
53 case "$host_os" in
54    mingw32*)
55       MINGW=1
56       ;;
57    *)
58       MINGW=0
59       ;;
60 esac
61 AC_SUBST(MINGW)
62 AM_CONDITIONAL(MINGW, test "$MINGW" = 1)
63
64 AC_SUBST([pkgdatadir], ['$(datadir)/misc'])
65 AC_SUBST(fsect)
66 AM_CONDITIONAL(FSECT5, test x$fsect = x5)
67
68 AC_SUBST(WARNINGS)
69
70 dnl Checks for programs.
71 AC_PROG_CC_STDC
72 AC_USE_SYSTEM_EXTENSIONS
73 AM_PROG_CC_C_O
74 AC_C_BIGENDIAN
75 AC_PROG_INSTALL
76 AC_PROG_LN_S
77 LT_INIT([disable-static pic-only])
78 gl_VISIBILITY
79 dnl Checks for headers
80 AC_HEADER_STDC
81 AC_HEADER_MAJOR
82 AC_HEADER_SYS_WAIT
83 AC_CHECK_HEADERS(stdint.h fcntl.h locale.h stdint.h inttypes.h unistd.h)
84 AC_CHECK_HEADERS(stddef.h utime.h wchar.h wctype.h limits.h)
85 AC_CHECK_HEADERS(getopt.h err.h xlocale.h signal.h)
86 AC_CHECK_HEADERS(sys/mman.h sys/stat.h sys/types.h sys/utime.h sys/time.h)
87 AC_CHECK_HEADERS(zlib.h)
88 AC_CHECK_TYPE([sig_t],[AC_DEFINE([HAVE_SIG_T],1,[Have sig_t type])],,[
89 #ifdef HAVE_SIGNAL_H
90 #include <signal.h>
91 #endif])
92
93 dnl Checks for typedefs, structures, and compiler characteristics.
94 AC_C_CONST
95 AC_TYPE_OFF_T
96 AC_TYPE_SIZE_T
97 AC_CHECK_MEMBERS([struct stat.st_rdev])
98
99 AC_CHECK_MEMBERS([struct tm.tm_gmtoff])
100 AC_STRUCT_TIMEZONE
101 AC_STRUCT_TIMEZONE_DAYLIGHT
102 AC_SYS_LARGEFILE
103 AC_FUNC_FSEEKO
104 AC_TYPE_MBSTATE_T
105
106 AC_STRUCT_OPTION_GETOPT_H
107 AC_TYPE_PID_T
108 AC_TYPE_UINT8_T
109 AC_TYPE_UINT16_T
110 AC_TYPE_UINT32_T
111 AC_TYPE_INT32_T
112 AC_TYPE_UINT64_T
113 AC_TYPE_INT64_T
114 AC_TYPE_INTPTR_T
115 AC_TYPE_UINTPTR_T
116 AC_FUNC_MMAP
117 AC_FUNC_FORK
118 AC_FUNC_MBRTOWC
119
120 AC_MSG_CHECKING(for gcc compiler warnings)
121 AC_ARG_ENABLE(warnings,
122 [  --disable-warnings   disable compiler warnings],
123 [if test "${enableval}" = no -o "$GCC" = no; then
124    AC_MSG_RESULT(no)
125    WARNINGS=
126 else
127    AC_MSG_RESULT(yes)
128    WARNINGS="-Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith \
129        -Wmissing-declarations -Wredundant-decls -Wnested-externs \
130        -Wsign-compare -Wreturn-type -Wswitch -Wshadow \
131        -Wcast-qual -Wwrite-strings -Wextra -Wunused-parameter -Wformat=2"
132 fi], [
133 if test "$GCC" = yes; then
134    AC_MSG_RESULT(yes)
135    WARNINGS="-Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith \
136        -Wmissing-declarations -Wredundant-decls -Wnested-externs \
137        -Wsign-compare -Wreturn-type -Wswitch -Wshadow \
138        -Wcast-qual -Wwrite-strings -Wextra -Wunused-parameter -Wformat=2"
139 else
140    WARNINGS=
141    AC_MSG_RESULT(no)
142 fi])
143
144 dnl Checks for functions
145 AC_CHECK_FUNCS(strerror strndup strtoul mkstemp mkostemp utimes utime wcwidth strtof newlocale uselocale freelocale setlocale)
146
147 dnl Provide implementation of some required functions if necessary
148 AC_REPLACE_FUNCS(getopt_long asprintf vasprintf strlcpy strlcat getline ctime_r asctime_r localtime_r gmtime_r pread strcasestr fmtcheck)
149
150 dnl Checks for libraries
151 AC_CHECK_LIB(z,gzopen)
152 if test "$MINGW" = 1; then
153   AC_CHECK_LIB(gnurx,regexec,,AC_MSG_ERROR([libgnurx is required to build file(1) with MinGW]))
154 fi
155
156 dnl See if we are cross-compiling
157 AM_CONDITIONAL(IS_CROSS_COMPILE, test "$cross_compiling" = yes)
158
159 AC_CONFIG_FILES([Makefile src/Makefile magic/Makefile tests/Makefile doc/Makefile python/Makefile])
160 AC_OUTPUT