Newer
Older
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
# Require a recent version of autotools
AC_PREREQ(2.59)
# Auto conf init
AC_INIT([42sh],[1.0],[seblu@seblu.net], [42sh])
# Define configure generator directory
AC_CONFIG_AUX_DIR([build])
# Auto Make init
AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip])
echo "Checking locale CFLAGS"
# Check platform
AC_CANONICAL_HOST
case $host_os in
*netbsd*)
AC_SUBST([CFLAGS], ['-Wall -Werror -W -ansi -pedantic'])
;;
*osf*)
AC_SUBST([CFLAGS], ['-Wall -Werror -W -ansi -pedantic -D_XOPEN_SOURCE=600'])
;;
*solaris*)
AC_SUBST([CFLAGS], ['-Wall -Werror -W -ansi -pedantic -D_XOPEN_SOURCE=600'])
;;
*linux*)
AC_SUBST([CFLAGS], ['-Wall -Werror -W -ansi -pedantic -D_XOPEN_SOURCE=600'])
;;
*)
pl="`uname -s`"
AC_MSG_ERROR([Platform $pl not supported.])
;;
esac
# Check for C compiler
AC_LANG([C])
AC_PROG_CC
# Check for Make
AC_PROG_MAKE_SET
# check for ranlib
AC_PROG_RANLIB
# Check for lib efence
AC_CHECK_LIB([efence], [malloc], [EFENCELIB=-lefence])
AC_SUBST([EFENCELIB])
# Checks for library functions.
AC_FUNC_MALLOC
AC_FUNC_CLOSEDIR_VOID
AC_FUNC_REALLOC
AC_FUNC_FORK
AC_FUNC_STAT
AC_FUNC_ALLOCA
AC_HEADER_DIRENT
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS([malloc.h])
AC_CHECK_FUNCS([strtol])
AC_CHECK_FUNCS([dup])
AC_CHECK_FUNCS([dup2])
AC_CHECK_FUNCS([strchr])
AC_CHECK_FUNCS([strdup])
AC_CHECK_FUNCS([getcwd])
AC_CHECK_FUNCS([setenv])
AC_CHECK_FUNCS([strdup])
AC_CHECK_FUNCS([strstr])
AC_CHECK_FUNCS([get_current_dir_name])
AC_CHECK_FUNCS([atexit])
AC_CHECK_FUNCS([putenv])
AC_CHECK_FUNCS([strtoul])
AC_TYPE_PID_T
AC_TYPE_SIZE_T
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
# Check for headers
AC_CHECK_HEADERS([sys/param.h unistd.h])
AC_CHECK_HEADERS([fcntl.h])
AC_CHECK_HEADERS([libintl.h])
AC_CHECK_HEADERS([stddef.h])
dnl Memo:
dnl AC ARG WITH(package, help-string, [action-if-given], [action-if-not-given])
AC_ARG_WITH([debug],
[AS_HELP_STRING([--with-debug], [use -g and don't use -DNDEBUG -O3])],
[dnl action-if-given: --with-debug => -g || --without-debug => -DNDEBUG
if test x$withval = xyes; then
CFLAGS="$CFLAGS -g"
else
CFLAGS="$CFLAGS -DNDEBUG -O3"
fi
],
[dnl action-if-not-given: MAINTAINER_MODE => -g || !MAINTAINER_MODE => -DNDEBUG
# If we are in maintainer mode, we want to have DEBUG (NDEBUG==NO DEBUG)
# So we simply replace -DNDEBUG by -g
if test x$MAINTAINER_MODE = xyes; then
CFLAGS="$CFLAGS -g"
else
CFLAGS="$CFLAGS -DNDEBUG -O3"
fi
]
)
AC_ARG_WITH([leaktrack],
[AS_HELP_STRING([--with-leaktrack], [add a builtin leak track for debug])],
[
if test x$withval = xyes; then
CFLAGS="$CFLAGS -DLEAK_TRACK"
fi
],
)
AC_SUBST([CFLAGS])
# define Autoconf config header
AC_CONFIG_HEADERS([config.h])
# define Autoconf config files
AC_CONFIG_FILES([
Makefile
doc/Makefile
check/Makefile
check/leaktrack/Makefile
src/Makefile
src/parser/Makefile
src/evalexpr/Makefile
])
AC_CONFIG_FILES([check/checker_wrapper.sh],
[chmod a=rx check/checker_wrapper.sh])
AC_OUTPUT