]>
Commit | Line | Data |
---|---|---|
ab4c538f | 1 | # |
a3d5822a | 2 | # Copyright (C) 2010-2018 Red Hat, Inc. All rights reserved. |
ab4c538f FDN |
3 | # |
4 | # Authors: Fabio M. Di Nitto <fabbione@kronosnet.org> | |
5 | # Federico Simoncelli <fsimon@kronosnet.org> | |
6 | # | |
7 | # This software licensed under GPL-2.0+, LGPL-2.0+ | |
8 | # | |
9 | ||
99afbd6e FDN |
10 | # -*- Autoconf -*- |
11 | # Process this file with autoconf to produce a configure script. | |
ab4c538f | 12 | # |
99afbd6e FDN |
13 | |
14 | AC_PREREQ([2.63]) | |
07072a06 FDN |
15 | AC_INIT([kronosnet], |
16 | m4_esyscmd([build-aux/git-version-gen .tarball-version]), | |
17 | [devel@lists.kronosnet.org]) | |
4359cb72 | 18 | AC_USE_SYSTEM_EXTENSIONS |
9f9883b1 | 19 | AM_INIT_AUTOMAKE([1.13 dist-bzip2 dist-xz color-tests -Wno-portability subdir-objects]) |
dba12205 | 20 | |
99afbd6e | 21 | LT_PREREQ([2.2.6]) |
cc5199a6 FW |
22 | # --enable-new-dtags: Use RUNPATH instead of RPATH. |
23 | # It is necessary to have this done before libtool does linker detection. | |
24 | # See also: https://github.com/kronosnet/kronosnet/issues/107 | |
25 | AC_SUBST([AM_LDFLAGS],["-Wl,--enable-new-dtags"]) | |
26 | saved_LDFLAGS="$LDFLAGS" | |
27 | LDFLAGS="$AM_LDFLAGS $LDFLAGS" | |
99afbd6e | 28 | LT_INIT |
cc5199a6 | 29 | LDFLAGS="$saved_LDFLAGS" |
99afbd6e FDN |
30 | |
31 | AC_CONFIG_MACRO_DIR([m4]) | |
4aa63ad7 | 32 | AC_CONFIG_SRCDIR([kronosnetd/main.c]) |
99afbd6e FDN |
33 | AC_CONFIG_HEADERS([config.h]) |
34 | ||
35 | AC_CANONICAL_HOST | |
36 | AC_PROG_LIBTOOL | |
37 | ||
38 | AC_LANG([C]) | |
39 | ||
905cb809 FDN |
40 | systemddir=${prefix}/lib/systemd/system |
41 | ||
99afbd6e FDN |
42 | if test "$prefix" = "NONE"; then |
43 | prefix="/usr" | |
44 | if test "$localstatedir" = "\${prefix}/var"; then | |
45 | localstatedir="/var" | |
46 | fi | |
47 | if test "$sysconfdir" = "\${prefix}/etc"; then | |
48 | sysconfdir="/etc" | |
49 | fi | |
905cb809 FDN |
50 | if test "$systemddir" = "NONE/lib/systemd/system"; then |
51 | systemddir=/lib/systemd/system | |
52 | fi | |
e8b52625 JF |
53 | if test "$libdir" = "\${exec_prefix}/lib"; then |
54 | if test -e /usr/lib64; then | |
55 | libdir="/usr/lib64" | |
56 | else | |
57 | libdir="/usr/lib" | |
58 | fi | |
59 | fi | |
99afbd6e FDN |
60 | fi |
61 | ||
5842a2f9 | 62 | AC_PROG_AWK |
e3683ec7 FDN |
63 | AC_PROG_GREP |
64 | AC_PROG_SED | |
5842a2f9 | 65 | AC_PROG_CPP |
99afbd6e | 66 | AC_PROG_CC |
dd8bbbde FDN |
67 | AC_PROG_CC_C99 |
68 | if test "x$ac_cv_prog_cc_c99" = "xno"; then | |
69 | AC_MSG_ERROR(["C99 support is required"]) | |
70 | fi | |
99afbd6e FDN |
71 | AC_PROG_LN_S |
72 | AC_PROG_INSTALL | |
73 | AC_PROG_MAKE_SET | |
9e569a13 | 74 | PKG_PROG_PKG_CONFIG |
a60241ba | 75 | AC_CHECK_PROGS([DOXYGEN], [doxygen]) |
8f114254 | 76 | |
3e776e82 FDN |
77 | AC_CHECK_PROGS([VALGRIND_EXEC], [valgrind]) |
78 | AM_CONDITIONAL([HAS_VALGRIND], [test x$VALGRIND_EXEC != "x"]) | |
99afbd6e | 79 | |
f3396d98 FW |
80 | # KNET_OPTION_DEFINES(stem,type,detection code) |
81 | # stem: enters name of option, Automake conditional and preprocessor define | |
82 | # type: compress or crypto, determines where the default comes from | |
83 | AC_DEFUN([KNET_OPTION_DEFINES],[ | |
84 | AC_ARG_ENABLE([$2-$1],[AS_HELP_STRING([--disable-$2-$1],[disable libknet $1 support])],, | |
85 | [enable_$2_$1="$enable_$2_all"]) | |
86 | AM_CONDITIONAL([BUILD_]m4_toupper([$2_$1]),[test "x$enable_$2_$1" = xyes]) | |
87 | if test "x$enable_$2_$1" = xyes; then | |
88 | $3 | |
89 | fi | |
90 | AC_DEFINE_UNQUOTED([WITH_]m4_toupper([$2_$1]), [`test "x$enable_$2_$1" != xyes; echo $?`], $1 $2 [built in]) | |
91 | ]) | |
92 | ||
43bd160d | 93 | AC_ARG_ENABLE([libknet-sctp], |
f58d6934 | 94 | [AS_HELP_STRING([--disable-libknet-sctp],[disable libknet SCTP support])],, |
43bd160d | 95 | [ enable_libknet_sctp="yes" ]) |
20f9cc1e | 96 | AM_CONDITIONAL([BUILDSCTP], [test x$enable_libknet_sctp = xyes]) |
43bd160d | 97 | |
c59268f2 | 98 | AC_ARG_ENABLE([crypto-all], |
f58d6934 | 99 | [AS_HELP_STRING([--disable-crypto-all],[disable libknet all crypto modules support])],, |
c59268f2 FDN |
100 | [ enable_crypto_all="yes" ]) |
101 | ||
f3396d98 FW |
102 | KNET_OPTION_DEFINES([nss],[crypto],[PKG_CHECK_MODULES([nss], [nss])]) |
103 | KNET_OPTION_DEFINES([openssl],[crypto],[ | |
104 | PKG_CHECK_MODULES([openssl],[libcrypto < 1.1], | |
105 | [AC_DEFINE_UNQUOTED([BUILDCRYPTOOPENSSL10], [1], [openssl 1.0 crypto])], | |
106 | [PKG_CHECK_MODULES([openssl],[libcrypto >= 1.1], | |
107 | [AC_DEFINE_UNQUOTED([BUILDCRYPTOOPENSSL11], [1], [openssl 1.1 crypto])])]) | |
108 | ]) | |
109 | ||
7322344c | 110 | AC_ARG_ENABLE([compress-all], |
f58d6934 | 111 | [AS_HELP_STRING([--disable-compress-all],[disable libknet all compress modules support])],, |
7322344c FDN |
112 | [ enable_compress_all="yes" ]) |
113 | ||
f3396d98 FW |
114 | KNET_OPTION_DEFINES([zlib],[compress],[PKG_CHECK_MODULES([zlib], [zlib])]) |
115 | KNET_OPTION_DEFINES([lz4],[compress],[PKG_CHECK_MODULES([liblz4], [liblz4])]) | |
116 | KNET_OPTION_DEFINES([lzo2],[compress],[ | |
718c0ae7 FW |
117 | PKG_CHECK_MODULES([lzo2], [lzo2], |
118 | [# work around broken pkg-config file in v2.10 | |
119 | AC_SUBST([lzo2_CFLAGS],[`echo $lzo2_CFLAGS | sed 's,/lzo *, ,'`])], | |
f3396d98 FW |
120 | [AC_CHECK_HEADERS([lzo/lzo1x.h], |
121 | [AC_CHECK_LIB([lzo2], [lzo1x_decompress_safe], | |
122 | [AC_SUBST([lzo2_LIBS], [-llzo2])])], | |
123 | [AC_MSG_ERROR(["missing required lzo/lzo1x.h header"])])]) | |
124 | ]) | |
125 | KNET_OPTION_DEFINES([lzma],[compress],[PKG_CHECK_MODULES([liblzma], [liblzma])]) | |
126 | KNET_OPTION_DEFINES([bzip2],[compress],[ | |
127 | PKG_CHECK_MODULES([bzip2], [bzip2],, | |
128 | [AC_CHECK_HEADERS([bzlib.h], | |
129 | [AC_CHECK_LIB([bz2], [BZ2_bzBuffToBuffCompress], | |
130 | [AC_SUBST([bzip2_LIBS], [-lbz2])])], | |
131 | [AC_MSG_ERROR(["missing required bzlib.h"])])]) | |
132 | ]) | |
133 | ||
1c75eb10 | 134 | AC_ARG_ENABLE([poc], |
f58d6934 | 135 | [AS_HELP_STRING([--enable-poc],[enable building poc code])],, |
89c58e91 | 136 | [ enable_poc="no" ]) |
5449d795 | 137 | AM_CONDITIONAL([BUILD_POC], [test x$enable_poc = xyes]) |
1c75eb10 | 138 | |
ace7cd0e | 139 | AC_ARG_ENABLE([kronosnetd], |
f58d6934 | 140 | [AS_HELP_STRING([--enable-kronosnetd],[Kronosnetd support])],, |
226e5109 | 141 | [ enable_kronosnetd="no" ]) |
5449d795 | 142 | AM_CONDITIONAL([BUILD_KRONOSNETD], [test x$enable_kronosnetd = xyes]) |
ace7cd0e | 143 | |
8f8384a0 | 144 | AC_ARG_ENABLE([runautogen], |
f58d6934 | 145 | [AS_HELP_STRING([--enable-runautogen],[run autogen.sh])],, |
8f8384a0 BL |
146 | [ enable_runautogen="no" ]) |
147 | AM_CONDITIONAL([BUILD_RUNAUTOGEN], [test x$enable_runautogen = xyes]) | |
148 | ||
73677ca3 BL |
149 | override_rpm_debuginfo_option="yes" |
150 | AC_ARG_ENABLE([rpm-debuginfo], | |
151 | [AS_HELP_STRING([--enable-rpm-debuginfo],[build debuginfo packages])],, | |
152 | [ enable_rpm_debuginfo="no", override_rpm_debuginfo_option="no" ]) | |
153 | AM_CONDITIONAL([BUILD_RPM_DEBUGINFO], [test x$enable_rpm_debuginfo = xyes]) | |
154 | AM_CONDITIONAL([OVERRIDE_RPM_DEBUGINFO], [test x$override_rpm_debuginfo_option = xyes]) | |
155 | ||
ace7cd0e | 156 | AC_ARG_ENABLE([libtap], |
f58d6934 | 157 | [AS_HELP_STRING([--enable-libtap],[libtap support])],, |
226e5109 | 158 | [ enable_libtap="no" ]) |
58b997ce CC |
159 | |
160 | if test "x$enable_kronosnetd" = xyes; then | |
226e5109 | 161 | enable_libtap=yes |
58b997ce | 162 | fi |
5449d795 | 163 | AM_CONDITIONAL([BUILD_LIBTAP], [test x$enable_libtap = xyes]) |
ace7cd0e | 164 | |
99afbd6e FDN |
165 | ## local helper functions |
166 | # this function checks if CC support options passed as | |
6754dbab | 167 | # args. Global CPPFLAGS are ignored during this test. |
99afbd6e | 168 | cc_supports_flag() { |
ae9ebb47 FDN |
169 | saveCPPFLAGS="$CPPFLAGS" |
170 | CPPFLAGS="$@" | |
30f44d00 FDN |
171 | if echo $CC | grep -q clang; then |
172 | CPPFLAGS="-Werror $CPPFLAGS" | |
173 | fi | |
99afbd6e | 174 | AC_MSG_CHECKING([whether $CC supports "$@"]) |
ae9ebb47 | 175 | AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])], |
99afbd6e FDN |
176 | [RC=0; AC_MSG_RESULT([yes])], |
177 | [RC=1; AC_MSG_RESULT([no])]) | |
ae9ebb47 | 178 | CPPFLAGS="$saveCPPFLAGS" |
99afbd6e FDN |
179 | return $RC |
180 | } | |
181 | ||
c3776828 FDN |
182 | # Checks for C features |
183 | AC_C_INLINE | |
184 | ||
99afbd6e | 185 | # Checks for libraries. |
2b1072db | 186 | AX_PTHREAD(,[AC_MSG_ERROR([POSIX threads support is required])]) |
4d137be1 | 187 | AC_CHECK_LIB([m], [ceil], [AC_SUBST([m_LIBS], [-lm])], [AC_MSG_ERROR([kronosnet requires m library])]) |
c1effb8a FW |
188 | saved_LIBS="$LIBS" |
189 | LIBS= | |
190 | AC_SEARCH_LIBS([clock_gettime], [rt], , [AC_MSG_ERROR([clock_gettime not found])]) | |
191 | AC_SUBST([rt_LIBS], [$LIBS]) | |
3cc6b180 FW |
192 | LIBS= |
193 | AC_SEARCH_LIBS([dlopen], [dl dld], , [AC_MSG_ERROR([dlopen not found])]) | |
194 | AC_SUBST([dl_LIBS], [$LIBS]) | |
c1effb8a | 195 | LIBS="$saved_LIBS" |
99afbd6e | 196 | |
c296433f FDN |
197 | # OS detection |
198 | ||
199 | AC_MSG_CHECKING([for os in ${host_os}]) | |
200 | case "$host_os" in | |
201 | *linux*) | |
202 | AC_DEFINE_UNQUOTED([KNET_LINUX], [1], [Compiling for Linux platform]) | |
203 | AC_MSG_RESULT([Linux]) | |
204 | ;; | |
205 | *bsd*) | |
206 | AC_DEFINE_UNQUOTED([KNET_BSD], [1], [Compiling for BSD platform]) | |
207 | AC_MSG_RESULT([BSD]) | |
208 | if test "x$enable_libtap" = xyes; then | |
209 | AC_MSG_ERROR([libtap is not currently supported on BSD platforms]) | |
210 | fi | |
211 | ;; | |
212 | *) | |
213 | AC_MSG_ERROR([Unsupported OS? hmmmm]) | |
214 | ;; | |
215 | esac | |
216 | ||
99afbd6e | 217 | # Checks for header files. |
bba2a8d7 FDN |
218 | AC_CHECK_HEADERS([fcntl.h]) |
219 | AC_CHECK_HEADERS([stdlib.h]) | |
220 | AC_CHECK_HEADERS([string.h]) | |
5842a2f9 | 221 | AC_CHECK_HEADERS([strings.h]) |
bba2a8d7 FDN |
222 | AC_CHECK_HEADERS([sys/ioctl.h]) |
223 | AC_CHECK_HEADERS([syslog.h]) | |
224 | AC_CHECK_HEADERS([unistd.h]) | |
6d727d3c FDN |
225 | AC_CHECK_HEADERS([netinet/in.h]) |
226 | AC_CHECK_HEADERS([sys/socket.h]) | |
c3776828 | 227 | AC_CHECK_HEADERS([arpa/inet.h]) |
521b047e | 228 | AC_CHECK_HEADERS([netdb.h]) |
ba6bc349 | 229 | AC_CHECK_HEADERS([limits.h]) |
5842a2f9 | 230 | AC_CHECK_HEADERS([stdint.h]) |
3a50d466 | 231 | AC_CHECK_HEADERS([sys/epoll.h]) |
d75f2295 FDN |
232 | |
233 | if test "x$enable_libknet_sctp" = xyes; then | |
fd28a29f | 234 | AC_CHECK_HEADERS([netinet/sctp.h],, [AC_MSG_ERROR(["missing required SCTP headers"])]) |
d75f2295 | 235 | fi |
99afbd6e FDN |
236 | |
237 | # Checks for typedefs, structures, and compiler characteristics. | |
5842a2f9 | 238 | AC_C_INLINE |
bba2a8d7 | 239 | AC_TYPE_SIZE_T |
6d727d3c | 240 | AC_TYPE_PID_T |
c3776828 | 241 | AC_TYPE_SSIZE_T |
31f37826 | 242 | AC_TYPE_UINT8_T |
c3776828 FDN |
243 | AC_TYPE_UINT16_T |
244 | AC_TYPE_UINT32_T | |
efc95595 FDN |
245 | AC_TYPE_UINT64_T |
246 | AC_TYPE_INT32_T | |
99afbd6e FDN |
247 | |
248 | # Checks for library functions. | |
6d727d3c FDN |
249 | AC_FUNC_ALLOCA |
250 | AC_FUNC_FORK | |
251 | AC_FUNC_MALLOC | |
252 | AC_FUNC_REALLOC | |
f762bb6e | 253 | AC_CHECK_FUNCS([kevent]) |
3a50d466 FDN |
254 | # if neither sys/epoll.h nor kevent are present, we should fail. |
255 | ||
256 | if test "x$ac_cv_header_sys_epoll_h" = xno && test "x$ac_cv_func_kevent" = xno; then | |
257 | AC_MSG_ERROR([Both epoll and kevent unavailable on this OS]) | |
258 | fi | |
259 | ||
260 | if test "x$ac_cv_header_sys_epoll_h" = xyes && test "x$ac_cv_func_kevent" = xyes; then | |
261 | AC_MSG_ERROR([Both epoll and kevent available on this OS, please contact the maintainers to fix the code]) | |
262 | fi | |
71fd62d6 | 263 | |
ad333231 FDN |
264 | # required by doxyman to build man pages dynamically |
265 | PKG_CHECK_MODULES([libqb], [libqb]) | |
266 | PKG_CHECK_MODULES([libxml], [libxml-2.0]) | |
267 | ||
fa8c7f32 | 268 | # checks (for kronosnetd) |
ace7cd0e | 269 | if test "x$enable_kronosnetd" = xyes; then |
226e5109 | 270 | AC_CHECK_HEADERS([security/pam_appl.h], |
26fe18aa FW |
271 | [AC_CHECK_LIB([pam], [pam_start], |
272 | [AC_SUBST([pam_LIBS], [-lpam])], | |
273 | [AC_MSG_ERROR([Unable to find LinuxPAM devel files])])]) | |
e311acaa | 274 | |
226e5109 | 275 | AC_CHECK_HEADERS([security/pam_misc.h], |
26fe18aa FW |
276 | [AC_CHECK_LIB([pam_misc], [misc_conv], |
277 | [AC_SUBST([pam_misc_LIBS], [-lpam_misc])], | |
278 | [AC_MSG_ERROR([Unable to find LinuxPAM MISC devel files])])]) | |
38cb1bb7 | 279 | |
226e5109 FDN |
280 | AC_CHECK_LIB([qb], [qb_log_thread_priority_set], |
281 | [have_qb_log_thread_priority_set="yes"], | |
282 | [have_qb_log_thread_priority_set="no"]) | |
283 | if test "x${have_qb_log_thread_priority_set}" = xyes; then | |
284 | AC_DEFINE_UNQUOTED([HAVE_QB_LOG_THREAD_PRIORITY_SET], [1], [have qb_log_thread_priority_set]) | |
285 | fi | |
ace7cd0e | 286 | fi |
38cb1bb7 | 287 | |
99afbd6e FDN |
288 | # local options |
289 | AC_ARG_ENABLE([debug], | |
967ee0b3 | 290 | [AS_HELP_STRING([--enable-debug],[enable debug build])]) |
99afbd6e | 291 | |
2e687dd8 | 292 | AC_ARG_WITH([initdefaultdir], |
f58d6934 | 293 | [AS_HELP_STRING([--with-initdefaultdir=DIR],[path to /etc/sysconfig or /etc/default dir])], |
2e687dd8 FDN |
294 | [ INITDEFAULTDIR="$withval" ], |
295 | [ INITDEFAULTDIR="$sysconfdir/default" ]) | |
296 | ||
0472de45 | 297 | AC_ARG_WITH([initddir], |
f58d6934 | 298 | [AS_HELP_STRING([--with-initddir=DIR],[path to init script directory])], |
0472de45 FDN |
299 | [ INITDDIR="$withval" ], |
300 | [ INITDDIR="$sysconfdir/init.d" ]) | |
301 | ||
302 | AC_ARG_WITH([systemddir], | |
f58d6934 | 303 | [AS_HELP_STRING([--with-systemddir=DIR],[path to systemd unit files directory])], |
0472de45 | 304 | [ SYSTEMDDIR="$withval" ], |
905cb809 | 305 | [ SYSTEMDDIR="$systemddir" ]) |
0472de45 | 306 | |
99afbd6e | 307 | AC_ARG_WITH([syslogfacility], |
f58d6934 | 308 | [AS_HELP_STRING([--with-syslogfacility=FACILITY],[default syslog facility])], |
99afbd6e | 309 | [ SYSLOGFACILITY="$withval" ], |
2d022f7f | 310 | [ SYSLOGFACILITY="LOG_DAEMON" ]) |
99afbd6e FDN |
311 | |
312 | AC_ARG_WITH([sysloglevel], | |
f58d6934 | 313 | [AS_HELP_STRING([--with-sysloglevel=LEVEL],[default syslog level])], |
99afbd6e FDN |
314 | [ SYSLOGLEVEL="$withval" ], |
315 | [ SYSLOGLEVEL="LOG_INFO" ]) | |
316 | ||
e3aa8728 | 317 | AC_ARG_WITH([defaultadmgroup], |
f58d6934 FW |
318 | [AS_HELP_STRING([--with-defaultadmgroup=GROUP], |
319 | [define PAM group. Users part of this group will be allowed to configure | |
320 | kronosnet. Others will only receive read-only rights.])], | |
e3aa8728 FDN |
321 | [ DEFAULTADMGROUP="$withval" ], |
322 | [ DEFAULTADMGROUP="kronosnetadm" ]) | |
323 | ||
99afbd6e FDN |
324 | ## random vars |
325 | LOGDIR=${localstatedir}/log/ | |
326 | RUNDIR=${localstatedir}/run/ | |
afce19e1 | 327 | DEFAULT_CONFIG_DIR=${sysconfdir}/kronosnet |
99afbd6e FDN |
328 | |
329 | ## do subst | |
330 | ||
afce19e1 | 331 | AC_SUBST([DEFAULT_CONFIG_DIR]) |
2e687dd8 | 332 | AC_SUBST([INITDEFAULTDIR]) |
0472de45 FDN |
333 | AC_SUBST([INITDDIR]) |
334 | AC_SUBST([SYSTEMDDIR]) | |
b386f39b | 335 | AC_SUBST([LOGDIR]) |
2e687dd8 | 336 | AC_SUBST([DEFAULTADMGROUP]) |
0472de45 | 337 | |
4fc6106b FDN |
338 | AC_DEFINE_UNQUOTED([DEFAULT_CONFIG_DIR], |
339 | ["$(eval echo ${DEFAULT_CONFIG_DIR})"], | |
afce19e1 FDN |
340 | [Default config directory]) |
341 | ||
342 | AC_DEFINE_UNQUOTED([DEFAULT_CONFIG_FILE], | |
4fc6106b | 343 | ["$(eval echo ${DEFAULT_CONFIG_DIR}/kronosnetd.conf)"], |
99afbd6e FDN |
344 | [Default config file]) |
345 | ||
4fc6106b FDN |
346 | AC_DEFINE_UNQUOTED([LOGDIR], |
347 | ["$(eval echo ${LOGDIR})"], | |
99afbd6e FDN |
348 | [Default logging directory]) |
349 | ||
2d022f7f | 350 | AC_DEFINE_UNQUOTED([DEFAULT_LOG_FILE], |
4fc6106b | 351 | ["$(eval echo ${LOGDIR}/kronosnetd.log)"], |
2d022f7f FDN |
352 | [Default log file]) |
353 | ||
4fc6106b FDN |
354 | AC_DEFINE_UNQUOTED([RUNDIR], |
355 | ["$(eval echo ${RUNDIR})"], | |
99afbd6e FDN |
356 | [Default run directory]) |
357 | ||
4fc6106b FDN |
358 | AC_DEFINE_UNQUOTED([SYSLOGFACILITY], |
359 | [$(eval echo ${SYSLOGFACILITY})], | |
99afbd6e FDN |
360 | [Default syslog facility]) |
361 | ||
4fc6106b FDN |
362 | AC_DEFINE_UNQUOTED([SYSLOGLEVEL], |
363 | [$(eval echo ${SYSLOGLEVEL})], | |
99afbd6e FDN |
364 | [Default syslog level]) |
365 | ||
4fc6106b FDN |
366 | AC_DEFINE_UNQUOTED([DEFAULTADMGROUP], |
367 | ["$(eval echo ${DEFAULTADMGROUP})"], | |
e3aa8728 FDN |
368 | [Default admin group]) |
369 | ||
99afbd6e FDN |
370 | ## *FLAGS handling |
371 | ENV_CFLAGS="$CFLAGS" | |
99afbd6e FDN |
372 | |
373 | # debug build stuff | |
374 | if test "x${enable_debug}" = xyes; then | |
375 | AC_DEFINE_UNQUOTED([DEBUG], [1], [Compiling Debugging code]) | |
376 | OPT_CFLAGS="-O0" | |
377 | else | |
378 | OPT_CFLAGS="-O3" | |
379 | fi | |
380 | ||
381 | # gdb flags | |
382 | if test "x${GCC}" = xyes; then | |
383 | GDB_FLAGS="-ggdb3" | |
384 | else | |
385 | GDB_FLAGS="-g" | |
386 | fi | |
387 | ||
388 | # extra warnings | |
389 | EXTRA_WARNINGS="" | |
390 | ||
391 | WARNLIST=" | |
392 | all | |
0dbd680b MJ |
393 | extra |
394 | unused | |
99afbd6e FDN |
395 | shadow |
396 | missing-prototypes | |
397 | missing-declarations | |
0dbd680b MJ |
398 | suggest-attribute=noreturn |
399 | suggest-attribute=format | |
99afbd6e FDN |
400 | strict-prototypes |
401 | declaration-after-statement | |
402 | pointer-arith | |
403 | write-strings | |
404 | cast-align | |
405 | bad-function-cast | |
406 | missing-format-attribute | |
0dbd680b | 407 | float-equal |
99afbd6e | 408 | format=2 |
fb2cc79f | 409 | format-signedness |
99afbd6e FDN |
410 | format-security |
411 | format-nonliteral | |
412 | no-long-long | |
413 | unsigned-char | |
414 | gnu89-inline | |
415 | no-strict-aliasing | |
416 | error | |
ade3159b FDN |
417 | address |
418 | cpp | |
ade3159b FDN |
419 | overflow |
420 | parentheses | |
421 | sequence-point | |
422 | switch | |
0dbd680b MJ |
423 | shift-overflow=2 |
424 | overlength-strings | |
425 | retundent-decls | |
426 | init-self | |
ade3159b FDN |
427 | uninitialized |
428 | unused-but-set-variable | |
429 | unused-function | |
430 | unused-result | |
431 | unused-value | |
432 | unused-variable | |
0dbd680b MJ |
433 | unknown-pragmas |
434 | no-unused-parameter | |
99afbd6e FDN |
435 | " |
436 | ||
437 | for j in $WARNLIST; do | |
438 | if cc_supports_flag -W$j; then | |
439 | EXTRA_WARNINGS="$EXTRA_WARNINGS -W$j"; | |
440 | fi | |
441 | done | |
442 | ||
ae9ebb47 | 443 | CFLAGS="$ENV_CFLAGS $lt_prog_compiler_pic $OPT_CFLAGS $GDB_FLAGS \ |
99afbd6e | 444 | $EXTRA_WARNINGS $WERROR_CFLAGS" |
99afbd6e | 445 | |
19ceca42 FDN |
446 | AC_CONFIG_FILES([ |
447 | Makefile | |
0472de45 | 448 | init/Makefile |
5d4a4eec FDN |
449 | libtap/Makefile |
450 | libtap/libtap.pc | |
4aa63ad7 | 451 | kronosnetd/Makefile |
b386f39b | 452 | kronosnetd/kronosnetd.logrotate |
10244a3f FS |
453 | libknet/Makefile |
454 | libknet/libknet.pc | |
a86247e6 | 455 | libknet/tests/Makefile |
8f114254 FDN |
456 | libknet/man/Doxyfile |
457 | libknet/man/Makefile | |
ad333231 | 458 | build-aux/Makefile |
7368d54c | 459 | poc-code/Makefile |
77213908 | 460 | poc-code/iov-hash/Makefile |
712dee58 | 461 | poc-code/access-list/Makefile |
19ceca42 | 462 | ]) |
99afbd6e FDN |
463 | |
464 | AC_OUTPUT |