aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac30
1 files changed, 29 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 1a0870b7..37ae0fe6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -81,6 +81,34 @@ AM_CONDITIONAL([HAVE_PO], [ test "$have_po" = yes ])
81 81
82 82
83 83
84
85# Adam shostack suggests the following for Windows:
86# -D_FORTIFY_SOURCE=2 -fstack-protector-all
87AC_ARG_ENABLE(gcc-hardening,
88 AS_HELP_STRING(--enable-gcc-hardening, enable compiler security checks),
89[AS_IF([test x$enableval = xyes],[
90 CFLAGS="$CFLAGS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-all"
91 CFLAGS="$CFLAGS -fwrapv -fPIE -Wstack-protector"
92 CFLAGS="$CFLAGS --param ssp-buffer-size=1"
93 LDFLAGS="$LDFLAGS -pie"
94 ])])
95
96# Linker hardening options
97# Currently these options are ELF specific - you can't use this with MacOSX
98AC_ARG_ENABLE(linker-hardening,
99 AS_HELP_STRING(--enable-linker-hardening, enable linker security fixups),
100[AS_IF([test x$enableval = xyes],
101 [LDFLAGS="$LDFLAGS -z relro -z now"])])
102
103
104AC_ARG_ENABLE(sanitizer,
105 AS_HELP_STRING(--enable-sanitizer, enable Address Sanitizer and Undefined Behavior Sanitizer),
106[AS_IF([test x$enableval = xyes],[
107 LDFLAGS="$CFLAGS -fsanitize=address,undefined -fno-omit-frame-pointer"
108 ])])
109
110
111
84# Workaround for libgcrypt 112# Workaround for libgcrypt
85AS_IF([[test "x$lt_sysroot" != "x" && test "x$SYSROOT" = "x"]], [[SYSROOT="$lt_sysroot"]]) 113AS_IF([[test "x$lt_sysroot" != "x" && test "x$SYSROOT" = "x"]], [[SYSROOT="$lt_sysroot"]])
86 114
@@ -812,7 +840,7 @@ AC_INCLUDES_DEFAULT
812 ] 840 ]
813) 841)
814 842
815AC_CHECK_MEMBERS([struct sockaddr_in.sin_len, struct sockaddr_in6.sin6_len, 843AC_CHECK_MEMBERS([struct sockaddr_in.sin_len, struct sockaddr_in6.sin6_len,
816 struct sockaddr_storage.ss_len], 844 struct sockaddr_storage.ss_len],
817 [], [], 845 [], [],
818 [ 846 [