1AC_PREREQ(2.64)
2
3AC_INIT(fixincludes, [ ])
4AC_CONFIG_SRCDIR(inclhack.def)
5AC_CONFIG_AUX_DIR(..)
6m4_sinclude(../libtool.m4)
7AC_CANONICAL_SYSTEM
8AC_PROG_CC
9AC_USE_SYSTEM_EXTENSIONS
10AC_PROG_SED
11
12# Figure out what compiler warnings we can enable.
13# See config/warnings.m4 for details.
14
15ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wstrict-prototypes \
16			  -Wmissing-prototypes -Wold-style-definition \
17			  -Wmissing-format-attribute -Wno-overlength-strings])
18ACX_PROG_CC_WARNING_ALMOST_PEDANTIC([-Wno-long-long])
19
20# Only enable with --enable-werror-always until existing warnings are
21# corrected.
22ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual])
23
24# Determine the noncanonical target name, for directory use.
25ACX_NONCANONICAL_TARGET
26
27# Specify the local prefix
28local_prefix=
29AC_ARG_WITH(local-prefix,
30[  --with-local-prefix=DIR specifies directory to put local include],
31[case "${withval}" in
32yes)	AC_MSG_ERROR(bad value ${withval} given for local include directory prefix) ;;
33no)	;;
34*)	local_prefix=$with_local_prefix ;;
35esac])
36
37# Default local prefix if it is empty
38if test x$local_prefix = x; then
39	local_prefix=/usr/local
40fi
41
42# Choose one or two-process fix methodology.  Systems that cannot handle
43# bi-directional pipes must use the two process method.
44#
45AC_ARG_ENABLE([twoprocess],
46[  --enable-twoprocess       Use a separate process to apply the fixes],
47[if test "x$enable_twoprocess" = xyes; then
48	TARGET=twoprocess
49else
50	TARGET=oneprocess
51fi],
52[case $host in
53	i?86-*-msdosdjgpp* | \
54	i?86-*-mingw32* | \
55	x86_64-*-mingw32* | \
56	*-*-beos* | \
57        *-*-*vms*)
58		TARGET=twoprocess
59		;;
60
61	* )
62		TARGET=oneprocess
63		;;
64esac])
65AC_SUBST(TARGET)
66
67if test $TARGET = twoprocess; then
68	AC_DEFINE(SEPARATE_FIX_PROC, 1,
69		  [Define if testing and fixing are done by separate process])
70fi
71
72case $host in
73	vax-dec-bsd* )
74		AC_DEFINE(exit, xexit, [Define to xexit if the host system does not support atexit])
75		AC_DEFINE(atexit, xatexit, [Define to xatexit if the host system does not support atexit])
76		;;
77esac
78
79AC_DEFINE_UNQUOTED([EXE_EXT], "$ac_exeext",
80  [Defined to the executable file extension on the host system])
81
82# Checks for header files.
83AC_HEADER_STDC
84AC_CHECK_HEADERS([stddef.h stdlib.h strings.h unistd.h fcntl.h sys/file.h \
85	sys/stat.h])
86define(fixincludes_UNLOCKED_FUNCS, clearerr_unlocked feof_unlocked dnl
87  ferror_unlocked fflush_unlocked fgetc_unlocked fgets_unlocked dnl
88  fileno_unlocked fprintf_unlocked fputc_unlocked fputs_unlocked dnl
89  fread_unlocked fwrite_unlocked getchar_unlocked getc_unlocked dnl
90  putchar_unlocked putc_unlocked)
91AC_CHECK_FUNCS(fixincludes_UNLOCKED_FUNCS)
92AC_CHECK_DECLS([abort, asprintf, basename(char *), errno, vasprintf])
93AC_CHECK_DECLS(m4_split(m4_normalize(fixincludes_UNLOCKED_FUNCS)))
94
95# Checks for typedefs, structures, and compiler characteristics.
96AC_C_CONST
97
98# Checks for library functions.
99GCC_AC_FUNC_MMAP_BLACKLIST
100
101AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
102AC_ARG_ENABLE(maintainer-mode,
103[  --enable-maintainer-mode enable make rules and dependencies not useful
104                          (and sometimes confusing) to the casual installer],
105      USE_MAINTAINER_MODE=$enableval,
106      USE_MAINTAINER_MODE=no)
107AC_MSG_RESULT($USE_MAINTAINER_MODE)
108if test "$USE_MAINTAINER_MODE" = yes; then
109  MAINT=
110else
111  MAINT='#'
112fi	
113AC_SUBST(MAINT)
114AC_DEFINE_UNQUOTED([SED_PROGRAM], "${SED}",
115   [Defined to the best working sed program on the host system])
116
117AC_CONFIG_HEADERS(config.h, [echo timestamp > stamp-h])
118AC_CONFIG_FILES(Makefile mkheaders.almost:mkheaders.in)
119AC_OUTPUT
120