]>
Commit | Line | Data |
---|---|---|
2f9bcf97 MM |
1 | dnl ** This is a configure script template for BIRD |
2 | dnl ** Process it with autoconf to get ./configure | |
9fac310d | 3 | dnl ** (c) 1999--2000 Martin Mares <mj@ucw.cz> |
2f9bcf97 | 4 | |
7a855725 OZ |
5 | AC_INIT |
6 | AC_CONFIG_SRCDIR([conf/confbase.Y]) | |
b81a73d1 OZ |
7 | AC_CONFIG_AUX_DIR([tools]) |
8 | ||
9 | AC_ARG_ENABLE([client], | |
10 | [AS_HELP_STRING([--enable-client], [enable building of BIRD client @<:@yes@:>@])], | |
11 | [], | |
12 | [enable_client=yes] | |
13 | ) | |
14 | ||
15 | AC_ARG_ENABLE([debug], | |
16 | [AS_HELP_STRING([--enable-debug], [enable internal debugging routines @<:@no@:>@])], | |
17 | [], | |
18 | [enable_debug=no] | |
19 | ) | |
20 | ||
4f082dfa MM |
21 | AC_ARG_ENABLE([debug-generated], |
22 | [AS_HELP_STRING([--enable-debug-generated], [enable this to abstain from generating #line @<:@no@:>@])], | |
23 | [], | |
24 | [enable_debug_generated=no] | |
25 | ) | |
26 | ||
a0d0a71a MM |
27 | AC_ARG_ENABLE([debug-expensive], |
28 | [AS_HELP_STRING([--enable-debug-expensive], [enable expensive consistency checks (implies --enable-debug) @<:@no@:>@])], | |
29 | [], | |
30 | [enable_debug_expensive=no] | |
31 | ) | |
32 | ||
b81a73d1 OZ |
33 | AC_ARG_ENABLE([memcheck], |
34 | [AS_HELP_STRING([--enable-memcheck], [check memory allocations when debugging @<:@yes@:>@])], | |
35 | [], | |
36 | [enable_memcheck=yes] | |
37 | ) | |
38 | ||
d3f50ede OZ |
39 | AC_ARG_ENABLE([compact-tries], |
40 | [AS_HELP_STRING([--enable-compact-tries], [use 4-way tries instead of 16-way ones @<:@no@:>@])], | |
41 | [], | |
42 | [enable_compact_tries=no] | |
43 | ) | |
44 | ||
b81a73d1 OZ |
45 | AC_ARG_ENABLE([pthreads], |
46 | [AS_HELP_STRING([--enable-pthreads], [enable POSIX threads support @<:@try@:>@])], | |
47 | [], | |
48 | [enable_pthreads=try] | |
49 | ) | |
50 | ||
1c5b4c5d | 51 | AC_ARG_ENABLE([libssh], |
027a3e66 | 52 | [AS_HELP_STRING([--enable-libssh], [enable LibSSH support in RPKI @<:@try@:>@])], |
1c5b4c5d OZ |
53 | [], |
54 | [enable_libssh=try] | |
55 | ) | |
56 | ||
6b0f5f68 MJM |
57 | AC_ARG_ENABLE([mpls-kernel], |
58 | [AS_HELP_STRING([--enable-mpls-kernel], [enable MPLS support in kernel protocol @<:@try@:>@])], | |
59 | [], | |
60 | [enable_mpls_kernel=try] | |
61 | ) | |
62 | ||
b81a73d1 OZ |
63 | AC_ARG_WITH([protocols], |
64 | [AS_HELP_STRING([--with-protocols=LIST], [include specified routing protocols @<:@all@:>@])], | |
65 | [], | |
66 | [with_protocols="all"] | |
67 | ) | |
68 | ||
b81a73d1 | 69 | AC_ARG_WITH([sysconfig], |
66934ace | 70 | [AS_HELP_STRING([--with-sysconfig=FILE], [use specified BIRD system configuration file])] |
b81a73d1 OZ |
71 | ) |
72 | ||
73 | AC_ARG_WITH([runtimedir], | |
d0b45978 | 74 | [AS_HELP_STRING([--with-runtimedir=PATH], [run-state data, obsolete variant of --runstatedir])], |
66934ace | 75 | [runstatedir="$with_runtimedir"] |
b81a73d1 OZ |
76 | ) |
77 | ||
78 | AC_ARG_WITH([iproutedir], | |
79 | [AS_HELP_STRING([--with-iproutedir=PATH], [path to iproute2 config files @<:@/etc/iproute2@:>@])], | |
80 | [given_iproutedir="yes"] | |
81 | ) | |
82 | ||
ab188fb7 OZ |
83 | AC_ARG_VAR([FLEX], [location of the Flex program]) |
84 | AC_ARG_VAR([BISON], [location of the Bison program]) | |
85 | AC_ARG_VAR([M4], [location of the M4 program]) | |
86 | ||
a0d0a71a | 87 | if test "$enable_debug_expensive" = yes; then |
a08853a2 | 88 | enable_debug=yes |
a0d0a71a | 89 | fi |
2f9bcf97 | 90 | |
49e7e5ee | 91 | if test "$srcdir" = . ; then |
b81a73d1 OZ |
92 | # Building in current directory => create obj directory holding all objects |
93 | objdir=obj | |
49e7e5ee | 94 | else |
b81a73d1 OZ |
95 | # Building in separate directory |
96 | objdir=. | |
49e7e5ee | 97 | fi |
7152e5ef JMM |
98 | |
99 | exedir=. | |
100 | ||
b81a73d1 OZ |
101 | AC_SUBST([objdir]) |
102 | AC_SUBST([exedir]) | |
1c5b4c5d | 103 | AC_SUBST([srcdir]) |
d0b45978 OZ |
104 | |
105 | # Workaround for older Autoconfs that do not define runstatedir | |
106 | AS_IF([test -z "${runstatedir}"], [runstatedir='${localstatedir}/run']) | |
107 | AC_SUBST([runstatedir]) | |
49e7e5ee | 108 | |
3fda08e4 | 109 | CONFIG_FILE="\$(sysconfdir)/bird.conf" |
b81a73d1 | 110 | AC_SUBST([CONFIG_FILE]) |
3fda08e4 OZ |
111 | |
112 | CONTROL_SOCKET="\$(runstatedir)/bird.ctl" | |
b81a73d1 | 113 | AC_SUBST([CONTROL_SOCKET]) |
ab188fb7 | 114 | |
b81a73d1 OZ |
115 | AC_SEARCH_LIBS([clock_gettime], [rt posix4], |
116 | [], | |
117 | [AC_MSG_ERROR([Function clock_gettime not available.])] | |
118 | ) | |
fd91ae33 | 119 | |
2f9bcf97 | 120 | AC_CANONICAL_HOST |
416e3ee4 | 121 | |
b1c030b0 | 122 | # Store this value because ac_test_CFLAGS is overwritten by AC_PROG_CC |
416e3ee4 | 123 | if test "$ac_test_CFLAGS" != set ; then |
b81a73d1 | 124 | bird_cflags_default=yes |
416e3ee4 | 125 | fi |
416e3ee4 | 126 | |
4e276a89 | 127 | AC_PROG_CC |
9b0a0ba9 | 128 | AC_PROG_CC_C99 |
e81b440f | 129 | if test -z "$GCC" ; then |
b81a73d1 | 130 | AC_MSG_ERROR([This program requires the GNU C Compiler.]) |
e81b440f OZ |
131 | fi |
132 | ||
6479e403 JMM |
133 | BIRD_CHECK_THREAD_LOCAL |
134 | if test "$bird_cv_thread_local" = yes ; then | |
135 | AC_DEFINE([HAVE_THREAD_LOCAL], [1], [Define to 1 if _Thread_local is available]) | |
136 | fi | |
137 | ||
1ec52253 | 138 | if test "$enable_pthreads" != no ; then |
b81a73d1 OZ |
139 | BIRD_CHECK_PTHREADS |
140 | ||
141 | if test "$bird_cv_lib_pthreads" = yes ; then | |
142 | AC_DEFINE([USE_PTHREADS], [1], [Define to 1 if pthreads are enabled]) | |
143 | CFLAGS="$CFLAGS -pthread" | |
144 | LDFLAGS="$LDFLAGS -pthread" | |
145 | proto_bfd=bfd | |
146 | elif test "$enable_pthreads" = yes ; then | |
147 | AC_MSG_ERROR([POSIX threads not available.]) | |
148 | fi | |
149 | ||
150 | if test "$enable_pthreads" = try ; then | |
151 | enable_pthreads="$bird_cv_lib_pthreads" | |
152 | fi | |
1ec52253 OZ |
153 | fi |
154 | ||
8c42205e OZ |
155 | # This is assumed to be necessary for proper BIRD build |
156 | CFLAGS="$CFLAGS -fno-strict-aliasing -fno-strict-overflow" | |
157 | ||
bed41728 | 158 | if test "$bird_cflags_default" = yes ; then |
b81a73d1 OZ |
159 | BIRD_CHECK_GCC_OPTION([bird_cv_c_option_wno_pointer_sign], [-Wno-pointer-sign], [-Wall]) |
160 | BIRD_CHECK_GCC_OPTION([bird_cv_c_option_wno_missing_init], [-Wno-missing-field-initializers], [-Wall -Wextra]) | |
8c42205e OZ |
161 | |
162 | if test "$enable_debug" = no; then | |
163 | BIRD_CHECK_LTO | |
164 | fi | |
165 | ||
166 | if test "$bird_cv_c_lto" = yes; then | |
167 | CFLAGS="$CFLAGS -flto" | |
368f7060 | 168 | LDFLAGS="$LDFLAGS -flto=4 -g" |
cc95b459 MM |
169 | else |
170 | LDFLAGS="$LDFLAGS -g" | |
8c42205e | 171 | fi |
b81a73d1 OZ |
172 | |
173 | CFLAGS="$CFLAGS -Wall -Wextra -Wstrict-prototypes -Wno-parentheses" | |
174 | BIRD_ADD_GCC_OPTION([bird_cv_c_option_wno_pointer_sign], [-Wno-pointer-sign]) | |
175 | BIRD_ADD_GCC_OPTION([bird_cv_c_option_wno_missing_init], [-Wno-missing-field-initializers]) | |
b1c030b0 | 176 | fi |
b1c030b0 OZ |
177 | |
178 | ||
de41d24a OZ |
179 | AC_MSG_CHECKING([CFLAGS]) |
180 | AC_MSG_RESULT([$CFLAGS]) | |
181 | ||
cc02da81 OZ |
182 | AC_MSG_CHECKING([LDFLAGS]) |
183 | AC_MSG_RESULT([$LDFLAGS]) | |
184 | ||
416e3ee4 MM |
185 | AC_PROG_CPP |
186 | AC_PROG_INSTALL | |
187 | AC_PROG_RANLIB | |
b81a73d1 OZ |
188 | AC_CHECK_PROG([FLEX], [flex], [flex]) |
189 | AC_CHECK_PROG([BISON], [bison], [bison]) | |
190 | AC_CHECK_PROGS([M4], [gm4 m4]) | |
8de11deb OZ |
191 | |
192 | test -z "$FLEX" && AC_MSG_ERROR([Flex is missing.]) | |
193 | test -z "$BISON" && AC_MSG_ERROR([Bison is missing.]) | |
194 | test -z "$M4" && AC_MSG_ERROR([M4 is missing.]) | |
b81a73d1 | 195 | |
86b9e8e3 JMM |
196 | AC_MSG_CHECKING([bison version]) |
197 | BIRD_CHECK_BISON_VERSION(BISON_VERSION) | |
198 | AC_MSG_RESULT([$BISON_VERSION]) | |
4f082dfa | 199 | if test "$bird_bison_synclines" = yes && test "$enable_debug_generated" = no; then |
86b9e8e3 JMM |
200 | M4FLAGS="$M4FLAGS -s" |
201 | fi | |
202 | ||
7ffc0a65 JMM |
203 | if test "$bird_bison_enhanced_error" = yes; then |
204 | BISONFLAGS="$BISONFLAGS -Dparse.lac=full -Dparse.error=verbose" | |
205 | fi | |
206 | ||
86b9e8e3 | 207 | AC_SUBST([M4FLAGS]) |
7ffc0a65 | 208 | AC_SUBST([BISONFLAGS]) |
86b9e8e3 | 209 | |
b81a73d1 OZ |
210 | BIRD_CHECK_PROG_FLAVOR_GNU([$M4], |
211 | [], | |
212 | [AC_MSG_ERROR([Provided M4 is not GNU M4.])] | |
213 | ) | |
416e3ee4 | 214 | |
2f9bcf97 | 215 | if test -n "$with_sysconfig" -a "$with_sysconfig" != no ; then |
b81a73d1 OZ |
216 | if test -f $with_sysconfig ; then |
217 | sysdesc=$with_sysconfig | |
218 | else | |
219 | sysdesc=$srcdir/sysdep/cf/$with_sysconfig | |
220 | if ! test -f $sysdesc ; then | |
221 | sysdesc=$sysdesc.h | |
222 | fi | |
223 | fi | |
2f9bcf97 | 224 | elif test -f sysconfig.h ; then |
b81a73d1 | 225 | sysdesc=sysconfig |
2f9bcf97 | 226 | else |
1c5b4c5d OZ |
227 | case "$host_os" in |
228 | linux*) | |
b81a73d1 OZ |
229 | sysdesc=linux |
230 | default_iproutedir="/etc/iproute2" | |
231 | ;; | |
1c5b4c5d | 232 | freebsd*) |
b81a73d1 | 233 | sysdesc=bsd |
09c1e370 JMM |
234 | CPPFLAGS="$CPPFLAGS -I/usr/local/include" |
235 | LDFLAGS="$LDFLAGS -L/usr/local/lib" | |
b81a73d1 | 236 | ;; |
1c5b4c5d | 237 | kfreebsd*) |
b81a73d1 OZ |
238 | sysdesc=bsd |
239 | ;; | |
1c5b4c5d | 240 | netbsd*) |
b81a73d1 | 241 | sysdesc=bsd |
1c5b4c5d OZ |
242 | CPPFLAGS="$CPPFLAGS -I/usr/pkg/include" |
243 | LDFLAGS="$LDFLAGS -L/usr/pkg/lib -R/usr/pkg/lib" | |
b81a73d1 | 244 | ;; |
1c5b4c5d | 245 | openbsd*) |
b81a73d1 | 246 | sysdesc=bsd |
140c534f OZ |
247 | CPPFLAGS="$CPPFLAGS -I/usr/local/include" |
248 | LDFLAGS="$LDFLAGS -L/usr/local/lib" | |
b81a73d1 | 249 | ;; |
1c5b4c5d | 250 | dragonfly*) |
b81a73d1 OZ |
251 | sysdesc=bsd |
252 | ;; | |
253 | *) | |
254 | AC_MSG_ERROR([Cannot determine correct system configuration. Please use --with-sysconfig to set it manually.]) | |
255 | ;; | |
1c5b4c5d OZ |
256 | esac |
257 | sysdesc=$srcdir/sysdep/cf/$sysdesc.h | |
2f9bcf97 | 258 | fi |
416e3ee4 | 259 | AC_MSG_CHECKING([which OS configuration should we use]) |
b81a73d1 | 260 | AC_MSG_RESULT([$sysdesc]) |
49e7e5ee | 261 | if ! test -f $sysdesc ; then |
b81a73d1 | 262 | AC_MSG_ERROR([The system configuration file is missing.]) |
2f9bcf97 | 263 | fi |
49e7e5ee | 264 | sysname=`echo $sysdesc | sed 's/\.h$//'` |
7a855725 | 265 | AC_DEFINE_UNQUOTED([SYSCONF_INCLUDE], ["$sysdesc"], [Which sysdep header to include]) |
49e7e5ee MM |
266 | |
267 | AC_MSG_CHECKING([system-dependent directories]) | |
7152e5ef | 268 | sysdep_dirs="`sed <$sysdesc '/^Link: /!d;s/^Link: \(.*\)$/\1/' | tr '\012' ' '`" |
b81a73d1 OZ |
269 | AC_MSG_RESULT([$sysdep_dirs]) |
270 | AC_SUBST([sysdep_dirs]) | |
2f9bcf97 | 271 | |
acc93efd OZ |
272 | if test "$with_iproutedir" = no ; then with_iproutedir= ; fi |
273 | ||
274 | if test -n "$given_iproutedir" | |
275 | then iproutedir=$with_iproutedir | |
276 | else iproutedir=$default_iproutedir | |
277 | fi | |
278 | ||
b81a73d1 | 279 | AC_SUBST([iproutedir]) |
acc93efd | 280 | |
144c10fa OZ |
281 | DAEMON_LIBS= |
282 | AC_SUBST(DAEMON_LIBS) | |
283 | ||
284 | if test "$enable_libssh" != no ; then | |
7d5e61a6 OZ |
285 | AC_CHECK_HEADER([libssh/libssh.h], [true], [fail=yes], [ ]) |
286 | AC_CHECK_LIB([ssh], [ssh_connect], [true], [fail=yes]) | |
144c10fa OZ |
287 | |
288 | if test "$fail" != yes ; then | |
289 | AC_DEFINE([HAVE_LIBSSH], [1], [Define to 1 if you have the `ssh' library (-lssh).]) | |
290 | DAEMON_LIBS="-lssh $DAEMON_LIBS" | |
144c10fa OZ |
291 | enable_libssh=yes |
292 | else | |
293 | if test "$enable_libssh" = yes ; then | |
294 | AC_MSG_ERROR([LibSSH not available.]) | |
295 | else | |
296 | enable_libssh=no | |
297 | fi | |
298 | fi | |
937e75d8 | 299 | fi |
144c10fa | 300 | |
6b0f5f68 MJM |
301 | if test "$enable_mpls_kernel" != no ; then |
302 | BIRD_CHECK_MPLS_KERNEL | |
303 | ||
304 | if test "$bird_cv_mpls_kernel" = yes ; then | |
305 | AC_DEFINE([HAVE_MPLS_KERNEL], [1], [Define to 1 if kernel is MPLS capable]) | |
306 | elif test "$enable_mpls_kernel" = yes ; then | |
307 | AC_MSG_ERROR([Kernel MPLS support not found.]) | |
308 | fi | |
309 | ||
310 | if test "$enable_mpls_kernel" = try ; then | |
311 | enable_mpls_kernel="$bird_cv_mpls_kernel" | |
312 | fi | |
313 | fi | |
314 | ||
02164814 | 315 | all_protocols="$proto_bfd babel bgp mrt ospf perf pipe radv rip rpki static" |
d549b83f | 316 | |
1ec52253 OZ |
317 | all_protocols=`echo $all_protocols | sed 's/ /,/g'` |
318 | ||
319 | if test "$with_protocols" = all ; then | |
b81a73d1 | 320 | with_protocols="$all_protocols" |
1ec52253 OZ |
321 | fi |
322 | ||
7a855725 OZ |
323 | AH_TEMPLATE([CONFIG_BABEL], [Babel protocol]) |
324 | AH_TEMPLATE([CONFIG_BFD], [BFD protocol]) | |
325 | AH_TEMPLATE([CONFIG_BGP], [BGP protocol]) | |
a848dad4 | 326 | AH_TEMPLATE([CONFIG_BMP], [BMP protocol]) |
863ecfc7 | 327 | AH_TEMPLATE([CONFIG_MRT], [MRT protocol]) |
7a855725 OZ |
328 | AH_TEMPLATE([CONFIG_OSPF], [OSPF protocol]) |
329 | AH_TEMPLATE([CONFIG_PIPE], [Pipe protocol]) | |
330 | AH_TEMPLATE([CONFIG_RADV], [RAdv protocol]) | |
331 | AH_TEMPLATE([CONFIG_RIP], [RIP protocol]) | |
525a88d8 | 332 | AH_TEMPLATE([CONFIG_RPKI], [RPKI protocol]) |
7a855725 OZ |
333 | AH_TEMPLATE([CONFIG_STATIC], [Static protocol]) |
334 | ||
2f9bcf97 MM |
335 | AC_MSG_CHECKING([protocols]) |
336 | protocols=`echo "$with_protocols" | sed 's/,/ /g'` | |
b296730c | 337 | if test "$protocols" = no ; then protocols= ; fi |
2f9bcf97 | 338 | for a in $protocols ; do |
b81a73d1 OZ |
339 | if ! test -f $srcdir/proto/$a/Makefile ; then |
340 | AC_MSG_RESULT([failed]) | |
341 | AC_MSG_ERROR([Requested protocol $a not found]) | |
342 | fi | |
343 | AC_DEFINE_UNQUOTED([CONFIG_`echo $a | tr 'a-z' 'A-Z'`]) | |
344 | done | |
345 | AC_MSG_RESULT([ok]) | |
346 | AC_SUBST([protocols]) | |
2f9bcf97 | 347 | |
a07e9d82 | 348 | case $sysdesc in |
1c5b4c5d | 349 | */linux*) |
b81a73d1 OZ |
350 | AC_CHECK_HEADER([linux/rtnetlink.h], |
351 | [], | |
352 | [AC_MSG_ERROR([Appropriate version of Linux kernel headers not found.])], | |
81edd3b3 OZ |
353 | [ |
354 | dnl Some older versions of Linux kernel headers require these includes | |
355 | #include <asm/types.h> | |
356 | #include <sys/socket.h> | |
357 | ] | |
b81a73d1 OZ |
358 | ) |
359 | ;; | |
a07e9d82 MM |
360 | esac |
361 | ||
5d6dc930 | 362 | AC_CHECK_HEADERS_ONCE([alloca.h syslog.h]) |
886dd92e | 363 | AC_CHECK_HEADER([sys/mman.h], [AC_DEFINE([HAVE_MMAP], [1], [Define to 1 if mmap() is available.])]) |
71652572 | 364 | AC_CHECK_MEMBERS([struct sockaddr.sa_len], [], [], [#include <sys/socket.h>]) |
7a855725 OZ |
365 | |
366 | AC_C_BIGENDIAN( | |
367 | [AC_DEFINE([CPU_BIG_ENDIAN], [1], [Define to 1 if cpu is big endian])], | |
368 | [AC_DEFINE([CPU_LITTLE_ENDIAN], [1], [Define to 1 if cpu is little endian])], | |
369 | [AC_MSG_ERROR([Cannot determine CPU endianity.])] | |
370 | ) | |
e6ff7a08 | 371 | |
da16b33a MM |
372 | BIRD_CHECK_ANDROID_GLOB |
373 | if test "$bird_cv_lib_glob" = no ; then | |
374 | AC_MSG_ERROR([glob.h not found.]) | |
375 | elif test "$bird_cv_lib_glob" != yes ; then | |
376 | LIBS="$LIBS $bird_cv_lib_glob" | |
377 | fi | |
378 | ||
379 | BIRD_CHECK_ANDROID_LOG | |
380 | if test "$bird_cv_lib_log" = no ; then | |
381 | AC_MSG_ERROR([don't know how to link syslog.]) | |
382 | elif test "$bird_cv_lib_log" != yes ; then | |
383 | LIBS="$LIBS $bird_cv_lib_log" | |
384 | fi | |
385 | ||
c48ebde5 THJ |
386 | AC_CHECK_FUNCS(getrandom) |
387 | AC_CHECK_FUNCS(getentropy) | |
c48ebde5 | 388 | |
2f9bcf97 | 389 | if test "$enable_debug" = yes ; then |
b81a73d1 | 390 | AC_DEFINE([DEBUGGING], [1], [Define to 1 if debugging is enabled]) |
1c5b4c5d | 391 | LDFLAGS="$LDFLAGS -rdynamic" |
78131eee JMM |
392 | CFLAGS="$CFLAGS -O0 -ggdb -g3" |
393 | ||
394 | BIRD_CHECK_GCC_OPTION([bird_cv_c_option_dwarf4], [-gdwarf-4], []) | |
395 | BIRD_ADD_GCC_OPTION([bird_cv_c_option_dwarf4], [-gdwarf-4]) | |
1c5b4c5d OZ |
396 | |
397 | AC_CHECK_HEADER([execinfo.h], | |
398 | [ | |
399 | AC_DEFINE([HAVE_EXECINFO_H], [1], [Define to 1 if you have the <execinfo.h> header file.]) | |
400 | AC_SEARCH_LIBS([backtrace], [execinfo], | |
b4a33e21 | 401 | [], |
1c5b4c5d OZ |
402 | [AC_MSG_ERROR([Function backtrace not available.])] |
403 | ) | |
404 | ] | |
405 | ) | |
406 | ||
b81a73d1 OZ |
407 | if test "$enable_memcheck" = yes ; then |
408 | AC_CHECK_LIB([dmalloc], [dmalloc_debug]) | |
409 | if test $ac_cv_lib_dmalloc_dmalloc_debug != yes ; then | |
410 | AC_CHECK_LIB([efence], [malloc]) | |
411 | fi | |
412 | fi | |
a0d0a71a | 413 | |
309c874f | 414 | if test "$enable_debug_expensive" = yes ; then |
a0d0a71a MM |
415 | AC_DEFINE([ENABLE_EXPENSIVE_CHECKS], [1], [Define to 1 if you want to run expensive consistency checks.]) |
416 | fi | |
2f9bcf97 MM |
417 | fi |
418 | ||
d3f50ede OZ |
419 | if test "$enable_compact_tries" = yes ; then |
420 | AC_DEFINE([ENABLE_COMPACT_TRIES], [1], [Define to 1 if you want 4-way tries instead of 16-way ones.]) | |
421 | fi | |
422 | ||
7152e5ef | 423 | CLIENT=birdcl |
7211be1c | 424 | CLIENT_LIBS= |
9fac310d | 425 | if test "$enable_client" = yes ; then |
1c5b4c5d | 426 | CLIENT="$CLIENT birdc" |
a01e951d OZ |
427 | BASE_LIBS="$LIBS" |
428 | LIBS="" | |
429 | ||
430 | AC_CHECK_HEADERS([curses.h], | |
431 | [], | |
432 | [AC_MSG_ERROR([The client requires ncurses library. Either install the library or use --disable-client to compile without the client.])], | |
81edd3b3 | 433 | [AC_INCLUDES_DEFAULT] |
b81a73d1 OZ |
434 | ) |
435 | ||
a01e951d OZ |
436 | AC_SEARCH_LIBS([tgetent], [tinfo tinfow ncurses curses termcap], |
437 | [TINFO_LIBS="$LIBS"; LIBS=""], | |
438 | [AC_MSG_ERROR([The client requires ncurses library. Either install the library or use --disable-client to compile without the client.])], | |
439 | ) | |
440 | ||
441 | AC_CHECK_HEADERS([readline/readline.h readline/history.h], | |
442 | [], | |
443 | [AC_MSG_ERROR([The client requires GNU Readline library. Either install the library or use --disable-client to compile without the client.])], | |
81edd3b3 | 444 | [AC_INCLUDES_DEFAULT] |
a01e951d OZ |
445 | ) |
446 | ||
a01e951d OZ |
447 | AC_SEARCH_LIBS([rl_callback_read_char], [readline], |
448 | [READLINE_LIBS="$LIBS"; LIBS=""], | |
a01e951d | 449 | [AC_MSG_ERROR([The client requires GNU Readline library. Either install the library or use --disable-client to compile without the client.])], |
a01e951d | 450 | [$TINFO_LIBS] |
a01e951d OZ |
451 | ) |
452 | ||
b81a73d1 OZ |
453 | AC_CHECK_LIB([readline], [rl_crlf], |
454 | [AC_DEFINE([HAVE_RL_CRLF], [1], [Define to 1 if you have rl_crlf()])], | |
455 | [], | |
a01e951d | 456 | [$TINFO_LIBS] |
b81a73d1 OZ |
457 | ) |
458 | ||
459 | AC_CHECK_LIB([readline], [rl_ding], | |
460 | [AC_DEFINE([HAVE_RL_DING], [1], [Define to 1 if you have rl_ding()])], | |
461 | [], | |
a01e951d | 462 | [$TINFO_LIBS] |
b81a73d1 | 463 | ) |
a01e951d OZ |
464 | |
465 | LIBS="$BASE_LIBS" | |
cce6ba4d | 466 | CLIENT_LIBS="$READLINE_LIBS $TINFO_LIBS" |
9fac310d | 467 | fi |
b81a73d1 OZ |
468 | AC_SUBST([CLIENT]) |
469 | AC_SUBST([CLIENT_LIBS]) | |
9fac310d | 470 | |
54165b13 | 471 | mkdir -p $objdir/sysdep |
7cb37e6f | 472 | AC_CONFIG_HEADERS([$objdir/sysdep/autoconf.h:sysdep/autoconf.h.in]) |
1c5b4c5d | 473 | AC_CONFIG_FILES([Makefile:Makefile.in]) |
22122d4d | 474 | AC_OUTPUT |
2f9bcf97 | 475 | |
7a855725 OZ |
476 | AC_MSG_RESULT() |
477 | AC_MSG_RESULT([BIRD was configured with the following options:]) | |
478 | AC_MSG_RESULT([ Source directory: $srcdir]) | |
479 | AC_MSG_RESULT([ Object directory: $objdir]) | |
480 | AC_MSG_RESULT([ Iproute2 directory: $iproutedir]) | |
481 | AC_MSG_RESULT([ System configuration: $sysdesc]) | |
482 | AC_MSG_RESULT([ Debugging: $enable_debug]) | |
d3f50ede | 483 | AC_MSG_RESULT([ Compact tries: $enable_compact_tries]) |
7a855725 OZ |
484 | AC_MSG_RESULT([ POSIX threads: $enable_pthreads]) |
485 | AC_MSG_RESULT([ Routing protocols: $protocols]) | |
027a3e66 | 486 | AC_MSG_RESULT([ LibSSH support in RPKI: $enable_libssh]) |
6b0f5f68 | 487 | AC_MSG_RESULT([ Kernel MPLS support: $enable_mpls_kernel]) |
7a855725 | 488 | AC_MSG_RESULT([ Client: $enable_client]) |
525a88d8 | 489 | |
b296730c | 490 | rm -f $objdir/.*-stamp |