]> ruderich.org/simon Gitweb - tlsproxy/tlsproxy.git/blob - configure.ac
configure.ac: Add more hardening flags for GCC.
[tlsproxy/tlsproxy.git] / configure.ac
1 AC_INIT([tlsproxy], [0.2], [simon@ruderich.org])
2
3 AC_CONFIG_AUX_DIR([build-aux])
4 AC_CONFIG_MACRO_DIR([m4])
5 AC_CONFIG_SRCDIR([src/tlsproxy.c])
6
7 AM_INIT_AUTOMAKE([foreign -Wall -Werror])
8
9 AC_PROG_CC
10
11 if test "x$GCC" = xyes; then
12     CFLAGS="-std=c89 -pedantic -Wall -Wextra -Werror $CFLAGS"
13     CFLAGS="-D_XOPEN_SOURCE=500 -Wno-error=int-to-pointer-cast $CFLAGS"
14     # Additional security flags.
15     CFLAGS="$CFLAGS -Wformat -Wformat-security -Werror=format-security"
16     CFLAGS="$CFLAGS -fstack-protector-all -Wstack-protector"
17     CFLAGS="$CFLAGS --param ssp-buffer-size=1"
18     CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2 -fPIE"
19     LDFLAGS="$LDFLAGS -Wl,-z,relro -Wl,-z,now -fPIE -pie"
20 fi
21
22 AC_CHECK_LIB([pthread], [pthread_create],
23              [], [AC_MSG_ERROR([pthread is required])])
24 AC_CHECK_LIB([gnutls], [gnutls_certificate_verify_peers2],
25              [], [AC_MSG_ERROR([GnuTLS is required])])
26
27 AC_ARG_ENABLE([debug],
28               [AC_HELP_STRING([--enable-debug], [enable debug output])],
29               [if test "x$enableval" = xyes; then
30                    AC_DEFINE([DEBUG], 1, [Define to enable debug output.])
31                fi])
32
33 AC_ARG_ENABLE([ipv6],
34               [AC_HELP_STRING([--disable-ipv6],
35                               [disable IPv6, for IPv4 only network stacks])],
36               [if test "x$enableval" = xno; then
37                    AC_DEFINE([USE_IPV4_ONLY], 1, [Define to not use IPv6.])
38                fi])
39
40 AC_CONFIG_HEADERS([config.h])
41 AC_CONFIG_FILES([Makefile src/Makefile tests/Makefile])
42 AC_OUTPUT