X-Git-Url: https://ruderich.org/simon/gitweb/?p=tlsproxy%2Ftlsproxy.git;a=blobdiff_plain;f=configure.ac;h=2b559b651a7fa2f97de13aae1c93a2710ccf356b;hp=4a3786a9b70297e6a0cad0e2b87c3bacf7f3ea50;hb=HEAD;hpb=c4343157f93bfeb4e6de858fdd61b8fb4eddafc2 diff --git a/configure.ac b/configure.ac index 4a3786a..2b559b6 100644 --- a/configure.ac +++ b/configure.ac @@ -1,29 +1,68 @@ -AC_INIT([tlsproxy], [0.1], [simon@ruderich.org]) +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 +dnl the Free Software Foundation, either version 3 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . + + +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="-D_XOPEN_SOURCE=500 -Wno-error=int-to-pointer-cast $CFLAGS" + CFLAGS="-std=c89 -pedantic -Wall -Wextra $CFLAGS" + CFLAGS="-Wno-error=int-to-pointer-cast $CFLAGS" + 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_CONFIG_HEADERS([config.h]) -AC_CONFIG_FILES([Makefile src/Makefile tests/Makefile]) +AC_ARG_ENABLE([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_FILES([Makefile man/Makefile src/Makefile lib/Makefile tests/Makefile]) AC_OUTPUT