aboutsummaryrefslogtreecommitdiff
path: root/contrib/file/configure.in
blob: ee509e226a1c16d1143bae7418d8ab7baaf96e44 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
dnl Process this file with autoconf to produce a configure script.
AC_INIT
AC_CONFIG_SRCDIR([src/file.c])
AM_INIT_AUTOMAKE(file, 4.23)
AM_CONFIG_HEADER([config.h])
AM_MAINTAINER_MODE

AC_MSG_CHECKING(for builtin ELF support)
AC_ARG_ENABLE(elf,
[  --disable-elf            disable builtin ELF support],
[if test "${enableval}" = yes; then
  AC_MSG_RESULT(yes)
  AC_DEFINE(BUILTIN_ELF)
else
  AC_MSG_RESULT(no)
fi], [
  # enable by default
  AC_MSG_RESULT(yes)
  AC_DEFINE(BUILTIN_ELF)
])

AC_MSG_CHECKING(for ELF core file support)
AC_ARG_ENABLE(elf-core,
[  --disable-elf-core       disable ELF core file support],
[if test "${enableval}" = yes; then
  AC_MSG_RESULT(yes)
  AC_DEFINE(ELFCORE)
else
  AC_MSG_RESULT(no)
fi], [
  # enable by default
  AC_MSG_RESULT(yes)
  AC_DEFINE(ELFCORE)
])

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],
[if test "${enableval}" = yes; then
  AC_MSG_RESULT(yes)
  fsect=5
else
  AC_MSG_RESULT(no)
  fsect=4
fi], [
  # disable by default
  AC_MSG_RESULT(no)
  fsect=4
])
AC_SUBST(fsect)
AM_CONDITIONAL(FSECT5, test x$fsect = x5)
AC_GNU_SOURCE

dnl Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_LIBTOOL

dnl Templates for autoheader
AH_TEMPLATE([BUILTIN_ELF],
	    [Use the builtin ELF recognition code])
AH_TEMPLATE([ELFCORE],
	    [Recognize ELF core files])
AH_TEMPLATE([HAVE_DAYLIGHT], [])
AH_TEMPLATE([HAVE_LONG_LONG], [])
AH_TEMPLATE([HAVE_TM_ISDST], [])
AH_TEMPLATE([SIZEOF_UINT16_T], [])
AH_TEMPLATE([SIZEOF_UINT32_T], [])
AH_TEMPLATE([SIZEOF_INT64_T], [])
AH_TEMPLATE([SIZEOF_UINT64_T], [])
AH_TEMPLATE([SIZEOF_UINT8_T], [])
AH_TEMPLATE([int32_t], [])
AH_TEMPLATE([uint16_t], [])
AH_TEMPLATE([uint32_t], [])
AH_TEMPLATE([int64_t], [])
AH_TEMPLATE([uint64_t], [])
AH_TEMPLATE([uint8_t], [])

dnl Checks for headers
AC_HEADER_STDC
AC_HEADER_MAJOR
AC_HEADER_SYS_WAIT
AC_HEADER_STDINT
AC_CHECK_HEADERS(fcntl.h locale.h stdint.h inttypes.h unistd.h getopt.h)
AC_CHECK_HEADERS(utime.h wchar.h wctype.h limits.h)
AC_CHECK_HEADERS(sys/mman.h sys/stat.h sys/types.h sys/utime.h sys/time.h)
AC_CHECK_HEADERS(zlib.h)

dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_OFF_T
AC_TYPE_SIZE_T
AC_DIAGNOSE([obsolete],[AC_STRUCT_ST_RDEV:
	your code should no longer depend upon `HAVE_ST_RDEV', but
	`HAVE_STRUCT_STAT_ST_RDEV'.  Remove this warning and
	the `AC_DEFINE' when you adjust the code.])
AC_CHECK_MEMBERS([struct stat.st_rdev],[AC_DEFINE(HAVE_ST_RDEV, 1,
			    [Define to 1 if your `struct stat' has `st_rdev'.
			     Deprecated, use `HAVE_STRUCT_STAT_ST_RDEV'
			     instead.])])

AC_STRUCT_TIMEZONE_DAYLIGHT
AC_SYS_LARGEFILE
AC_TYPE_MBSTATE_T

AC_CHECK_TYPE_STDC(uint8_t, unsigned char)
AC_CHECK_TYPE_STDC(uint16_t, unsigned short)
AC_CHECK_TYPE_STDC(uint32_t, unsigned int)
AC_CHECK_TYPE_STDC(int32_t, int)
AC_C_LONG_LONG
if test $ac_cv_c_long_long = yes; then
  ulong64='unsigned long long';
  long64='long long';
else
  ulong64='unsigned long';
  long64='long';
fi
dnl This needs a patch to autoconf 2.13 acgeneral.m4
AC_CHECK_TYPE2_STDC(uint64_t, $ulong64)
AC_CHECK_TYPE2_STDC(int64_t, $long64)

AC_CHECK_SIZEOF_STDC_HEADERS(uint8_t, 0)
AC_CHECK_SIZEOF_STDC_HEADERS(uint16_t, 0)
AC_CHECK_SIZEOF_STDC_HEADERS(uint32_t, 0)
AC_CHECK_SIZEOF_STDC_HEADERS(int64_t, 0)
AC_CHECK_SIZEOF_STDC_HEADERS(uint64_t, 0)

dnl Checks for functions
AC_CHECK_FUNCS(mmap strerror strndup strtoul mbrtowc mkstemp getopt_long utimes utime wcwidth snprintf vsnprintf strtof)

dnl Checks for libraries
AC_CHECK_LIB(z,gzopen)

dnl See if we are cross-compiling
AM_CONDITIONAL(IS_CROSS_COMPILE, test "$cross_compiling" = yes)

AC_CONFIG_FILES([Makefile src/Makefile magic/Makefile doc/Makefile python/Makefile])
AC_OUTPUT