]>
Commit | Line | Data |
---|---|---|
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 | |
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]) |
99afbd6e FDN |
20 | LT_PREREQ([2.2.6]) |
21 | LT_INIT | |
22 | ||
23 | AC_CONFIG_MACRO_DIR([m4]) | |
4aa63ad7 | 24 | AC_CONFIG_SRCDIR([kronosnetd/main.c]) |
99afbd6e FDN |
25 | AC_CONFIG_HEADERS([config.h]) |
26 | ||
27 | AC_CANONICAL_HOST | |
28 | AC_PROG_LIBTOOL | |
29 | ||
30 | AC_LANG([C]) | |
31 | ||
905cb809 FDN |
32 | systemddir=${prefix}/lib/systemd/system |
33 | ||
99afbd6e FDN |
34 | if 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 |
52 | fi |
53 | ||
5842a2f9 | 54 | AC_PROG_AWK |
e3683ec7 FDN |
55 | AC_PROG_GREP |
56 | AC_PROG_SED | |
5842a2f9 | 57 | AC_PROG_CPP |
99afbd6e | 58 | AC_PROG_CC |
dd8bbbde FDN |
59 | AC_PROG_CC_C99 |
60 | if test "x$ac_cv_prog_cc_c99" = "xno"; then | |
61 | AC_MSG_ERROR(["C99 support is required"]) | |
62 | fi | |
99afbd6e FDN |
63 | AC_PROG_LN_S |
64 | AC_PROG_INSTALL | |
65 | AC_PROG_MAKE_SET | |
9e569a13 | 66 | PKG_PROG_PKG_CONFIG |
a60241ba | 67 | AC_CHECK_PROGS([DOXYGEN], [doxygen]) |
a60241ba | 68 | AC_CHECK_PROGS([DOXY2MAN], [doxy2man]) |
8f114254 FDN |
69 | |
70 | manpageupdates=1 | |
71 | if test "x$DOXYGEN" = "x" || test "x$DOXY2MAN" = "x"; then | |
72 | manpageupdates=0; | |
a60241ba | 73 | fi |
8f114254 FDN |
74 | |
75 | AM_CONDITIONAL([MANPAGEUPDATES], [test $manpageupdates -gt 0]) | |
76 | ||
3e776e82 FDN |
77 | AC_CHECK_PROGS([VALGRIND_EXEC], [valgrind]) |
78 | AM_CONDITIONAL([HAS_VALGRIND], [test x$VALGRIND_EXEC != "x"]) | |
99afbd6e | 79 | |
43bd160d FDN |
80 | AC_ARG_ENABLE([libknet-sctp], |
81 | [ --disable-libknet-sctp : disable libknet SCTP support ],, | |
82 | [ enable_libknet_sctp="yes" ]) | |
20f9cc1e | 83 | AM_CONDITIONAL([BUILDSCTP], [test x$enable_libknet_sctp = xyes]) |
43bd160d | 84 | |
c59268f2 FDN |
85 | AC_ARG_ENABLE([crypto-all], |
86 | [ --disable-crypto-all : disable libknet all crypto modules support ],, | |
87 | [ enable_crypto_all="yes" ]) | |
88 | ||
89 | AC_ARG_ENABLE([crypto-nss], | |
90 | [ --disable-crypto-nss : disable libknet nss support ],, | |
91 | [ enable_crypto_nss="$enable_crypto_all" ]) | |
20f9cc1e | 92 | AM_CONDITIONAL([BUILDCRYPTONSS], [test x$enable_crypto_nss = xyes]) |
c59268f2 | 93 | |
62c0a9f9 FDN |
94 | AC_ARG_ENABLE([crypto-openssl], |
95 | [ --disable-crypto-openssl : disable libknet openssl support ],, | |
96 | [ enable_crypto_openssl="$enable_crypto_all" ]) | |
97 | AM_CONDITIONAL([BUILDCRYPTOOPENSSL], [test x$enable_crypto_openssl = xyes]) | |
98 | ||
7322344c | 99 | AC_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 |
103 | AC_ARG_ENABLE([compress-zlib], |
104 | [ --disable-compress-zlib : disable libknet zlib support ],, | |
7322344c | 105 | [ enable_compress_zlib="$enable_compress_all" ]) |
20f9cc1e | 106 | AM_CONDITIONAL([BUILDCOMPZLIB], [test x$enable_compress_zlib = xyes]) |
226e5109 FDN |
107 | |
108 | AC_ARG_ENABLE([compress-lz4], | |
109 | [ --disable-compress-lz4 : disable libknet lz4 support ],, | |
7322344c | 110 | [ enable_compress_lz4="$enable_compress_all" ]) |
20f9cc1e | 111 | AM_CONDITIONAL([BUILDCOMPLZ4], [test x$enable_compress_lz4 = xyes]) |
226e5109 FDN |
112 | |
113 | AC_ARG_ENABLE([compress-lzo2], | |
114 | [ --disable-compress-lzo2 : disable libknet lzo2 support ],, | |
7322344c | 115 | [ enable_compress_lzo2="$enable_compress_all" ]) |
20f9cc1e | 116 | AM_CONDITIONAL([BUILDCOMPLZO2], [test x$enable_compress_lzo2 = xyes]) |
226e5109 FDN |
117 | |
118 | AC_ARG_ENABLE([compress-lzma], | |
119 | [ --disable-compress-lzma : disable libknet lzma support ],, | |
7322344c | 120 | [ enable_compress_lzma="$enable_compress_all" ]) |
20f9cc1e | 121 | AM_CONDITIONAL([BUILDCOMPLZMA], [test x$enable_compress_lzma = xyes]) |
226e5109 FDN |
122 | |
123 | AC_ARG_ENABLE([compress-bzip2], | |
124 | [ --disable-compress-bzip2 : disable libknet bzip2 support ],, | |
7322344c | 125 | [ enable_compress_bzip2="$enable_compress_all" ]) |
20f9cc1e | 126 | AM_CONDITIONAL([BUILDCOMPBZIP2], [test x$enable_compress_bzip2 = xyes]) |
226e5109 | 127 | |
1c75eb10 | 128 | AC_ARG_ENABLE([poc], |
11223d55 | 129 | [ --enable-poc : enable building poc code ],, |
89c58e91 | 130 | [ enable_poc="no" ]) |
5449d795 | 131 | AM_CONDITIONAL([BUILD_POC], [test x$enable_poc = xyes]) |
1c75eb10 | 132 | |
ace7cd0e | 133 | AC_ARG_ENABLE([kronosnetd], |
226e5109 FDN |
134 | [ --enable-kronosnetd : Kronosnetd support ],, |
135 | [ enable_kronosnetd="no" ]) | |
5449d795 | 136 | AM_CONDITIONAL([BUILD_KRONOSNETD], [test x$enable_kronosnetd = xyes]) |
ace7cd0e | 137 | |
8f8384a0 BL |
138 | AC_ARG_ENABLE([runautogen], |
139 | [ --enable-runautogen : run autogen.sh ],, | |
140 | [ enable_runautogen="no" ]) | |
141 | AM_CONDITIONAL([BUILD_RUNAUTOGEN], [test x$enable_runautogen = xyes]) | |
142 | ||
ace7cd0e | 143 | AC_ARG_ENABLE([libtap], |
226e5109 FDN |
144 | [ --enable-libtap : libtap support ],, |
145 | [ enable_libtap="no" ]) | |
58b997ce CC |
146 | |
147 | if test "x$enable_kronosnetd" = xyes; then | |
226e5109 | 148 | enable_libtap=yes |
58b997ce | 149 | fi |
5449d795 | 150 | AM_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. | |
155 | cc_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 | |
170 | check_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 |
183 | AC_C_INLINE | |
184 | ||
99afbd6e | 185 | # Checks for libraries. |
516a47e6 | 186 | AC_CHECK_LIB([pthread], [pthread_create], [AC_SUBST([pthread_LIBS], [-lpthread])], [AC_MSG_ERROR([kronosnet requires pthread library])]) |
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]) | |
192 | LIBS="$saved_LIBS" | |
99afbd6e | 193 | |
e6459532 FDN |
194 | AC_SEARCH_LIBS([dlopen], [dl dld], [dllibs=$ac_res], [AC_MSG_ERROR([kronosnet requires dl library])]) |
195 | ||
196 | if test "x$dllibs" != "xnone required"; then | |
197 | AC_SUBST([dl_LIBS], [$dllibs]) | |
198 | fi | |
b0aab085 | 199 | |
c296433f FDN |
200 | # OS detection |
201 | ||
202 | AC_MSG_CHECKING([for os in ${host_os}]) | |
203 | case "$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 | ;; | |
218 | esac | |
219 | ||
2052faab | 220 | # crypto libraries checks |
c59268f2 FDN |
221 | if test "x$enable_crypto_nss" = xyes; then |
222 | PKG_CHECK_MODULES([nss],[nss]) | |
223 | AC_DEFINE_UNQUOTED([BUILDCRYPTONSS], [1], [Enable nss crypto]) | |
224 | fi | |
56407f26 | 225 | |
62c0a9f9 | 226 | if 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]) |
232 | fi | |
233 | ||
2052faab | 234 | # compress libraries checks |
7322344c FDN |
235 | if test "x$enable_compress_zlib" = xyes; then |
236 | PKG_CHECK_MODULES([zlib], [zlib]) | |
237 | AC_DEFINE_UNQUOTED([BUILDCOMPZLIB], [1], [Enable zlib compression]) | |
238 | fi | |
239 | if test "x$enable_compress_lz4" = xyes; then | |
240 | PKG_CHECK_MODULES([liblz4], [liblz4]) | |
241 | AC_DEFINE_UNQUOTED([BUILDCOMPLZ4], [1], [Enable lz4 compress]) | |
242 | fi | |
243 | if 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]) | |
250 | fi | |
251 | if test "x$enable_compress_lzma" = xyes; then | |
252 | PKG_CHECK_MODULES([liblzma], [liblzma]) | |
253 | AC_DEFINE_UNQUOTED([BUILDCOMPLZMA], [1], [Enable lzma compress]) | |
254 | fi | |
255 | if 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 | 262 | fi |
2052faab | 263 | |
99afbd6e | 264 | # Checks for header files. |
bba2a8d7 FDN |
265 | AC_CHECK_HEADERS([fcntl.h]) |
266 | AC_CHECK_HEADERS([stdlib.h]) | |
267 | AC_CHECK_HEADERS([string.h]) | |
5842a2f9 | 268 | AC_CHECK_HEADERS([strings.h]) |
bba2a8d7 FDN |
269 | AC_CHECK_HEADERS([sys/ioctl.h]) |
270 | AC_CHECK_HEADERS([syslog.h]) | |
271 | AC_CHECK_HEADERS([unistd.h]) | |
6d727d3c FDN |
272 | AC_CHECK_HEADERS([netinet/in.h]) |
273 | AC_CHECK_HEADERS([sys/socket.h]) | |
c3776828 | 274 | AC_CHECK_HEADERS([arpa/inet.h]) |
521b047e | 275 | AC_CHECK_HEADERS([netdb.h]) |
ba6bc349 | 276 | AC_CHECK_HEADERS([limits.h]) |
5842a2f9 | 277 | AC_CHECK_HEADERS([stdint.h]) |
3a50d466 | 278 | AC_CHECK_HEADERS([sys/epoll.h]) |
d75f2295 FDN |
279 | |
280 | if test "x$enable_libknet_sctp" = xyes; then | |
fd28a29f | 281 | AC_CHECK_HEADERS([netinet/sctp.h],, [AC_MSG_ERROR(["missing required SCTP headers"])]) |
d75f2295 | 282 | fi |
99afbd6e FDN |
283 | |
284 | # Checks for typedefs, structures, and compiler characteristics. | |
5842a2f9 | 285 | AC_C_INLINE |
bba2a8d7 | 286 | AC_TYPE_SIZE_T |
6d727d3c | 287 | AC_TYPE_PID_T |
c3776828 | 288 | AC_TYPE_SSIZE_T |
31f37826 | 289 | AC_TYPE_UINT8_T |
c3776828 FDN |
290 | AC_TYPE_UINT16_T |
291 | AC_TYPE_UINT32_T | |
efc95595 FDN |
292 | AC_TYPE_UINT64_T |
293 | AC_TYPE_INT32_T | |
99afbd6e FDN |
294 | |
295 | # Checks for library functions. | |
6d727d3c FDN |
296 | AC_FUNC_ALLOCA |
297 | AC_FUNC_FORK | |
298 | AC_FUNC_MALLOC | |
299 | AC_FUNC_REALLOC | |
bba2a8d7 FDN |
300 | AC_CHECK_FUNCS([memset]) |
301 | AC_CHECK_FUNCS([strdup]) | |
302 | AC_CHECK_FUNCS([strerror]) | |
6d727d3c FDN |
303 | AC_CHECK_FUNCS([dup2]) |
304 | AC_CHECK_FUNCS([select]) | |
305 | AC_CHECK_FUNCS([socket]) | |
31f37826 FDN |
306 | AC_CHECK_FUNCS([inet_ntoa]) |
307 | AC_CHECK_FUNCS([memmove]) | |
308 | AC_CHECK_FUNCS([strchr]) | |
bc5fdb83 FDN |
309 | AC_CHECK_FUNCS([atexit]) |
310 | AC_CHECK_FUNCS([ftruncate]) | |
7a00930f FDN |
311 | AC_CHECK_FUNCS([strrchr]) |
312 | AC_CHECK_FUNCS([strstr]) | |
ba6bc349 | 313 | AC_CHECK_FUNCS([clock_gettime]) |
efc95595 | 314 | AC_CHECK_FUNCS([strcasecmp]) |
f762bb6e | 315 | AC_CHECK_FUNCS([kevent]) |
3a50d466 FDN |
316 | # if neither sys/epoll.h nor kevent are present, we should fail. |
317 | ||
318 | if 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]) | |
320 | fi | |
321 | ||
322 | if 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]) | |
324 | fi | |
71fd62d6 | 325 | |
fa8c7f32 | 326 | # checks (for kronosnetd) |
ace7cd0e | 327 | if 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 | 344 | fi |
38cb1bb7 | 345 | |
99afbd6e FDN |
346 | # local options |
347 | AC_ARG_ENABLE([debug], | |
348 | [ --enable-debug enable debug build. ], | |
349 | [ default="no" ]) | |
350 | ||
2e687dd8 FDN |
351 | AC_ARG_WITH([initdefaultdir], |
352 | [ --with-initdefaultdir : path to /etc/sysconfig/.. or /etc/default dir. ], | |
353 | [ INITDEFAULTDIR="$withval" ], | |
354 | [ INITDEFAULTDIR="$sysconfdir/default" ]) | |
355 | ||
0472de45 FDN |
356 | AC_ARG_WITH([initddir], |
357 | [ --with-initddir=DIR : path to init script directory. ], | |
358 | [ INITDDIR="$withval" ], | |
359 | [ INITDDIR="$sysconfdir/init.d" ]) | |
360 | ||
361 | AC_ARG_WITH([systemddir], | |
362 | [ --with-systemddir=DIR : path to systemd unit files directory. ], | |
363 | [ SYSTEMDDIR="$withval" ], | |
905cb809 | 364 | [ SYSTEMDDIR="$systemddir" ]) |
0472de45 | 365 | |
99afbd6e | 366 | AC_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 | |
372 | AC_ARG_WITH([sysloglevel], | |
e3aa8728 | 373 | [ --with-sysloglevel=LEVEL |
99afbd6e FDN |
374 | default syslog level. ], |
375 | [ SYSLOGLEVEL="$withval" ], | |
376 | [ SYSLOGLEVEL="LOG_INFO" ]) | |
377 | ||
e3aa8728 FDN |
378 | AC_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 |
387 | LOGDIR=${localstatedir}/log/ | |
388 | RUNDIR=${localstatedir}/run/ | |
afce19e1 | 389 | DEFAULT_CONFIG_DIR=${sysconfdir}/kronosnet |
99afbd6e FDN |
390 | |
391 | ## do subst | |
392 | ||
fa8c7f32 | 393 | AM_CONDITIONAL([DEBUG], [test "x${enable_debug}" = xyes]) |
c8ed20e0 | 394 | |
afce19e1 | 395 | AC_SUBST([DEFAULT_CONFIG_DIR]) |
2e687dd8 | 396 | AC_SUBST([INITDEFAULTDIR]) |
0472de45 FDN |
397 | AC_SUBST([INITDDIR]) |
398 | AC_SUBST([SYSTEMDDIR]) | |
b386f39b | 399 | AC_SUBST([LOGDIR]) |
2e687dd8 | 400 | AC_SUBST([DEFAULTADMGROUP]) |
0472de45 | 401 | |
4fc6106b FDN |
402 | AC_DEFINE_UNQUOTED([DEFAULT_CONFIG_DIR], |
403 | ["$(eval echo ${DEFAULT_CONFIG_DIR})"], | |
afce19e1 FDN |
404 | [Default config directory]) |
405 | ||
406 | AC_DEFINE_UNQUOTED([DEFAULT_CONFIG_FILE], | |
4fc6106b | 407 | ["$(eval echo ${DEFAULT_CONFIG_DIR}/kronosnetd.conf)"], |
99afbd6e FDN |
408 | [Default config file]) |
409 | ||
4fc6106b FDN |
410 | AC_DEFINE_UNQUOTED([LOGDIR], |
411 | ["$(eval echo ${LOGDIR})"], | |
99afbd6e FDN |
412 | [Default logging directory]) |
413 | ||
2d022f7f | 414 | AC_DEFINE_UNQUOTED([DEFAULT_LOG_FILE], |
4fc6106b | 415 | ["$(eval echo ${LOGDIR}/kronosnetd.log)"], |
2d022f7f FDN |
416 | [Default log file]) |
417 | ||
4fc6106b FDN |
418 | AC_DEFINE_UNQUOTED([RUNDIR], |
419 | ["$(eval echo ${RUNDIR})"], | |
99afbd6e FDN |
420 | [Default run directory]) |
421 | ||
4fc6106b FDN |
422 | AC_DEFINE_UNQUOTED([SYSLOGFACILITY], |
423 | [$(eval echo ${SYSLOGFACILITY})], | |
99afbd6e FDN |
424 | [Default syslog facility]) |
425 | ||
4fc6106b FDN |
426 | AC_DEFINE_UNQUOTED([SYSLOGLEVEL], |
427 | [$(eval echo ${SYSLOGLEVEL})], | |
99afbd6e FDN |
428 | [Default syslog level]) |
429 | ||
4fc6106b FDN |
430 | AC_DEFINE_UNQUOTED([DEFAULTADMGROUP], |
431 | ["$(eval echo ${DEFAULTADMGROUP})"], | |
e3aa8728 FDN |
432 | [Default admin group]) |
433 | ||
99afbd6e FDN |
434 | ## *FLAGS handling |
435 | ENV_CFLAGS="$CFLAGS" | |
436 | ENV_CPPFLAGS="$CPPFLAGS" | |
437 | ENV_LDFLAGS="$LDFLAGS" | |
438 | ||
439 | # debug build stuff | |
440 | if test "x${enable_debug}" = xyes; then | |
441 | AC_DEFINE_UNQUOTED([DEBUG], [1], [Compiling Debugging code]) | |
442 | OPT_CFLAGS="-O0" | |
443 | else | |
444 | OPT_CFLAGS="-O3" | |
445 | fi | |
446 | ||
447 | # gdb flags | |
448 | if test "x${GCC}" = xyes; then | |
449 | GDB_FLAGS="-ggdb3" | |
450 | else | |
451 | GDB_FLAGS="-g" | |
452 | fi | |
453 | ||
454 | # extra warnings | |
455 | EXTRA_WARNINGS="" | |
456 | ||
457 | WARNLIST=" | |
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 | ||
503 | for j in $WARNLIST; do | |
504 | if cc_supports_flag -W$j; then | |
505 | EXTRA_WARNINGS="$EXTRA_WARNINGS -W$j"; | |
506 | fi | |
507 | done | |
508 | ||
ae9ebb47 | 509 | CFLAGS="$ENV_CFLAGS $lt_prog_compiler_pic $OPT_CFLAGS $GDB_FLAGS \ |
99afbd6e FDN |
510 | $EXTRA_WARNINGS $WERROR_CFLAGS" |
511 | CPPFLAGS="$ENV_CPPFLAGS" | |
e3c019fd | 512 | LDFLAGS="$ENV_LDFLAGS $lt_prog_compiler_pic -Wl,--as-needed" |
99afbd6e | 513 | |
19ceca42 FDN |
514 | AC_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 | |
531 | AC_OUTPUT |