configure: Check build with some header not just preprocessing for testing --std=c11

Fixes build failure on FreeBSD with gcc 4.7

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2016-12-28 23:41:29 +01:00
parent 771b3a956e
commit af7a75cb51
1 changed files with 8 additions and 6 deletions

14
configure vendored
View File

@ -1201,13 +1201,15 @@ check_cpp_condition(){
EOF EOF
} }
test_cflags_cpp(){ test_cflags_cc(){
log test_cflags_cpp "$@" log test_cflags_cc "$@"
flags=$1 flags=$1
condition=$2 header=$2
shift 2 condition=$3
shift 3
set -- $($cflags_filter "$flags") set -- $($cflags_filter "$flags")
check_cpp "$@" <<EOF check_cc "$@" <<EOF
#include <$header>
#if !($condition) #if !($condition)
#error "unsatisfied condition: $condition" #error "unsatisfied condition: $condition"
#endif #endif
@ -4625,7 +4627,7 @@ add_cxxflags -std=c++98
# some compilers silently accept -std=c11, so we also need to check that the # some compilers silently accept -std=c11, so we also need to check that the
# version macro is defined properly # version macro is defined properly
if test_cflags_cpp -std=c11 "__STDC_VERSION__ >= 201112L"; then if test_cflags_cc -std=c11 ctype.h "__STDC_VERSION__ >= 201112L"; then
add_cflags -std=c11 add_cflags -std=c11
else else
check_cflags -std=c99 check_cflags -std=c99