]> git.proxmox.com Git - mirror_kronosnet.git/blame - configure.ac
build: clock_gettime does not require the rt library for glibc 2.17+
[mirror_kronosnet.git] / configure.ac
CommitLineData
ab4c538f 1#
20f9cc1e 2# Copyright (C) 2010-2017 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
14AC_PREREQ([2.63])
07072a06
FDN
15AC_INIT([kronosnet],
16 m4_esyscmd([build-aux/git-version-gen .tarball-version]),
17 [devel@lists.kronosnet.org])
4359cb72 18AC_USE_SYSTEM_EXTENSIONS
9f9883b1 19AM_INIT_AUTOMAKE([1.13 dist-bzip2 dist-xz color-tests -Wno-portability subdir-objects])
99afbd6e
FDN
20LT_PREREQ([2.2.6])
21LT_INIT
22
23AC_CONFIG_MACRO_DIR([m4])
4aa63ad7 24AC_CONFIG_SRCDIR([kronosnetd/main.c])
99afbd6e
FDN
25AC_CONFIG_HEADERS([config.h])
26
27AC_CANONICAL_HOST
28AC_PROG_LIBTOOL
29
30AC_LANG([C])
31
905cb809
FDN
32systemddir=${prefix}/lib/systemd/system
33
99afbd6e
FDN
34if test "$prefix" = "NONE"; then
35 prefix="/usr"
36 if test "$localstatedir" = "\${prefix}/var"; then
37 localstatedir="/var"
38 fi
39 if test "$sysconfdir" = "\${prefix}/etc"; then
40 sysconfdir="/etc"
41 fi
905cb809
FDN
42 if test "$systemddir" = "NONE/lib/systemd/system"; then
43 systemddir=/lib/systemd/system
44 fi
e8b52625
JF
45 if test "$libdir" = "\${exec_prefix}/lib"; then
46 if test -e /usr/lib64; then
47 libdir="/usr/lib64"
48 else
49 libdir="/usr/lib"
50 fi
51 fi
99afbd6e
FDN
52fi
53
5842a2f9 54AC_PROG_AWK
e3683ec7
FDN
55AC_PROG_GREP
56AC_PROG_SED
5842a2f9 57AC_PROG_CPP
99afbd6e 58AC_PROG_CC
dd8bbbde
FDN
59AC_PROG_CC_C99
60if test "x$ac_cv_prog_cc_c99" = "xno"; then
61 AC_MSG_ERROR(["C99 support is required"])
62fi
99afbd6e
FDN
63AC_PROG_LN_S
64AC_PROG_INSTALL
65AC_PROG_MAKE_SET
9e569a13 66PKG_PROG_PKG_CONFIG
a60241ba 67AC_CHECK_PROGS([DOXYGEN], [doxygen])
a60241ba 68AC_CHECK_PROGS([DOXY2MAN], [doxy2man])
8f114254
FDN
69
70manpageupdates=1
71if test "x$DOXYGEN" = "x" || test "x$DOXY2MAN" = "x"; then
72 manpageupdates=0;
a60241ba 73fi
8f114254
FDN
74
75AM_CONDITIONAL([MANPAGEUPDATES], [test $manpageupdates -gt 0])
76
3e776e82
FDN
77AC_CHECK_PROGS([VALGRIND_EXEC], [valgrind])
78AM_CONDITIONAL([HAS_VALGRIND], [test x$VALGRIND_EXEC != "x"])
99afbd6e 79
43bd160d
FDN
80AC_ARG_ENABLE([libknet-sctp],
81 [ --disable-libknet-sctp : disable libknet SCTP support ],,
82 [ enable_libknet_sctp="yes" ])
20f9cc1e 83AM_CONDITIONAL([BUILDSCTP], [test x$enable_libknet_sctp = xyes])
43bd160d 84
c59268f2
FDN
85AC_ARG_ENABLE([crypto-all],
86 [ --disable-crypto-all : disable libknet all crypto modules support ],,
87 [ enable_crypto_all="yes" ])
88
89AC_ARG_ENABLE([crypto-nss],
90 [ --disable-crypto-nss : disable libknet nss support ],,
91 [ enable_crypto_nss="$enable_crypto_all" ])
20f9cc1e 92AM_CONDITIONAL([BUILDCRYPTONSS], [test x$enable_crypto_nss = xyes])
c59268f2 93
62c0a9f9
FDN
94AC_ARG_ENABLE([crypto-openssl],
95 [ --disable-crypto-openssl : disable libknet openssl support ],,
96 [ enable_crypto_openssl="$enable_crypto_all" ])
97AM_CONDITIONAL([BUILDCRYPTOOPENSSL], [test x$enable_crypto_openssl = xyes])
98
7322344c 99AC_ARG_ENABLE([compress-all],
c59268f2 100 [ --disable-compress-all : disable libknet all compress modules support ],,
7322344c
FDN
101 [ enable_compress_all="yes" ])
102
226e5109
FDN
103AC_ARG_ENABLE([compress-zlib],
104 [ --disable-compress-zlib : disable libknet zlib support ],,
7322344c 105 [ enable_compress_zlib="$enable_compress_all" ])
20f9cc1e 106AM_CONDITIONAL([BUILDCOMPZLIB], [test x$enable_compress_zlib = xyes])
226e5109
FDN
107
108AC_ARG_ENABLE([compress-lz4],
109 [ --disable-compress-lz4 : disable libknet lz4 support ],,
7322344c 110 [ enable_compress_lz4="$enable_compress_all" ])
20f9cc1e 111AM_CONDITIONAL([BUILDCOMPLZ4], [test x$enable_compress_lz4 = xyes])
226e5109
FDN
112
113AC_ARG_ENABLE([compress-lzo2],
114 [ --disable-compress-lzo2 : disable libknet lzo2 support ],,
7322344c 115 [ enable_compress_lzo2="$enable_compress_all" ])
20f9cc1e 116AM_CONDITIONAL([BUILDCOMPLZO2], [test x$enable_compress_lzo2 = xyes])
226e5109
FDN
117
118AC_ARG_ENABLE([compress-lzma],
119 [ --disable-compress-lzma : disable libknet lzma support ],,
7322344c 120 [ enable_compress_lzma="$enable_compress_all" ])
20f9cc1e 121AM_CONDITIONAL([BUILDCOMPLZMA], [test x$enable_compress_lzma = xyes])
226e5109
FDN
122
123AC_ARG_ENABLE([compress-bzip2],
124 [ --disable-compress-bzip2 : disable libknet bzip2 support ],,
7322344c 125 [ enable_compress_bzip2="$enable_compress_all" ])
20f9cc1e 126AM_CONDITIONAL([BUILDCOMPBZIP2], [test x$enable_compress_bzip2 = xyes])
226e5109 127
1c75eb10 128AC_ARG_ENABLE([poc],
11223d55 129 [ --enable-poc : enable building poc code ],,
89c58e91 130 [ enable_poc="no" ])
5449d795 131AM_CONDITIONAL([BUILD_POC], [test x$enable_poc = xyes])
1c75eb10 132
ace7cd0e 133AC_ARG_ENABLE([kronosnetd],
226e5109
FDN
134 [ --enable-kronosnetd : Kronosnetd support ],,
135 [ enable_kronosnetd="no" ])
5449d795 136AM_CONDITIONAL([BUILD_KRONOSNETD], [test x$enable_kronosnetd = xyes])
ace7cd0e 137
8f8384a0
BL
138AC_ARG_ENABLE([runautogen],
139 [ --enable-runautogen : run autogen.sh ],,
140 [ enable_runautogen="no" ])
141AM_CONDITIONAL([BUILD_RUNAUTOGEN], [test x$enable_runautogen = xyes])
142
ace7cd0e 143AC_ARG_ENABLE([libtap],
226e5109
FDN
144 [ --enable-libtap : libtap support ],,
145 [ enable_libtap="no" ])
58b997ce
CC
146
147if test "x$enable_kronosnetd" = xyes; then
226e5109 148 enable_libtap=yes
58b997ce 149fi
5449d795 150AM_CONDITIONAL([BUILD_LIBTAP], [test x$enable_libtap = xyes])
ace7cd0e 151
99afbd6e
FDN
152## local helper functions
153# this function checks if CC support options passed as
154# args. Global CFLAGS are ignored during this test.
155cc_supports_flag() {
ae9ebb47
FDN
156 saveCPPFLAGS="$CPPFLAGS"
157 CPPFLAGS="$@"
30f44d00
FDN
158 if echo $CC | grep -q clang; then
159 CPPFLAGS="-Werror $CPPFLAGS"
160 fi
99afbd6e 161 AC_MSG_CHECKING([whether $CC supports "$@"])
ae9ebb47 162 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])],
99afbd6e
FDN
163 [RC=0; AC_MSG_RESULT([yes])],
164 [RC=1; AC_MSG_RESULT([no])])
ae9ebb47 165 CPPFLAGS="$saveCPPFLAGS"
99afbd6e
FDN
166 return $RC
167}
168
169# helper macro to check libs without adding them to LIBS
170check_lib_no_libs() {
171 lib_no_libs_arg1=$1
172 shift
173 lib_no_libs_arg2=$1
174 shift
175 lib_no_libs_args=$@
176 AC_CHECK_LIB([$lib_no_libs_arg1],
177 [$lib_no_libs_arg2],,,
178 [$lib_no_libs_args])
179 LIBS=$ac_check_lib_save_LIBS
180}
181
c3776828
FDN
182# Checks for C features
183AC_C_INLINE
184
99afbd6e 185# Checks for libraries.
516a47e6 186AC_CHECK_LIB([pthread], [pthread_create], [AC_SUBST([pthread_LIBS], [-lpthread])], [AC_MSG_ERROR([kronosnet requires pthread library])])
4d137be1 187AC_CHECK_LIB([m], [ceil], [AC_SUBST([m_LIBS], [-lm])], [AC_MSG_ERROR([kronosnet requires m library])])
c1effb8a
FW
188saved_LIBS="$LIBS"
189LIBS=
190AC_SEARCH_LIBS([clock_gettime], [rt], , [AC_MSG_ERROR([clock_gettime not found])])
191AC_SUBST([rt_LIBS], [$LIBS])
192LIBS="$saved_LIBS"
99afbd6e 193
e6459532
FDN
194AC_SEARCH_LIBS([dlopen], [dl dld], [dllibs=$ac_res], [AC_MSG_ERROR([kronosnet requires dl library])])
195
196if test "x$dllibs" != "xnone required"; then
197 AC_SUBST([dl_LIBS], [$dllibs])
198fi
b0aab085 199
c296433f
FDN
200# OS detection
201
202AC_MSG_CHECKING([for os in ${host_os}])
203case "$host_os" in
204 *linux*)
205 AC_DEFINE_UNQUOTED([KNET_LINUX], [1], [Compiling for Linux platform])
206 AC_MSG_RESULT([Linux])
207 ;;
208 *bsd*)
209 AC_DEFINE_UNQUOTED([KNET_BSD], [1], [Compiling for BSD platform])
210 AC_MSG_RESULT([BSD])
211 if test "x$enable_libtap" = xyes; then
212 AC_MSG_ERROR([libtap is not currently supported on BSD platforms])
213 fi
214 ;;
215 *)
216 AC_MSG_ERROR([Unsupported OS? hmmmm])
217 ;;
218esac
219
2052faab 220# crypto libraries checks
c59268f2
FDN
221if test "x$enable_crypto_nss" = xyes; then
222 PKG_CHECK_MODULES([nss],[nss])
223 AC_DEFINE_UNQUOTED([BUILDCRYPTONSS], [1], [Enable nss crypto])
224fi
56407f26 225
62c0a9f9 226if test "x$enable_crypto_openssl" = xyes; then
d523b400 227 PKG_CHECK_MODULES([openssl],[libcrypto < 1.1],
0678b5c2 228 [AC_DEFINE_UNQUOTED([BUILDCRYPTOOPENSSL10], [1], [openssl 1.0 crypto])],
d523b400 229 [PKG_CHECK_MODULES([openssl],[libcrypto >= 1.1],
0678b5c2 230 [AC_DEFINE_UNQUOTED([BUILDCRYPTOOPENSSL11], [1], [openssl 1.1 crypto])])])
62c0a9f9
FDN
231 AC_DEFINE_UNQUOTED([BUILDCRYPTOOPENSSL], [1], [Enable openssl crypto])
232fi
233
2052faab 234# compress libraries checks
7322344c
FDN
235if test "x$enable_compress_zlib" = xyes; then
236 PKG_CHECK_MODULES([zlib], [zlib])
237 AC_DEFINE_UNQUOTED([BUILDCOMPZLIB], [1], [Enable zlib compression])
238fi
239if test "x$enable_compress_lz4" = xyes; then
240 PKG_CHECK_MODULES([liblz4], [liblz4])
241 AC_DEFINE_UNQUOTED([BUILDCOMPLZ4], [1], [Enable lz4 compress])
242fi
243if test "x$enable_compress_lzo2" = xyes; then
244 PKG_CHECK_MODULES([lzo2], [lzo2],,
245 [AC_CHECK_HEADERS([lzo/lzo1x.h],
246 [AC_CHECK_LIB([lzo2], [lzo1x_decompress_safe],
247 [AC_SUBST([lzo2_LIBS], [-llzo2])])],
248 [AC_MSG_ERROR(["missing required lzo/lzo1x.h header"])])])
249 AC_DEFINE_UNQUOTED([BUILDCOMPLZO2], [1], [Enable lzo2 compress])
250fi
251if test "x$enable_compress_lzma" = xyes; then
252 PKG_CHECK_MODULES([liblzma], [liblzma])
253 AC_DEFINE_UNQUOTED([BUILDCOMPLZMA], [1], [Enable lzma compress])
254fi
255if test "x$enable_compress_bzip2" = xyes; then
256 PKG_CHECK_MODULES([bzip2], [bzip2],,
257 [AC_CHECK_HEADERS([bzlib.h],
258 [AC_CHECK_LIB([bz2], [BZ2_bzBuffToBuffCompress],
259 [AC_SUBST([bzip2_LIBS], [-lbz2])])],
260 [AC_MSG_ERROR(["missing required bzlib.h"])])])
261 AC_DEFINE_UNQUOTED([BUILDCOMPBZIP2], [1], [Enable bzip2 compress])
226e5109 262fi
2052faab 263
99afbd6e 264# Checks for header files.
bba2a8d7
FDN
265AC_CHECK_HEADERS([fcntl.h])
266AC_CHECK_HEADERS([stdlib.h])
267AC_CHECK_HEADERS([string.h])
5842a2f9 268AC_CHECK_HEADERS([strings.h])
bba2a8d7
FDN
269AC_CHECK_HEADERS([sys/ioctl.h])
270AC_CHECK_HEADERS([syslog.h])
271AC_CHECK_HEADERS([unistd.h])
6d727d3c
FDN
272AC_CHECK_HEADERS([netinet/in.h])
273AC_CHECK_HEADERS([sys/socket.h])
c3776828 274AC_CHECK_HEADERS([arpa/inet.h])
521b047e 275AC_CHECK_HEADERS([netdb.h])
ba6bc349 276AC_CHECK_HEADERS([limits.h])
5842a2f9 277AC_CHECK_HEADERS([stdint.h])
3a50d466 278AC_CHECK_HEADERS([sys/epoll.h])
d75f2295
FDN
279
280if test "x$enable_libknet_sctp" = xyes; then
fd28a29f 281 AC_CHECK_HEADERS([netinet/sctp.h],, [AC_MSG_ERROR(["missing required SCTP headers"])])
d75f2295 282fi
99afbd6e
FDN
283
284# Checks for typedefs, structures, and compiler characteristics.
5842a2f9 285AC_C_INLINE
bba2a8d7 286AC_TYPE_SIZE_T
6d727d3c 287AC_TYPE_PID_T
c3776828 288AC_TYPE_SSIZE_T
31f37826 289AC_TYPE_UINT8_T
c3776828
FDN
290AC_TYPE_UINT16_T
291AC_TYPE_UINT32_T
efc95595
FDN
292AC_TYPE_UINT64_T
293AC_TYPE_INT32_T
99afbd6e
FDN
294
295# Checks for library functions.
6d727d3c
FDN
296AC_FUNC_ALLOCA
297AC_FUNC_FORK
298AC_FUNC_MALLOC
299AC_FUNC_REALLOC
bba2a8d7
FDN
300AC_CHECK_FUNCS([memset])
301AC_CHECK_FUNCS([strdup])
302AC_CHECK_FUNCS([strerror])
6d727d3c
FDN
303AC_CHECK_FUNCS([dup2])
304AC_CHECK_FUNCS([select])
305AC_CHECK_FUNCS([socket])
31f37826
FDN
306AC_CHECK_FUNCS([inet_ntoa])
307AC_CHECK_FUNCS([memmove])
308AC_CHECK_FUNCS([strchr])
bc5fdb83
FDN
309AC_CHECK_FUNCS([atexit])
310AC_CHECK_FUNCS([ftruncate])
7a00930f
FDN
311AC_CHECK_FUNCS([strrchr])
312AC_CHECK_FUNCS([strstr])
ba6bc349 313AC_CHECK_FUNCS([clock_gettime])
efc95595 314AC_CHECK_FUNCS([strcasecmp])
f762bb6e 315AC_CHECK_FUNCS([kevent])
3a50d466
FDN
316# if neither sys/epoll.h nor kevent are present, we should fail.
317
318if test "x$ac_cv_header_sys_epoll_h" = xno && test "x$ac_cv_func_kevent" = xno; then
319 AC_MSG_ERROR([Both epoll and kevent unavailable on this OS])
320fi
321
322if test "x$ac_cv_header_sys_epoll_h" = xyes && test "x$ac_cv_func_kevent" = xyes; then
323 AC_MSG_ERROR([Both epoll and kevent available on this OS, please contact the maintainers to fix the code])
324fi
71fd62d6 325
fa8c7f32 326# checks (for kronosnetd)
ace7cd0e 327if test "x$enable_kronosnetd" = xyes; then
226e5109
FDN
328 AC_CHECK_HEADERS([security/pam_appl.h],
329 [AC_CHECK_LIB([pam], [pam_start])],
330 [AC_MSG_ERROR([Unable to find LinuxPAM devel files])])
e311acaa 331
226e5109
FDN
332 AC_CHECK_HEADERS([security/pam_misc.h],
333 [AC_CHECK_LIB([pam_misc], [misc_conv])],
334 [AC_MSG_ERROR([Unable to find LinuxPAM MISC devel files])])
38cb1bb7 335
226e5109 336 PKG_CHECK_MODULES([libqb], [libqb])
fa8c7f32 337
226e5109
FDN
338 AC_CHECK_LIB([qb], [qb_log_thread_priority_set],
339 [have_qb_log_thread_priority_set="yes"],
340 [have_qb_log_thread_priority_set="no"])
341 if test "x${have_qb_log_thread_priority_set}" = xyes; then
342 AC_DEFINE_UNQUOTED([HAVE_QB_LOG_THREAD_PRIORITY_SET], [1], [have qb_log_thread_priority_set])
343 fi
ace7cd0e 344fi
38cb1bb7 345
99afbd6e
FDN
346# local options
347AC_ARG_ENABLE([debug],
348 [ --enable-debug enable debug build. ],
349 [ default="no" ])
350
2e687dd8
FDN
351AC_ARG_WITH([initdefaultdir],
352 [ --with-initdefaultdir : path to /etc/sysconfig/.. or /etc/default dir. ],
353 [ INITDEFAULTDIR="$withval" ],
354 [ INITDEFAULTDIR="$sysconfdir/default" ])
355
0472de45
FDN
356AC_ARG_WITH([initddir],
357 [ --with-initddir=DIR : path to init script directory. ],
358 [ INITDDIR="$withval" ],
359 [ INITDDIR="$sysconfdir/init.d" ])
360
361AC_ARG_WITH([systemddir],
362 [ --with-systemddir=DIR : path to systemd unit files directory. ],
363 [ SYSTEMDDIR="$withval" ],
905cb809 364 [ SYSTEMDDIR="$systemddir" ])
0472de45 365
99afbd6e 366AC_ARG_WITH([syslogfacility],
e3aa8728 367 [ --with-syslogfacility=FACILITY
99afbd6e
FDN
368 default syslog facility. ],
369 [ SYSLOGFACILITY="$withval" ],
2d022f7f 370 [ SYSLOGFACILITY="LOG_DAEMON" ])
99afbd6e
FDN
371
372AC_ARG_WITH([sysloglevel],
e3aa8728 373 [ --with-sysloglevel=LEVEL
99afbd6e
FDN
374 default syslog level. ],
375 [ SYSLOGLEVEL="$withval" ],
376 [ SYSLOGLEVEL="LOG_INFO" ])
377
e3aa8728
FDN
378AC_ARG_WITH([defaultadmgroup],
379 [ --with-defaultadmgroup=GROUP
380 define PAM group. Users part of this group will be
381 allowed to configure kronosnet. Others will only
382 receive read-only rights. ],
383 [ DEFAULTADMGROUP="$withval" ],
384 [ DEFAULTADMGROUP="kronosnetadm" ])
385
99afbd6e
FDN
386## random vars
387LOGDIR=${localstatedir}/log/
388RUNDIR=${localstatedir}/run/
afce19e1 389DEFAULT_CONFIG_DIR=${sysconfdir}/kronosnet
99afbd6e
FDN
390
391## do subst
392
fa8c7f32 393AM_CONDITIONAL([DEBUG], [test "x${enable_debug}" = xyes])
c8ed20e0 394
afce19e1 395AC_SUBST([DEFAULT_CONFIG_DIR])
2e687dd8 396AC_SUBST([INITDEFAULTDIR])
0472de45
FDN
397AC_SUBST([INITDDIR])
398AC_SUBST([SYSTEMDDIR])
b386f39b 399AC_SUBST([LOGDIR])
2e687dd8 400AC_SUBST([DEFAULTADMGROUP])
0472de45 401
4fc6106b
FDN
402AC_DEFINE_UNQUOTED([DEFAULT_CONFIG_DIR],
403 ["$(eval echo ${DEFAULT_CONFIG_DIR})"],
afce19e1
FDN
404 [Default config directory])
405
406AC_DEFINE_UNQUOTED([DEFAULT_CONFIG_FILE],
4fc6106b 407 ["$(eval echo ${DEFAULT_CONFIG_DIR}/kronosnetd.conf)"],
99afbd6e
FDN
408 [Default config file])
409
4fc6106b
FDN
410AC_DEFINE_UNQUOTED([LOGDIR],
411 ["$(eval echo ${LOGDIR})"],
99afbd6e
FDN
412 [Default logging directory])
413
2d022f7f 414AC_DEFINE_UNQUOTED([DEFAULT_LOG_FILE],
4fc6106b 415 ["$(eval echo ${LOGDIR}/kronosnetd.log)"],
2d022f7f
FDN
416 [Default log file])
417
4fc6106b
FDN
418AC_DEFINE_UNQUOTED([RUNDIR],
419 ["$(eval echo ${RUNDIR})"],
99afbd6e
FDN
420 [Default run directory])
421
4fc6106b
FDN
422AC_DEFINE_UNQUOTED([SYSLOGFACILITY],
423 [$(eval echo ${SYSLOGFACILITY})],
99afbd6e
FDN
424 [Default syslog facility])
425
4fc6106b
FDN
426AC_DEFINE_UNQUOTED([SYSLOGLEVEL],
427 [$(eval echo ${SYSLOGLEVEL})],
99afbd6e
FDN
428 [Default syslog level])
429
4fc6106b
FDN
430AC_DEFINE_UNQUOTED([DEFAULTADMGROUP],
431 ["$(eval echo ${DEFAULTADMGROUP})"],
e3aa8728
FDN
432 [Default admin group])
433
99afbd6e
FDN
434## *FLAGS handling
435ENV_CFLAGS="$CFLAGS"
436ENV_CPPFLAGS="$CPPFLAGS"
437ENV_LDFLAGS="$LDFLAGS"
438
439# debug build stuff
440if test "x${enable_debug}" = xyes; then
441 AC_DEFINE_UNQUOTED([DEBUG], [1], [Compiling Debugging code])
442 OPT_CFLAGS="-O0"
443else
444 OPT_CFLAGS="-O3"
445fi
446
447# gdb flags
448if test "x${GCC}" = xyes; then
449 GDB_FLAGS="-ggdb3"
450else
451 GDB_FLAGS="-g"
452fi
453
454# extra warnings
455EXTRA_WARNINGS=""
456
457WARNLIST="
458 all
0dbd680b
MJ
459 extra
460 unused
99afbd6e
FDN
461 shadow
462 missing-prototypes
463 missing-declarations
0dbd680b
MJ
464 suggest-attribute=noreturn
465 suggest-attribute=format
99afbd6e
FDN
466 strict-prototypes
467 declaration-after-statement
468 pointer-arith
469 write-strings
470 cast-align
471 bad-function-cast
472 missing-format-attribute
0dbd680b 473 float-equal
99afbd6e 474 format=2
fb2cc79f 475 format-signedness
99afbd6e
FDN
476 format-security
477 format-nonliteral
478 no-long-long
479 unsigned-char
480 gnu89-inline
481 no-strict-aliasing
482 error
ade3159b
FDN
483 address
484 cpp
ade3159b
FDN
485 overflow
486 parentheses
487 sequence-point
488 switch
0dbd680b
MJ
489 shift-overflow=2
490 overlength-strings
491 retundent-decls
492 init-self
ade3159b
FDN
493 uninitialized
494 unused-but-set-variable
495 unused-function
496 unused-result
497 unused-value
498 unused-variable
0dbd680b
MJ
499 unknown-pragmas
500 no-unused-parameter
99afbd6e
FDN
501 "
502
503for j in $WARNLIST; do
504 if cc_supports_flag -W$j; then
505 EXTRA_WARNINGS="$EXTRA_WARNINGS -W$j";
506 fi
507done
508
ae9ebb47 509CFLAGS="$ENV_CFLAGS $lt_prog_compiler_pic $OPT_CFLAGS $GDB_FLAGS \
99afbd6e
FDN
510 $EXTRA_WARNINGS $WERROR_CFLAGS"
511CPPFLAGS="$ENV_CPPFLAGS"
e3c019fd 512LDFLAGS="$ENV_LDFLAGS $lt_prog_compiler_pic -Wl,--as-needed"
99afbd6e 513
19ceca42
FDN
514AC_CONFIG_FILES([
515 Makefile
0472de45 516 init/Makefile
5d4a4eec
FDN
517 libtap/Makefile
518 libtap/libtap.pc
4aa63ad7 519 kronosnetd/Makefile
b386f39b 520 kronosnetd/kronosnetd.logrotate
10244a3f
FS
521 libknet/Makefile
522 libknet/libknet.pc
a86247e6 523 libknet/tests/Makefile
8f114254
FDN
524 libknet/man/Doxyfile
525 libknet/man/Makefile
7368d54c 526 poc-code/Makefile
77213908 527 poc-code/iov-hash/Makefile
712dee58 528 poc-code/access-list/Makefile
19ceca42 529 ])
99afbd6e
FDN
530
531AC_OUTPUT