1 # =========================================================================== 2 # Modified from https://www.gnu.org/software/autoconf-archive/ax_add_fortify_source.html 3 # =========================================================================== 4 # 5 # SYNOPSIS 6 # 7 # AX_ADD_FORTIFY_SOURCE 8 # 9 # DESCRIPTION 10 # 11 # Check whether -D_FORTIFY_SOURCE=2 can be added to CFLAGS without macro 12 # redefinition warnings. Some distributions (such as Gentoo Linux) enable 13 # _FORTIFY_SOURCE globally in their compilers, leading to unnecessary 14 # warnings in the form of 15 # 16 # <command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror] 17 # <built-in>: note: this is the location of the previous definition 18 # 19 # which is a problem if -Werror is enabled. This macro checks whether 20 # _FORTIFY_SOURCE is already defined, and if not, adds -D_FORTIFY_SOURCE=2 21 # to CFLAGS. 22 # 23 # LICENSE 24 # 25 # Copyright (c) 2017 David Seifert <soap (a] gentoo.org> 26 # 27 # Copying and distribution of this file, with or without modification, are 28 # permitted in any medium without royalty provided the copyright notice 29 # and this notice are preserved. This file is offered as-is, without any 30 # warranty. 31 32 #serial 1 33 34 AC_DEFUN([AX_ADD_FORTIFY_SOURCE],[ 35 AC_MSG_CHECKING([whether to add -D_FORTIFY_SOURCE=2 to CFLAGS]) 36 AC_LINK_IFELSE([ 37 AC_LANG_SOURCE( 38 [[ 39 int main() { 40 #ifndef _FORTIFY_SOURCE 41 return 0; 42 #else 43 this_is_an_error; 44 #endif 45 } 46 ]] 47 )], [ 48 AC_MSG_RESULT([yes]) 49 CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2" 50 ], [ 51 AC_MSG_RESULT([no]) 52 ]) 53 ]) 54