summaryrefslogtreecommitdiff
path: root/configure.ac
blob: 116598ad86408c0e775400e7b680ed2aeafee9fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.69])
AC_INIT([rexmpp], [0.0.0], [defanor@uberspace.net])
AM_INIT_AUTOMAKE([-Werror -Wall])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([src/rexmpp.c])
AC_CONFIG_HEADERS([src/config.h])
AC_CONFIG_FILES([Makefile src/Makefile rexmpp.pc Doxyfile])

# Checks for programs.
AC_PROG_CC
AM_PROG_AR

LT_INIT

# Checks for libraries and related parameters.

PKG_CHECK_MODULES([LIBXML], [libxml-2.0])

PKG_CHECK_MODULES([GSASL], [libgsasl])

AM_PATH_LIBGCRYPT


# DNS: libunbound or c-ares, optional

AC_ARG_VAR([DNSSEC_TRUST_ANCHOR_FILE],
        [A DNSSEC trust anchor, containing DNSKEY in zone file format])
AS_IF([test "x$DNSSEC_TRUST_ANCHOR_FILE" == "x"],
      [DNSSEC_TRUST_ANCHOR_FILE="/usr/share/dns/root.key"])
AC_DEFINE_UNQUOTED([DNSSEC_TRUST_ANCHOR_FILE],
        "$DNSSEC_TRUST_ANCHOR_FILE",
        [A DNSSEC trust anchor, containing DNSKEY in zone file format])

AC_ARG_WITH([unbound],
        AS_HELP_STRING([--without-unbound], [don't use libunbound]))
AC_ARG_WITH([cares],
        AS_HELP_STRING([--with-cares], [use c-ares]))

AS_IF([test "x$with_unbound" != "xno"],
      [PKG_CHECK_MODULES([UNBOUND], [libunbound],
        [AC_DEFINE([USE_UNBOUND], [1], [Use libunbound])])])
AS_IF([test "x$with_cares" == "xyes"],
      [PKG_CHECK_MODULES([CARES], [libcares],
        [AC_DEFINE([USE_CARES], [1], [Use c-ares])])])

# GPGME, optional

AC_ARG_WITH([gpgme],
        AS_HELP_STRING([--without-gpgme], [Don't use GPGME for OpenPGP]))
AS_IF([test "x$with_gpgme" != "xno"],
      [AM_PATH_GPGME([], [AC_DEFINE([HAVE_GPGME], [1], [GPGME is available])])])

# TLS: GnuTLS, OpenSSL, or none

AC_ARG_ENABLE([tls], AS_HELP_STRING([--disable-tls], [build without TLS support]))
AC_ARG_WITH([openssl],
        AS_HELP_STRING([--with-openssl], [use OpenSSL]))
AC_ARG_WITH([gnutls],
        AS_HELP_STRING([--with-gnutls], [use GnuTLS]))

AS_IF([test "x$with_gnutls" == "xyes"],
      [PKG_CHECK_MODULES([GNUTLS], [gnutls],
        [PKG_CHECK_MODULES([LIBDANE], [gnutls-dane],
          [AC_DEFINE([USE_GNUTLS], [1], [Use GnuTLS])])])],

      [test "x$with_openssl" == "xyes"],
      [PKG_CHECK_MODULES([OPENSSL], [openssl],
        [AC_DEFINE([USE_OPENSSL], [1], [Use OpenSSL])])],

      [test "x$enable_tls" != "xno"],
      [PKG_CHECK_MODULES([GNUTLS], [gnutls],
        [PKG_CHECK_MODULES([LIBDANE], [gnutls-dane],
          [AC_DEFINE([USE_GNUTLS], [1], [Use GnuTLS])],
          [PKG_CHECK_MODULES([OPENSSL], [openssl],
            [AC_DEFINE([USE_OPENSSL], [1], [Use OpenSSL])])])])])

# ICU, optional

AC_ARG_WITH([icu],
        AS_HELP_STRING([--without-icu], [don't use ICU for JID checks]))
AS_IF([test "x$with_icu" != "xno"],
      [PKG_CHECK_MODULES([ICU_I18N], [icu-i18n],
        AC_DEFINE([HAVE_ICU], [1], [icu-i18n is available]))])

# curl, optional

AC_ARG_WITH([curl],
        AS_HELP_STRING([--without-curl], [don't use curl for HTTP file upload]))
AS_IF([test "x$with_curl" != "xno"],
      [PKG_CHECK_MODULES([CURL], [libcurl],
        AC_DEFINE([HAVE_CURL], [1], [curl is available]))])


# Checks for header files.
AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h sys/socket.h syslog.h])

# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T
AC_TYPE_UINT32_T

# Checks for library functions.
AC_FUNC_MALLOC
AC_CHECK_FUNCS([gettimeofday select socket strchr strerror strtoul])

AC_OUTPUT