Enable various compiler warnings
[platform/upstream/openconnect.git] / configure.ac
1
2 AC_INIT(openconnect, 3.12)
3 PKG_PROG_PKG_CONFIG
4 AC_LANG_C
5 AM_INIT_AUTOMAKE([foreign])
6 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
7
8 AS_COMPILER_FLAGS(CFLAGS,
9         "-Wall
10          -Wextra
11          -Wno-missing-field-initializers
12          -Wno-sign-compare
13          -Wno-unused-parameter
14          -Werror=pointer-to-int-cast
15          -Wdeclaration-after-statement
16          -Werror-implicit-function-declaration
17          -Wformat-nonliteral
18          -Wformat-security
19          -Winit-self
20          -Wmissing-declarations
21          -Wmissing-include-dirs
22          -Wmissing-noreturn
23          -Wnested-externs
24          -Wpointer-arith
25          -Wundef
26          -Wwrite-strings")
27
28 AC_ARG_WITH([openssl],
29             AS_HELP_STRING([--with-openssl],
30                            [Location of OpenSSL build dir]),
31             [OPENSSL_CFLAGS="-I${with_openssl}/include"
32              OPENSSL_LIBS="${with_openssl}/libssl.a ${with_openssl}/libcrypto.a -ldl -lz"
33              AC_SUBST(OPENSSL_CFLAGS)
34              AC_SUBST(OPENSSL_LIBS)
35              AC_ENABLE_STATIC
36              AC_DISABLE_SHARED],
37             [PKG_CHECK_MODULES(OPENSSL, openssl)
38              AC_ENABLE_SHARED
39              AC_DISABLE_STATIC])
40
41 AC_PROG_LIBTOOL
42
43 PKG_CHECK_MODULES(LIBXML2, libxml-2.0)
44 PKG_CHECK_MODULES(ZLIB, zlib)
45
46 libproxy_hdr=no
47 AC_CHECK_HEADER([libproxy.h],
48     [libproxy_hdr='"libproxy.h"'],
49     [AC_CHECK_HEADER([proxy.h],
50         [libproxy_hdr='"libproxy.h"'])])
51 if (test "$libproxy_hdr" != "no"); then
52    AC_DEFINE([LIBPROXY_HDR], $libproxy_hdr)
53    PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, AC_SUBST(LIBPROXY_PC, libproxy-1.0), dummy=yes)
54 fi
55
56 AC_CHECK_HEADER([if_tun.h],
57     [AC_DEFINE([IF_TUN_HDR], ["if_tun.h"])],
58     [AC_CHECK_HEADER([linux/if_tun.h],
59         [AC_DEFINE([IF_TUN_HDR], ["linux/if_tun.h"])],
60         [AC_CHECK_HEADER([net/if_tun.h],
61             [AC_DEFINE([IF_TUN_HDR], ["net/if_tun.h"])],
62             [AC_CHECK_HEADER([net/tun/if_tun.h],
63                 [AC_DEFINE([IF_TUN_HDR], ["net/tun/if_tun.h"])])])])])
64
65 AC_CHECK_LIB(ssl, ENGINE_by_id,
66              AC_DEFINE(HAVE_ENGINE, [1], [OpenSSL has ENGINE support]),
67              AC_MSG_NOTICE([Building without OpenSSL TPM ENGINE support]),
68              ${OPENSSL_LIBS})
69
70 AC_CHECK_LIB(ssl, dtls1_stop_timer,
71                   AC_DEFINE(HAVE_DTLS1_STOP_TIMER, [1], [OpenSSL has dtls1_stop_timer() function]),
72                   ,,${OPENSSL_LIBS})
73
74 AC_OUTPUT(Makefile openconnect.pc)