make it possible to build without acceptor
[mech_eap.git] / acinclude.m4
1 dnl Based on the one from the Boinc project by Reinhard
2
3 AC_DEFUN([AX_CHECK_KRB5],
4 [AC_MSG_CHECKING(for GSS-API and Kerberos implementation)
5 KRB5_DIR=
6 found_krb5="no"
7 AC_ARG_WITH(krb5,
8     AC_HELP_STRING([--with-krb5],
9        [Use krb5 (in specified installation directory)]),
10     [check_krb5_dir="$withval"],
11     [check_krb5_dir=])
12 for dir in $check_krb5_dir $prefix /usr /usr/local ; do
13    krb5dir="$dir"
14    if test -x "$dir/bin/krb5-config"; then
15      found_krb5="yes";
16      KRB5_CFLAGS=`$dir/bin/krb5-config gssapi --cflags`;
17      KRB5_LIBS=`$dir/bin/krb5-config gssapi --libs`;
18      COMPILE_ET="$dir/bin/compile_et";
19      break;
20    fi
21 done
22 AC_MSG_RESULT($found_krb5)
23 if test x_$found_krb5 != x_yes; then
24    AC_MSG_ERROR([
25 ----------------------------------------------------------------------
26   Cannot find GSS-API/Kerberos libraries.
27
28   Please install MIT or Heimdal or specify installation directory with
29   --with-krb5=(dir).
30 ----------------------------------------------------------------------
31 ])
32 else
33         printf "Kerberos found in $krb5dir\n";
34         AC_SUBST(KRB5_CFLAGS)
35         AC_SUBST(KRB5_LIBS)
36         AC_SUBST(COMPILE_ET)
37         AC_CHECK_LIB(krb5, GSS_C_NT_COMPOSITE_EXPORT, [AC_DEFINE_UNQUOTED([HAVE_GSS_C_NT_COMPOSITE_EXPORT], 1, [Define if GSS-API library supports recent naming extensions draft])], [], "$KRB5_LIBS")
38         AC_CHECK_LIB(krb5, gss_inquire_attrs_for_mech, [AC_DEFINE_UNQUOTED([HAVE_GSS_INQUIRE_ATTRS_FOR_MECH], 1, [Define if GSS-API library supports RFC 5587])], [], "$KRB5_LIBS")
39         AC_CHECK_LIB(krb5, gss_krb5_import_cred, [AC_DEFINE_UNQUOTED([HAVE_GSS_KRB5_IMPORT_CRED], 1, [Define if GSS-API library supports gss_krb5_import_cred])], [], "$KRB5_LIBS")
40         AC_CHECK_LIB(krb5, heimdal_version, [AC_DEFINE_UNQUOTED([HAVE_HEIMDAL_VERSION], 1, [Define if building against Heimdal Kerberos implementation]), heimdal=yes], [heimdal=no], "$KRB5_LIBS")
41         AM_CONDITIONAL(HEIMDAL, test "x$heimdal" != "xno")
42 fi
43 ])dnl
44
45 AC_DEFUN([AX_CHECK_EAP],
46 [AC_MSG_CHECKING(for EAP implementation)
47 EAP_DIR=
48 found_eap="no"
49 AC_ARG_WITH(eap,
50     AC_HELP_STRING([--with-eap],
51        [Use eap (in specified installation directory)]),
52     [check_eap_dir="$withval"],
53     [check_eap_dir=])
54 for dir in $check_eap_dir $prefix /usr /usr/local ../libeap ; do
55    eapdir="$dir"
56    if test -f "$dir/src/eap_peer/eap.h"; then
57      found_eap="yes";
58      EAP_DIR="${eapdir}"
59      EAP_CFLAGS="-I$eapdir/src/common -I$eapdir/src -I$eapdir/src/utils";
60      break;
61    fi
62 done
63 AC_MSG_RESULT($found_eap)
64 if test x_$found_eap != x_yes; then
65    AC_MSG_ERROR([
66 ----------------------------------------------------------------------
67   Cannot find EAP libraries.
68
69   Please install wpa_supplicant or specify installation directory with
70   --with-eap=(dir).
71 ----------------------------------------------------------------------
72 ])
73 else
74         printf "EAP found in $eapdir\n";
75         EAP_CFLAGS="$EAP_CFLAGS \
76 -DEAP_TLS \
77 -DEAP_PEAP \
78 -DEAP_TTLS \
79 -DEAP_MD5 \
80 -DEAP_MSCHAPv2 \
81 -DEAP_GTC \
82 -DEAP_OTP \
83 -DEAP_LEAP \
84 -DEAP_PSK \
85 -DEAP_PAX \
86 -DEAP_SAKE \
87 -DEAP_GPSK \
88 -DEAP_GPSK_SHA256 \
89 -DEAP_SERVER_IDENTITY \
90 -DEAP_SERVER_TLS \
91 -DEAP_SERVER_PEAP \
92 -DEAP_SERVER_TTLS \
93 -DEAP_SERVER_MD5 \
94 -DEAP_SERVER_MSCHAPV2 \
95 -DEAP_SERVER_GTC \
96 -DEAP_SERVER_PSK \
97 -DEAP_SERVER_PAX \
98 -DEAP_SERVER_SAKE \
99 -DEAP_SERVER_GPSK \
100 -DEAP_SERVER_GPSK_SHA256 \
101 -DIEEE8021X_EAPOL";
102         EAP_LIBS="-leap -lutils -lcrypto -ltls";
103         EAP_LDFLAGS="-L$eapdir/eap_example -L$eapdir/src/utils -L$eapdir/src/crypto -L$eapdir/src/tls";
104         AC_SUBST(EAP_CFLAGS)
105         AC_SUBST(EAP_LDFLAGS)
106         AC_SUBST(EAP_LIBS)
107 fi
108 ])dnl
109
110 AC_DEFUN([AX_CHECK_SHIBSP],
111 [AC_MSG_CHECKING(for Shibboleth implementation)
112 SHIBSP_DIR=
113 found_shibsp="no"
114 AC_ARG_WITH(shibsp,
115     AC_HELP_STRING([--with-shibsp],
116        [Use shibspboleth (in specified installation directory)]),
117     [check_shibsp_dir="$withval"],
118     [check_shibsp_dir=])
119 for dir in $check_shibsp_dir $prefix /usr /usr/local ; do
120    shibspdir="$dir"
121    if test -f "$dir/include/shibsp/SPConfig.h"; then
122      found_shibsp="yes";
123      SHIBSP_DIR="${shibspdir}"
124      SHIBSP_CXXFLAGS="-I$shibspdir/include";
125      break;
126    fi
127 done
128 AC_MSG_RESULT($found_shibsp)
129 if test x_$found_shibsp != x_yes; then
130    AC_MSG_ERROR([
131 ----------------------------------------------------------------------
132   Cannot find Shibboleth libraries.
133
134   Please install Shibboleth or specify installation directory with
135   --with-shibsp=(dir).
136 ----------------------------------------------------------------------
137 ])
138 else
139         printf "Shibboleth found in $shibspdir\n";
140         SHIBSP_LIBS="-lshibsp -lsaml -lxml-security-c -lxmltooling -lxerces-c";
141         SHIBSP_LDFLAGS="-L$shibspdir/lib";
142         AC_SUBST(SHIBSP_CXXFLAGS)
143         AC_SUBST(SHIBSP_LDFLAGS)
144         AC_SUBST(SHIBSP_LIBS)
145         AC_DEFINE_UNQUOTED([HAVE_SHIBSP], 1, [Define is Shibboleth SP is available])
146 fi
147 ])dnl
148
149 AC_DEFUN([AX_CHECK_SHIBRESOLVER],
150 [AC_MSG_CHECKING(for Shibboleth resolver implementation)
151 SHIBRESOLVER_DIR=
152 found_shibresolver="no"
153 AC_ARG_WITH(shibresolver,
154     AC_HELP_STRING([--with-shibresolver],
155        [Use Shibboleth resolver (in specified installation directory)]),
156     [check_shibresolver_dir="$withval"],
157     [check_shibresolver_dir=])
158 if test x_$check_shibresolver_dir != x_no; then
159 for dir in $check_shibresolver_dir $prefix /usr /usr/local ; do
160    shibresolverdir="$dir"
161    if test -f "$dir/include/shibresolver/resolver.h"; then
162      found_shibresolver="yes";
163      SHIBRESOLVER_DIR="${shibresolverdir}"
164      SHIBRESOLVER_CXXFLAGS="-I$shibresolverdir/include";
165      break;
166    fi
167 done
168 fi
169 AC_MSG_RESULT($found_shibresolver)
170 if test x_$check_shibresolver_dir != x_no; then
171 if test x_$found_shibresolver != x_yes; then
172    AC_MSG_WARN([
173 ----------------------------------------------------------------------
174   Cannot find Shibboleth resolver libraries, building without
175   Shibboleth support.
176
177   Please install Shibboleth or specify installation directory with
178   --with-shibresolver=(dir).
179 ----------------------------------------------------------------------
180 ])
181 else
182         printf "Shibboleth resolver found in $shibresolverdir\n";
183         SHIBRESOLVER_LIBS="-lshibresolver";
184         SHIBRESOLVER_LDFLAGS="-L$shibresolverdir/lib";
185         AC_SUBST(SHIBRESOLVER_CXXFLAGS)
186         AC_SUBST(SHIBRESOLVER_LDFLAGS)
187         AC_SUBST(SHIBRESOLVER_LIBS)
188         AC_DEFINE_UNQUOTED([HAVE_SHIBRESOLVER], 1, [Define is Shibboleth resolver is available])
189 fi
190 fi
191 ])dnl
192
193 AC_DEFUN([AX_CHECK_OPENSAML],
194 [AC_MSG_CHECKING(for OpenSAML implementation)
195 OPENSAML_DIR=
196 found_opensaml="no"
197 AC_ARG_WITH(opensaml,
198     AC_HELP_STRING([--with-opensaml],
199        [Use OpenSAML (in specified installation directory)]),
200     [check_opensaml_dir="$withval"],
201     [check_opensaml_dir=])
202 if test x_$check_opensaml_dir != x_no; then
203 for dir in $check_opensaml_dir $prefix /usr /usr/local ; do
204    opensamldir="$dir"
205    if test -f "$dir/include/saml/Assertion.h"; then
206      found_opensaml="yes";
207      OPENSAML_DIR="${opensamldir}"
208      OPENSAML_CXXFLAGS="-I$opensamldir/include";
209      break;
210    fi
211 done
212 fi
213 AC_MSG_RESULT($found_opensaml)
214 if test x_$check_opensaml_dir != x_no; then
215 if test x_$found_opensaml != x_yes; then
216    AC_MSG_WARN([
217 ----------------------------------------------------------------------
218   Cannot find OpenSAML libraries, building without OpenSAML support.
219
220   Please install OpenSAML or specify installation directory with
221   --with-opensaml=(dir).
222 ----------------------------------------------------------------------
223 ])
224 else
225         printf "OpenSAML found in $opensamldir\n";
226         OPENSAML_LIBS="-lsaml -lxml-security-c -lxmltooling -lxerces-c";
227         OPENSAML_LDFLAGS="-L$opensamldir/lib";
228         AC_SUBST(OPENSAML_CXXFLAGS)
229         AC_SUBST(OPENSAML_LDFLAGS)
230         AC_SUBST(OPENSAML_LIBS)
231         AC_DEFINE_UNQUOTED([HAVE_OPENSAML], 1, [Define is OpenSAML is available])
232 fi
233 fi
234 ])dnl
235
236 AC_DEFUN([AX_CHECK_RADSEC],
237 [AC_MSG_CHECKING(for radsec)
238 RADSEC_DIR=
239 found_radsec="no"
240 AC_ARG_WITH(radsec,
241     AC_HELP_STRING([--with-radsec],
242        [Use radsec (in specified installation directory)]),
243     [check_radsec_dir="$withval"],
244     [check_radsec_dir=])
245 for dir in $check_radsec_dir $prefix /usr /usr/local ; do
246    radsecdir="$dir"
247    if test -f "$dir/include/radsec/radsec.h"; then
248      found_radsec="yes";
249      RADSEC_DIR="${radsecdir}"
250      RADSEC_CFLAGS="-I$radsecdir/include";
251      break;
252    fi
253 done
254 AC_MSG_RESULT($found_radsec)
255 if test x_$found_radsec != x_yes; then
256    AC_MSG_ERROR([
257 ----------------------------------------------------------------------
258   Cannot find radsec libraries.
259
260   Please install libradsec or specify installation directory with
261   --with-radsec=(dir).
262 ----------------------------------------------------------------------
263 ])
264 else
265         printf "radsec found in $radsecdir\n";
266         RADSEC_LIBS="-lradsec";
267         RADSEC_LDFLAGS="-L$radsecdir/lib";
268         AC_SUBST(RADSEC_CFLAGS)
269         AC_SUBST(RADSEC_LDFLAGS)
270         AC_SUBST(RADSEC_LIBS)
271 fi
272 ])dnl
273
274 AC_DEFUN([AX_CHECK_JANSSON],
275 [AC_MSG_CHECKING(for jansson)
276 JANSSON_DIR=
277 found_jansson="no"
278 AC_ARG_WITH(jansson,
279     AC_HELP_STRING([--with-jansson],
280        [Use jansson (in specified installation directory)]),
281     [check_jansson_dir="$withval"],
282     [check_jansson_dir=])
283 for dir in $check_jansson_dir $prefix /usr /usr/local ; do
284    janssondir="$dir"
285    if test -f "$dir/include/jansson.h"; then
286      found_jansson="yes";
287      JANSSON_DIR="${janssondir}"
288      JANSSON_CFLAGS="-I$janssondir/include";
289      break;
290    fi
291 done
292 AC_MSG_RESULT($found_jansson)
293 if test x_$found_jansson != x_yes; then
294    AC_MSG_ERROR([
295 ----------------------------------------------------------------------
296   Cannot find jansson libraries.
297
298   Please install libjansson or specify installation directory with
299   --with-jansson=(dir).
300 ----------------------------------------------------------------------
301 ])
302 else
303         printf "jansson found in $janssondir\n";
304         JANSSON_LIBS="-ljansson";
305         JANSSON_LDFLAGS="-L$janssondir/lib";
306         AC_SUBST(JANSSON_CFLAGS)
307         AC_SUBST(JANSSON_LDFLAGS)
308         AC_SUBST(JANSSON_LIBS)
309 fi
310 ])dnl
311
312 AC_DEFUN([AX_CHECK_LIBMOONSHOT],
313 [AC_MSG_CHECKING(for Moonshot identity selector implementation)
314 LIBMOONSHOT_DIR=
315 found_libmoonshot="no"
316 AC_ARG_WITH(libmoonshot,
317     AC_HELP_STRING([--with-libmoonshot],
318        [Use libmoonshot (in specified installation directory)]),
319     [check_libmoonshot_dir="$withval"],
320     [check_libmoonshot_dir=])
321 for dir in $check_libmoonshot_dir $prefix /usr /usr/local ../../moonshot-ui/libmoonshot ; do
322    libmoonshotdir="$dir"
323    if test -f "$dir/include/libmoonshot.h"; then
324      found_libmoonshot="yes";
325      LIBMOONSHOT_DIR="${libmoonshotdir}"
326      LIBMOONSHOT_CFLAGS="-I$libmoonshotdir/include";
327      break;
328    fi
329 done
330 AC_MSG_RESULT($found_libmoonshot)
331 if test x_$found_libmoonshot != x_yes; then
332    AC_MSG_ERROR([
333 ----------------------------------------------------------------------
334   Cannot find Moonshot identity selector libraries.
335
336   Please install wpa_supplicant or specify installation directory with
337   --with-libmoonshot=(dir).
338 ----------------------------------------------------------------------
339 ])
340 else
341         printf "libmoonshot found in $libmoonshotdir\n";
342         LIBMOONSHOT_LIBS="-lmoonshot";
343         LIBMOONSHOT_LDFLAGS="-L$libmoonshot/lib";
344         AC_SUBST(LIBMOONSHOT_CFLAGS)
345         AC_SUBST(LIBMOONSHOT_LDFLAGS)
346         AC_SUBST(LIBMOONSHOT_LIBS)
347         AC_CHECK_LIB(moonshot, moonshot_get_identity, [AC_DEFINE_UNQUOTED([HAVE_MOONSHOT_GET_IDENTITY], 1, [Define if Moonshot identity selector is available])], [], "$LIBMOONSHOT_LIBS")
348 fi
349 ])dnl
350