]> git.ipfire.org Git - thirdparty/bird.git/blame - aclocal.m4
Add mock-up function for unit tests
[thirdparty/bird.git] / aclocal.m4
CommitLineData
2f9bcf97
MM
1dnl ** Additional Autoconf tests for BIRD configure script
2dnl ** (c) 1999 Martin Mares <mj@ucw.cz>
3
7a855725 4AC_DEFUN([BIRD_CHECK_PTHREADS],
1ec52253
OZ
5[
6 bird_tmp_cflags="$CFLAGS"
1ec52253 7 CFLAGS="$CFLAGS -pthread"
b81a73d1
OZ
8
9 AC_CACHE_CHECK(
10 [whether POSIX threads are available],
11 [bird_cv_lib_pthreads],
12 [
13 AC_LINK_IFELSE(
14 [
15 AC_LANG_PROGRAM(
16 [ #include <pthread.h> ],
17 [
18 pthread_t pt;
19 pthread_create(&pt, NULL, NULL, NULL);
20 pthread_spinlock_t lock;
21 pthread_spin_lock(&lock);
22 ]
23 )
24 ],
25 [bird_cv_lib_pthreads=yes],
26 [bird_cv_lib_pthreads=no]
27 )
28 ]
29 )
1ec52253
OZ
30
31 CFLAGS="$bird_tmp_cflags"
32])
33
6b0f5f68
MJM
34AC_DEFUN([BIRD_CHECK_MPLS_KERNEL],
35[
36 AC_CACHE_CHECK(
37 [for Linux MPLS headers],
38 [bird_cv_mpls_kernel],
39 [
40 AC_COMPILE_IFELSE(
41 [
42 AC_LANG_PROGRAM(
43 [
44 #include <linux/lwtunnel.h>
45 #include <linux/netlink.h>
46 #include <linux/rtnetlink.h>
47 #include <sys/socket.h>
48 void t(int arg);
49 ],
50 [
51 t(AF_MPLS);
52 t(RTA_VIA);
53 t(RTA_NEWDST);
54 t(RTA_ENCAP_TYPE);
55 t(RTA_ENCAP);
56 struct rtvia rtvia;
57 t(LWTUNNEL_ENCAP_MPLS);
58 ]
59 )
60 ],
61 [bird_cv_mpls_kernel=yes],
62 [bird_cv_mpls_kernel=no]
63 )
64 ]
65 )
66])
67
da16b33a
MM
68AC_DEFUN([BIRD_CHECK_ANDROID_GLOB],
69[
70 AC_CACHE_CHECK(
71 [for glob.h],
72 [bird_cv_lib_glob],
73 AC_LINK_IFELSE([
74 AC_LANG_PROGRAM(
75 [
76 #include <glob.h>
77 #include <stdlib.h>
78 ],
79 [ glob(NULL, 0, NULL, NULL); ]
80 )
81 ],
82 [bird_cv_lib_glob=yes],
83 [
84 bird_tmp_libs="$LIBS"
85 LIBS="$LIBS -landroid-glob"
86 AC_LINK_IFELSE([
87 AC_LANG_PROGRAM(
88 [
89 #include <glob.h>
90 #include <stdlib.h>
91 ],
92 [ glob(NULL, 0, NULL, NULL); ]
93 )
94 ],
95 [bird_cv_lib_glob=-landroid-glob],
96 [bird_cv_lib_glob=no]
97 )
98 LIBS="$bird_tmp_libs"
99 ]
100 )
101 )
102])
103
104AC_DEFUN([BIRD_CHECK_ANDROID_LOG],
105[
106 AC_CACHE_CHECK(
107 [for syslog lib flags],
108 [bird_cv_lib_log],
109 AC_LINK_IFELSE([
110 AC_LANG_PROGRAM(
111 [ #include <sys/syslog.h> ],
112 [ syslog(0, ""); ]
113 )
114 ],
115 [bird_cv_lib_log=yes],
116 [
117 bird_tmp_libs="$LIBS"
118 LIBS="$LIBS -llog"
119 AC_LINK_IFELSE([
120 AC_LANG_PROGRAM(
121 [ #include <sys/syslog.h> ],
122 [ syslog(0, ""); ]
123 )
124 ],
125 [bird_cv_lib_log=-llog],
126 [bird_cv_lib_log=no]
127 )
128 LIBS="$bird_tmp_libs"
129 ]
130 )
131 )
132])
6b0f5f68 133
7a855725 134AC_DEFUN([BIRD_CHECK_GCC_OPTION],
efd6d12b
OZ
135[
136 bird_tmp_cflags="$CFLAGS"
efd6d12b 137 CFLAGS="$3 $2"
b81a73d1
OZ
138
139 AC_CACHE_CHECK(
140 [whether CC supports $2],
141 [$1],
142 [
143 AC_COMPILE_IFELSE(
144 [AC_LANG_PROGRAM()],
145 [$1=yes],
146 [$1=no]
147 )
148 ]
149 )
efd6d12b
OZ
150
151 CFLAGS="$bird_tmp_cflags"
152])
153
7a855725 154AC_DEFUN([BIRD_ADD_GCC_OPTION],
efd6d12b
OZ
155[
156 if test "$$1" = yes ; then
157 CFLAGS="$CFLAGS $2"
158 fi
159])
b1c030b0 160
8de11deb 161# BIRD_CHECK_PROG_FLAVOR_GNU(PROGRAM-PATH, IF-SUCCESS, [IF-FAILURE])
b81a73d1 162# copied from autoconf internal _AC_PATH_PROG_FLAVOR_GNU
c253ec3a 163AC_DEFUN([BIRD_CHECK_PROG_FLAVOR_GNU],
b81a73d1
OZ
164[
165 # Check for GNU $1
166 case `"$1" --version 2>&1` in
167 *GNU*)
168 $2
169 ;;
170 m4_ifval([$3],
171 [*)
172 $3
173 ;;
174 ]
175 )
176 esac
c253ec3a 177])
86b9e8e3
JMM
178
179AC_DEFUN([BIRD_CHECK_BISON_VERSION],
180[
181 $1=`bison --version | ( read line; echo ${line##* } )`
182 case "$$1" in
183 1.* | 2.0* | 2.1* | 2.2* | 2.3*)
184 AC_MSG_ERROR([Provided Bison version $$1 is too old, need at least 2.4])
185 ;;
186 2.*)
187 bird_bison_synclines=no
7ffc0a65 188 bird_bison_enhanced_error=no
86b9e8e3
JMM
189 ;;
190 3.* | 4.* | 5.* | 6.* | 7.* | 8.* | 9.*)
191 bird_bison_synclines=yes
7ffc0a65 192 bird_bison_enhanced_error=yes
86b9e8e3
JMM
193 ;;
194 *)
195 AC_MSG_ERROR([Couldn't parse Bison version $$1. Call the developers for help.])
196 ;;
197 esac
198])