source: mod_gnutls/configure.ac @ f71e6ce

debian/masterdebian/stretch-backportsjessie-backportsupstream
Last change on this file since f71e6ce was f71e6ce, checked in by Thomas Klute <thomas2.klute@…>, 4 years ago

Check if available GnuTLS library supports SRP

SRP is enabled by default. Fedora (and possibly other distributions)
ships GnuTLS without SRP support, and the module fails to load with
"undefined symbol: gnutls_srp_server_get_username" if the user does not
manually disable it ("./configure --disable-srp"). This commit adds a
check that automatically disables SRP if gnutls_srp_server_get_username
is not available.

  • Property mode set to 100644
File size: 3.5 KB
Line 
1dnl
2AC_INIT(mod_gnutls, 0.6)
3OOO_CONFIG_NICE(config.nice)
4MOD_GNUTLS_VERSION=AC_PACKAGE_VERSION
5AC_PREREQ(2.53)
6AC_CONFIG_SRCDIR([src/mod_gnutls.c])
7AC_CONFIG_AUX_DIR(config)
8
9OOO_MAINTAIN_MODE
10AM_MAINTAINER_MODE
11AC_CANONICAL_TARGET
12AM_INIT_AUTOMAKE
13AM_CONFIG_HEADER(include/mod_gnutls_config.h:config.in)
14
15AC_SUBST(MOD_GNUTLS_VERSION)
16
17AC_PROG_CC
18AC_PROG_LD
19AC_PROG_INSTALL
20AC_PROG_LIBTOOL
21
22AC_CONFIG_MACRO_DIR([m4])
23
24AP_VERSION=2.0.40
25CHECK_APACHE(,$AP_VERSION,
26    :,:,
27    AC_MSG_ERROR([*** Apache version $AP_VERSION not found!])
28)
29
30PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 3.1.4])
31
32LIBGNUTLS_VERSION=`pkg-config --modversion gnutls`
33
34AC_ARG_ENABLE(srp,
35       AS_HELP_STRING([--disable-srp],
36               [unconditionally disable the SRP functionality]),
37       use_srp=$enableval, use_srp=yes)
38
39# check if the available GnuTLS library supports SRP
40AC_SEARCH_LIBS([gnutls_srp_server_get_username], [gnutls], [], [use_srp="no"])
41
42SRP_CFLAGS=""
43if test "$use_srp" != "no"; then
44        SRP_CFLAGS="-DENABLE_SRP=1"
45fi
46
47AC_ARG_ENABLE(strict,
48       AS_HELP_STRING([--disable-strict],
49               [Avoid strict compiler warnings and errors]),
50       use_strict=$enableval, use_strict=yes)
51
52STRICT_CFLAGS=""
53if test "$use_strict" != "no"; then
54        STRICT_CFLAGS="-Wall -Werror -Wextra"
55fi
56
57AC_MSG_CHECKING([whether to enable SRP functionality])
58AC_MSG_RESULT($use_srp)
59
60AC_ARG_ENABLE(msva,
61       AS_HELP_STRING([--enable-msva],
62               [enable Monkeysphere client certificate verification]),
63       use_msva=$enableval, use_msva=no)
64AM_CONDITIONAL([USE_MSVA], [test "$use_msva" = "$enableval"])
65
66MSVA_CFLAGS=""
67if test "$use_msva" != "no"; then
68        AC_CHECK_HEADERS([msv/msv.h], [],
69                         [AC_MSG_ERROR([*** No libmsv headers found!])])
70        AC_SEARCH_LIBS([msv_query_agent], [msv], [],
71                         [AC_MSG_ERROR([*** No libmsv found with msv_query_agent!])])
72        MSVA_CFLAGS="-DENABLE_MSVA=1"
73fi
74
75AC_MSG_CHECKING([whether to enable MSVA functionality])
76AC_MSG_RESULT($use_msva)
77
78have_apr_memcache=0
79CHECK_APR_MEMCACHE([have_apr_memcache=1], [have_apr_memcache=0])
80AC_SUBST(have_apr_memcache)
81
82# Building documentation requires pandoc, which in turn needs pdflatex
83# to build PDF output.
84build_doc=no
85AC_PATH_PROG([PANDOC], [pandoc], [no])
86if test "$PANDOC" != "no"; then
87        AC_PATH_PROG([PDFLATEX], [pdflatex], [no])
88        if test "$PDFLATEX" != "no"; then
89                build_doc=yes
90        else
91                build_doc="html only"
92        fi
93fi
94AM_CONDITIONAL([USE_PANDOC], [test "$PANDOC" != "no"])
95AM_CONDITIONAL([USE_PDFLATEX], [test "$PANDOC" != "no" && \
96                               test "$PDFLATEX" != "no"])
97
98# Check for apache2ctl or apachectl
99AC_PATH_PROGS([APACHECTL], [apache2ctl apachectl], [no])
100if test "${APACHECTL}" = "no"; then
101        AC_MSG_WARN([Neither apache2ctl nor apachectl found in \
102                     PATH. Test suite will fail.])
103fi
104
105MODULE_CFLAGS="${LIBGNUTLS_CFLAGS} ${SRP_CFLAGS} ${MSVA_CFLAGS} ${APR_MEMCACHE_CFLAGS} ${APXS_CFLAGS} ${AP_INCLUDES} ${APR_INCLUDES} ${APU_INCLUDES} ${STRICT_CFLAGS}"
106MODULE_LIBS="${APR_MEMCACHE_LIBS} ${LIBGNUTLS_LIBS}"
107
108AC_SUBST(MODULE_CFLAGS)
109AC_SUBST(MODULE_LIBS)
110
111AC_CONFIG_FILES([Makefile src/Makefile test/Makefile test/tests/Makefile \
112                          doc/Makefile include/mod_gnutls.h])
113AC_OUTPUT
114
115echo "---"
116echo "Configuration summary for mod_gnutls:"
117echo ""
118echo "   * mod_gnutls version:  ${MOD_GNUTLS_VERSION}"
119echo "   * Apache Modules directory:    ${AP_LIBEXECDIR}"
120echo "   * GnuTLS Library version:      ${LIBGNUTLS_VERSION}"
121echo "   * SRP Authentication:  ${use_srp}"
122echo "   * MSVA Client Verification:    ${use_msva}"
123echo "   * Build documentation: ${build_doc}"
124echo ""
125echo "---"
Note: See TracBrowser for help on using the repository browser.