configure.ac revision 186690
1dnl Process this file with autoconf to produce a configure script.
2AC_INIT(file, 4.26, christos@astron.com)
3AM_INIT_AUTOMAKE
4AM_CONFIG_HEADER(config.h)
5
6AC_MSG_CHECKING(for builtin ELF support)
7AC_ARG_ENABLE(elf,
8[  --disable-elf            disable builtin ELF support],
9[if test "${enableval}" = yes; then
10  AC_MSG_RESULT(yes)
11  AC_DEFINE([BUILTIN_ELF], 1, [Define if built-in ELF support is used])
12else
13  AC_MSG_RESULT(no)
14fi], [
15  # enable by default
16  AC_MSG_RESULT(yes)
17  AC_DEFINE([BUILTIN_ELF], 1, [Define in built-in ELF support is used])
18])
19
20AC_MSG_CHECKING(for ELF core file support)
21AC_ARG_ENABLE(elf-core,
22[  --disable-elf-core       disable ELF core file support],
23[if test "${enableval}" = yes; then
24  AC_MSG_RESULT(yes)
25  AC_DEFINE([ELFCORE], 1, [Define for ELF core file support])
26else
27  AC_MSG_RESULT(no)
28fi], [
29  # enable by default
30  AC_MSG_RESULT(yes)
31  AC_DEFINE([ELFCORE], 1, [Define for ELF core file support])
32])
33
34AC_MSG_CHECKING(for file formats in man section 5)
35AC_ARG_ENABLE(fsect-man5,
36[  --enable-fsect-man5      enable file formats in man section 5],
37[if test "${enableval}" = yes; then
38  AC_MSG_RESULT(yes)
39  fsect=5
40else
41  AC_MSG_RESULT(no)
42  fsect=4
43fi], [
44  # disable by default
45  AC_MSG_RESULT(no)
46  fsect=4
47])
48
49AC_SUBST(fsect)
50AM_CONDITIONAL(FSECT5, test x$fsect = x5)
51
52AC_SUBST(WARNINGS)
53AC_GNU_SOURCE
54
55dnl Checks for programs.
56AC_PROG_CC
57AM_PROG_CC_C_O
58AC_PROG_INSTALL
59AC_PROG_LN_S
60AC_PROG_LIBTOOL
61
62dnl Checks for headers
63AC_HEADER_STDC
64AC_HEADER_MAJOR
65AC_HEADER_SYS_WAIT
66AC_CHECK_HEADERS(stdint.h fcntl.h locale.h stdint.h inttypes.h unistd.h)
67AC_CHECK_HEADERS(utime.h wchar.h wctype.h limits.h)
68AC_CHECK_HEADERS(getopt.h err.h)
69AC_CHECK_HEADERS(sys/mman.h sys/stat.h sys/types.h sys/utime.h sys/time.h)
70AC_CHECK_HEADERS(zlib.h)
71
72dnl Checks for typedefs, structures, and compiler characteristics.
73AC_C_CONST
74AC_TYPE_OFF_T
75AC_TYPE_SIZE_T
76AC_CHECK_MEMBERS([struct stat.st_rdev])
77
78AC_STRUCT_TIMEZONE_DAYLIGHT
79AC_SYS_LARGEFILE
80AC_FUNC_FSEEKO
81AC_TYPE_MBSTATE_T
82
83AC_CHECK_TYPES([uint8_t, uint16_t, uint32_t, int32_t, uint64_t, int64_t])
84AC_CHECK_SIZEOF(long long)
85AH_BOTTOM([
86#ifndef HAVE_UINT8_T
87typedef unsigned char uint8_t;
88#endif
89#ifndef HAVE_UINT16_T
90typedef unsigned short uint16_t;
91#endif
92#ifndef HAVE_UINT32_T
93typedef unsigned int uint32_t;
94#endif
95#ifndef HAVE_INT32_T
96typedef int int32_t;
97#endif
98#ifndef HAVE_UINT64_T
99#if SIZEOF_LONG_LONG == 8
100typedef unsigned long long uint64_t;
101#else
102typedef unsigned long uint64_t;
103#endif
104#endif
105#ifndef HAVE_INT64_T
106#if SIZEOF_LONG_LONG == 8
107typedef long long int64_t;
108#else
109typedef long int64_t;
110#endif
111#endif
112])
113
114AC_MSG_CHECKING(for gcc compiler warnings)
115AC_ARG_ENABLE(warnings,
116[  --disable-warnings	disable compiler warnings],
117[if test "${enableval}" = no -o $GCC = no; then
118   AC_MSG_RESULT(no)
119   WARNINGS=
120else
121   AC_MSG_RESULT(yes)
122   WARNINGS="-Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith \
123       -Wmissing-declarations -Wredundant-decls -Wnested-externs \
124       -Wsign-compare -Wreturn-type -Wswitch -Wshadow \
125       -Wcast-qual -Wwrite-strings -Wextra -Wunused-parameter"
126fi], [
127if test $GCC = no; then
128   WARNINGS=
129   AC_MSG_RESULT(no)
130else
131   AC_MSG_RESULT(yes)
132   WARNINGS="-Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith \
133       -Wmissing-declarations -Wredundant-decls -Wnested-externs \
134       -Wsign-compare -Wreturn-type -Wswitch -Wshadow \
135       -Wcast-qual -Wwrite-strings -Wextra -Wunused-parameter"
136fi])
137
138dnl Checks for functions
139AC_CHECK_FUNCS(mmap strerror strndup strtoul mbrtowc mkstemp utimes utime wcwidth strtof)
140
141dnl Provide implementation of some required functions if necessary
142AC_REPLACE_FUNCS(getopt_long asprintf vasprintf)
143
144dnl Checks for libraries
145AC_CHECK_LIB(z,gzopen)
146
147dnl See if we are cross-compiling
148AM_CONDITIONAL(IS_CROSS_COMPILE, test "$cross_compiling" = yes)
149
150AC_CONFIG_FILES([Makefile src/Makefile magic/Makefile tests/Makefile doc/Makefile python/Makefile])
151AC_OUTPUT
152