X-Git-Url: https://ruderich.org/simon/gitweb/?p=tlsproxy%2Ftlsproxy.git;a=blobdiff_plain;f=configure.ac;h=2b559b651a7fa2f97de13aae1c93a2710ccf356b;hp=db5285cd99db5333e7a100e57f9d5fd4613b8c4d;hb=HEAD;hpb=5e1b777ab504b5ab4428e5850bc03039f0e680ff diff --git a/configure.ac b/configure.ac index db5285c..2b559b6 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -dnl Copyright (C) 2011-2012 Simon Ruderich +dnl Copyright (C) 2011-2014 Simon Ruderich dnl dnl This program is free software: you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -14,46 +14,55 @@ dnl You should have received a copy of the GNU General Public License dnl along with this program. If not, see . -AC_INIT([tlsproxy], [0.2], [simon@ruderich.org]) +AC_PREREQ([2.69]) +AC_INIT([tlsproxy],[0.2],[simon@ruderich.org]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_MACRO_DIR([m4]) +AC_CONFIG_HEADERS([config.h]) AC_CONFIG_SRCDIR([src/tlsproxy.c]) AM_INIT_AUTOMAKE([foreign -Wall -Werror]) +LT_INIT([disable-static]) AC_PROG_CC +# Do this before setting additional flags as the code from AX_PTHREAD fails to +# build with -Werror. +AX_PTHREAD([],[AC_MSG_ERROR([pthread is required])]) +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$PTHREAD_CFLAGS $CFLAGS" +CC="$PTHREAD_CC" + if test "x$GCC" = xyes; then - CFLAGS="-std=c89 -pedantic -Wall -Wextra -Werror $CFLAGS" + CFLAGS="-std=c89 -pedantic -Wall -Wextra $CFLAGS" CFLAGS="-Wno-error=int-to-pointer-cast $CFLAGS" - CPPFLAGS="-D_XOPEN_SOURCE=500 $CPPFLAGS" - # Additional security flags. - CFLAGS="$CFLAGS -Wformat -Wformat-security -Werror=format-security" - CFLAGS="$CFLAGS -fstack-protector-all -Wstack-protector" - CFLAGS="$CFLAGS --param ssp-buffer-size=1" - CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2 -fPIE" - LDFLAGS="$LDFLAGS -Wl,-z,relro -Wl,-z,now -fPIE -pie" + CPPFLAGS="-D_XOPEN_SOURCE=600 $CPPFLAGS" + # Additional hardening flags. + CFLAGS="-fPIE -fstack-protector-all -Wformat -Werror=format-security $CFLAGS" + CPPFLAGS="-D_FORTIFY_SOURCE=2 $CPPFLAGS" + LDFLAGS="-fPIE -pie -Wl,-z,relro -Wl,-z,now $LDFLAGS" fi -AC_CHECK_LIB([pthread], [pthread_create], - [], [AC_MSG_ERROR([pthread is required])]) +AC_SEARCH_LIBS([dlsym], [dl], [], [AC_MSG_ERROR([dlsym() is required])]) + AC_CHECK_LIB([gnutls], [gnutls_certificate_verify_peers2], [], [AC_MSG_ERROR([GnuTLS is required])]) +dnl Check for additional GnuTLS functions. +AX_CHECK_LIB_FUNC([gnutls],[gnutls_transport_set_int2]) AC_ARG_ENABLE([debug], - [AC_HELP_STRING([--enable-debug], [enable debug output])], + [AS_HELP_STRING([--enable-debug],[enable debug output])], [if test "x$enableval" = xyes; then AC_DEFINE([DEBUG], 1, [Define to enable debug output.]) fi]) AC_ARG_ENABLE([ipv6], - [AC_HELP_STRING([--disable-ipv6], + [AS_HELP_STRING([--disable-ipv6], [disable IPv6, for IPv4 only network stacks])], [if test "x$enableval" = xno; then AC_DEFINE([USE_IPV4_ONLY], 1, [Define to not use IPv6.]) fi]) -AC_CONFIG_HEADERS([config.h]) -AC_CONFIG_FILES([Makefile src/Makefile tests/Makefile]) +AC_CONFIG_FILES([Makefile man/Makefile src/Makefile lib/Makefile tests/Makefile]) AC_OUTPUT