@@ -2492,24 +2492,30 @@ AC_DEFUN([PY_CHECK_CC_WARNING], [
2492
2492
AS_VAR_POPDEF ( [ py_var] )
2493
2493
] )
2494
2494
2495
+ dnl PY_CHECK_CC_CFLAG(ENABLE, CFLAG, [MSG])
2496
+ AC_DEFUN ( [ PY_CHECK_CC_CFLAG] , [
2497
+ AS_VAR_PUSHDEF ( [ py_var] , [ ac_cv_$1 _] m4_normalize ( $2 ) [ _flag] )
2498
+ AC_CACHE_CHECK ( [ m4_ifblank ( [ $3 ] , [ if we can $1 $CC $2 flag] , [ $3 ] ) ] , [ py_var] , [
2499
+ AS_VAR_COPY ( [ py_cflags] , [ CFLAGS] )
2500
+ AS_VAR_APPEND ( [ CFLAGS] , [ " -f$2 -Werror"] )
2501
+ AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [ [ ] ] , [ [ ] ] ) ] ,
2502
+ [ AS_VAR_SET ( [ py_var] , [ yes] ) ] ,
2503
+ [ AS_VAR_SET ( [ py_var] , [ no] ) ] )
2504
+ AS_VAR_COPY ( [ CFLAGS] , [ py_cflags] )
2505
+ ] )
2506
+ AS_VAR_POPDEF ( [ py_var] )
2507
+ ] )
2508
+
2495
2509
# tweak BASECFLAGS based on compiler and platform
2496
2510
AS_VAR_IF ( [ with_strict_overflow] , [ yes] ,
2497
2511
[ BASECFLAGS="$BASECFLAGS $STRICT_OVERFLOW_CFLAGS"] ,
2498
2512
[ BASECFLAGS="$BASECFLAGS $NO_STRICT_OVERFLOW_CFLAGS"] )
2499
2513
2500
2514
# Enable flags that warn and protect for potential security vulnerabilities.
2501
2515
# These flags should be enabled by default for all builds.
2502
- case $ac_sys_system/$CC in
2503
- AIX*/gcc*)
2504
- # In AIX with GCC, the compile check passes with -fstack-protector-strong
2505
- # even though it is not supported and is exposed only by a run/link check.
2506
- # So disable it.
2507
- AC_MSG_WARN ( [ -fstack-protector-strong not supported in AIX with gcc] )
2508
- ;;
2509
- *)
2510
- AX_CHECK_COMPILE_FLAG ( [ -fstack-protector-strong] , [ BASECFLAGS="$BASECFLAGS -fstack-protector-strong"] , [ AC_MSG_WARN ( [ -fstack-protector-strong not supported] ) ] , [ -Werror] )
2511
- ;;
2512
- esac
2516
+ PY_CHECK_CC_CFLAG([ enable] , [ stack-protector-strong] , [ if we can add -fstack-protector-strong] )
2517
+ AS_VAR_IF ( [ ac_cv_enable_stack_protector_strong_flag] , [ yes] ,
2518
+ [ BASECFLAGS="$BASECFLAGS -fstack-protector-strong"] , AC_MSG_WARN ( [ -fstack-protector-strong not supported] ) )
2513
2519
AX_CHECK_COMPILE_FLAG ( [ -Wtrampolines] , [ BASECFLAGS="$BASECFLAGS -Wtrampolines"] , [ AC_MSG_WARN ( [ -Wtrampolines not supported] ) ] , [ -Werror] )
2514
2520
AX_CHECK_COMPILE_FLAG ( [ -D_FORTIFY_SOURCE=3] , [ BASECFLAGS="$BASECFLAGS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3"] , [ AC_MSG_WARN ( [ -D_FORTIFY_SOURCE=3 not supported] ) ] )
2515
2521
0 commit comments