]>
Commit | Line | Data |
---|---|---|
2f9bcf97 MM |
1 | dnl ** Additional Autoconf tests for BIRD configure script |
2 | dnl ** (c) 1999 Martin Mares <mj@ucw.cz> | |
3 | ||
7a855725 | 4 | AC_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 MM |
34 | AC_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 |
68 | AC_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 | ||
104 | AC_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 | 134 | AC_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 | 154 | AC_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 | 163 | AC_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 MM |
178 | |
179 | AC_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 MM |
189 | ;; |
190 | 3.* | 4.* | 5.* | 6.* | 7.* | 8.* | 9.*) | |
191 | bird_bison_synclines=yes | |
7ffc0a65 | 192 | bird_bison_enhanced_error=yes |
86b9e8e3 MM |
193 | ;; |
194 | *) | |
195 | AC_MSG_ERROR([Couldn't parse Bison version $$1. Call the developers for help.]) | |
196 | ;; | |
197 | esac | |
198 | ]) |