]> git.ipfire.org Git - thirdparty/squid.git/blob - src/auth/negotiate/helpers.m4
SourceFormat Enforcement
[thirdparty/squid.git] / src / auth / negotiate / helpers.m4
1 ## Copyright (C) 1996-2017 The Squid Software Foundation and contributors
2 ##
3 ## Squid software is distributed under GPLv2+ license and includes
4 ## contributions from numerous individuals and organizations.
5 ## Please see the COPYING and CONTRIBUTORS files for details.
6 ##
7
8 # This file is supposed to run all the tests required to identify which
9 # configured modules are able to be built in this environment
10
11 # FIXME: de-duplicate $enable_auth_negotiate list containing double entries.
12
13 #not specified. Inherit global
14 if test "x$enable_auth_negotiate" = "x"; then
15 enable_auth_negotiate=$enable_auth
16 fi
17 #conflicts with global
18 if test "x$enable_auth_negotiate" != "xno" -a "x$enable_auth" = "xno" ; then
19 AC_MSG_ERROR([Negotiate auth requested but auth disabled])
20 fi
21 #define list of modules to build
22 auto_auth_negotiate_modules=no
23 if test "x$enable_auth_negotiate" = "xyes" ; then
24 SQUID_LOOK_FOR_MODULES([$srcdir/src/auth/negotiate],[enable_auth_negotiate])
25 auto_auth_negotiate_modules=yes
26 fi
27 #handle the "none" special case
28 if test "x$enable_auth_negotiate" = "xnone" ; then
29 enable_auth_negotiate=""
30 fi
31
32 NEGOTIATE_AUTH_HELPERS=""
33 enable_auth_negotiate="`echo $enable_auth_negotiate| sed -e 's/,/ /g;s/ */ /g'`"
34 if test "x$enable_auth_negotiate" != "xno" ; then
35 AUTH_MODULES="$AUTH_MODULES negotiate"
36 AC_DEFINE([HAVE_AUTH_MODULE_NEGOTIATE],1,[Negotiate auth module is built])
37 for helper in $enable_auth_negotiate; do
38 dir="$srcdir/src/auth/negotiate/$helper"
39
40 # modules converted to autoconf macros already
41 # NP: we only need this list because m4_include() does not accept variables
42 if test "x$helper" = "xSSPI" ; then
43 m4_include([src/auth/negotiate/SSPI/required.m4])
44
45 elif test "x$helper" = "xkerberos" ; then
46 m4_include([src/auth/negotiate/kerberos/required.m4])
47
48 elif test "x$helper" = "xwrapper" ; then
49 m4_include([src/auth/negotiate/wrapper/required.m4])
50
51 # modules not yet converted to autoconf macros (or third party drop-in's)
52 elif test -f "$dir/config.test" && sh "$dir/config.test" "$squid_host_os"; then
53 BUILD_HELPER="$helper"
54 fi
55
56 if test -d "$srcdir/src/auth/negotiate/$helper"; then
57 if test "$BUILD_HELPER" != "$helper"; then
58 if test "x$auto_auth_negotiate_modules" = "xyes"; then
59 AC_MSG_NOTICE([Negotiate auth helper $helper ... found but cannot be built])
60 else
61 AC_MSG_ERROR([Negotiate auth helper $helper ... found but cannot be built])
62 fi
63 else
64 NEGOTIATE_AUTH_HELPERS="$NEGOTIATE_AUTH_HELPERS $BUILD_HELPER"
65 fi
66 else
67 AC_MSG_ERROR([Negotiate auth helper $helper ... not found])
68 fi
69 done
70 fi
71
72 AC_MSG_NOTICE([Negotiate auth helpers to be built: $NEGOTIATE_AUTH_HELPERS])
73 AM_CONDITIONAL(ENABLE_AUTH_NEGOTIATE, test "x$enable_auth_negotiate" != "xno")
74 AC_SUBST(NEGOTIATE_AUTH_HELPERS)