blob: 04305fe63b72adb065318a2175916082a52e71f5 [file] [log] [blame]
Paolo Bonzini71b5d512004-08-31 09:27:00 +00001AC_PREREQ(2.59)
2
3AC_INIT(fixincludes, [ ])
4AC_CONFIG_SRCDIR(inclhack.def)
5AC_CONFIG_AUX_DIR(..)
6AC_CANONICAL_SYSTEM
7AC_PROG_CC
8
Kaveh R. Ghazi87fbb652005-07-16 14:17:51 +00009# Figure out what compiler warnings we can enable.
10# See config/warnings.m4 for details.
11
12ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wstrict-prototypes \
13 -Wmissing-prototypes -Wold-style-definition \
14 -Wmissing-format-attribute])
15ACX_PROG_CC_WARNING_ALMOST_PEDANTIC([-Wno-long-long])
16
17# Only enable with --enable-werror-always until existing warnings are
18# corrected.
19ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual])
20
Geoffrey Keating53c7ffe72004-11-05 04:49:19 +000021# Determine the noncanonical target name, for directory use.
22ACX_NONCANONICAL_TARGET
23
24# Specify the local prefix
25local_prefix=
26AC_ARG_WITH(local-prefix,
27[ --with-local-prefix=DIR specifies directory to put local include],
28[case "${withval}" in
29yes) AC_MSG_ERROR(bad value ${withval} given for local include directory prefix) ;;
30no) ;;
31*) local_prefix=$with_local_prefix ;;
32esac])
33
34# Default local prefix if it is empty
35if test x$local_prefix = x; then
36 local_prefix=/usr/local
37fi
38
Paolo Bonzini71b5d512004-08-31 09:27:00 +000039# Choose one or two-process fix methodology. Systems that cannot handle
40# bi-directional pipes must use the two process method.
41#
Paolo Bonziniad643a72004-10-15 07:58:38 +000042AC_ARG_ENABLE([twoprocess],
43[ --enable-twoprocess Use a separate process to apply the fixes],
Paolo Bonzini5ae4c562004-10-27 14:42:56 +000044[if test "x$enable_twoprocess" = xyes; then
Paolo Bonziniad643a72004-10-15 07:58:38 +000045 TARGET=twoprocess
46else
47 TARGET=oneprocess
48fi],
49[case $host in
Paolo Bonzini71b5d512004-08-31 09:27:00 +000050 i?86-*-msdosdjgpp* | \
Paolo Bonziniad643a72004-10-15 07:58:38 +000051 i?86-*-mingw32* | \
Paolo Bonzini71b5d512004-08-31 09:27:00 +000052 *-*-beos* )
53 TARGET=twoprocess
Paolo Bonzini71b5d512004-08-31 09:27:00 +000054 ;;
55
56 * )
57 TARGET=oneprocess
58 ;;
Paolo Bonziniad643a72004-10-15 07:58:38 +000059esac])
Paolo Bonzini71b5d512004-08-31 09:27:00 +000060AC_SUBST(TARGET)
61
Paolo Bonziniad643a72004-10-15 07:58:38 +000062if test $TARGET = twoprocess; then
63 AC_DEFINE(SEPARATE_FIX_PROC, 1,
64 [Define if testing and fixing are done by separate process])
65fi
66
67case $host in
68 vax-dec-bsd* )
69 AC_DEFINE(exit, xexit, [Define to xexit if the host system does not support atexit])
70 AC_DEFINE(atexit, xatexit, [Define to xatexit if the host system does not support atexit])
71 ;;
72esac
73
74AC_DEFINE_UNQUOTED([EXE_EXT], "$ac_exeext",
75 [Defined to the executable file extension on the host system])
76
Paolo Bonzini71b5d512004-08-31 09:27:00 +000077# Checks for header files.
78AC_HEADER_STDC
79AC_CHECK_HEADERS([stddef.h stdlib.h strings.h unistd.h fcntl.h sys/file.h \
80 sys/stat.h])
Kaveh R. Ghazi0d667712005-04-11 21:46:59 +000081define(fixincludes_UNLOCKED_FUNCS, clearerr_unlocked feof_unlocked dnl
82 ferror_unlocked fflush_unlocked fgetc_unlocked fgets_unlocked dnl
83 fileno_unlocked fprintf_unlocked fputc_unlocked fputs_unlocked dnl
84 fread_unlocked fwrite_unlocked getchar_unlocked getc_unlocked dnl
85 putchar_unlocked putc_unlocked)
86AC_CHECK_FUNCS(fixincludes_UNLOCKED_FUNCS)
87AC_CHECK_DECLS(m4_split(m4_normalize(abort errno fixincludes_UNLOCKED_FUNCS)))
Paolo Bonzini71b5d512004-08-31 09:27:00 +000088
89# Checks for typedefs, structures, and compiler characteristics.
90AC_C_CONST
91
92# Checks for library functions.
93gcc_AC_FUNC_MMAP_BLACKLIST
94
95AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
96AC_ARG_ENABLE(maintainer-mode,
97[ --enable-maintainer-mode enable make rules and dependencies not useful
98 (and sometimes confusing) to the casual installer],
99 USE_MAINTAINER_MODE=$enableval,
100 USE_MAINTAINER_MODE=no)
101AC_MSG_RESULT($USE_MAINTAINER_MODE)
102if test "$USE_MAINTAINER_MODE" = yes; then
103 MAINT=
104else
105 MAINT='#'
106fi
107AC_SUBST(MAINT)
108
109AC_CONFIG_HEADERS(config.h, [echo timestamp > stamp-h])
Zack Weinberg90ee1362005-03-21 17:50:19 +0000110AC_CONFIG_FILES(Makefile mkheaders.almost:mkheaders.in)
Paolo Bonzini71b5d512004-08-31 09:27:00 +0000111AC_OUTPUT