Mercurial > hg > svcore
comparison configure @ 1011:dbb7f0ab011e cxx11
CXX11 (-std=c++11) branch, to test build environments before making any code adaptations
| author | Chris Cannam | 
|---|---|
| date | Mon, 17 Nov 2014 15:31:07 +0000 | 
| parents | a8f3195b0761 | 
| children | dfc1c7cd8297 cc27f35aa75c | 
   comparison
  equal
  deleted
  inserted
  replaced
| 1010:36f79bc5c3d7 | 1011:dbb7f0ab011e | 
|---|---|
| 671 PKG_CONFIG_PATH | 671 PKG_CONFIG_PATH | 
| 672 PKG_CONFIG | 672 PKG_CONFIG | 
| 673 EGREP | 673 EGREP | 
| 674 GREP | 674 GREP | 
| 675 CXXCPP | 675 CXXCPP | 
| 676 HAVE_CXX11 | |
| 676 MKDIR_P | 677 MKDIR_P | 
| 677 INSTALL_DATA | 678 INSTALL_DATA | 
| 678 INSTALL_SCRIPT | 679 INSTALL_SCRIPT | 
| 679 INSTALL_PROGRAM | 680 INSTALL_PROGRAM | 
| 680 ac_ct_CXX | 681 ac_ct_CXX | 
| 3447 fi | 3448 fi | 
| 3448 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 | 3449 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 | 
| 3449 $as_echo "$MKDIR_P" >&6; } | 3450 $as_echo "$MKDIR_P" >&6; } | 
| 3450 | 3451 | 
| 3451 | 3452 | 
| 3453 # We are daringly making use of C++11 now | |
| 3454 | |
| 3455 ax_cxx_compile_cxx11_required=true | |
| 3456 ac_ext=cpp | |
| 3457 ac_cpp='$CXXCPP $CPPFLAGS' | |
| 3458 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' | |
| 3459 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | |
| 3460 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu | |
| 3461 ac_success=no | |
| 3462 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5 | |
| 3463 $as_echo_n "checking whether $CXX supports C++11 features by default... " >&6; } | |
| 3464 if ${ax_cv_cxx_compile_cxx11+:} false; then : | |
| 3465 $as_echo_n "(cached) " >&6 | |
| 3466 else | |
| 3467 cat confdefs.h - <<_ACEOF >conftest.$ac_ext | |
| 3468 /* end confdefs.h. */ | |
| 3469 | |
| 3470 template <typename T> | |
| 3471 struct check | |
| 3472 { | |
| 3473 static_assert(sizeof(int) <= sizeof(T), "not big enough"); | |
| 3474 }; | |
| 3475 | |
| 3476 struct Base { | |
| 3477 virtual void f() {} | |
| 3478 }; | |
| 3479 struct Child : public Base { | |
| 3480 virtual void f() override {} | |
| 3481 }; | |
| 3482 | |
| 3483 typedef check<check<bool>> right_angle_brackets; | |
| 3484 | |
| 3485 int a; | |
| 3486 decltype(a) b; | |
| 3487 | |
| 3488 typedef check<int> check_type; | |
| 3489 check_type c; | |
| 3490 check_type&& cr = static_cast<check_type&&>(c); | |
| 3491 | |
| 3492 auto d = a; | |
| 3493 auto l = [](){}; | |
| 3494 | |
| 3495 _ACEOF | |
| 3496 if ac_fn_cxx_try_compile "$LINENO"; then : | |
| 3497 ax_cv_cxx_compile_cxx11=yes | |
| 3498 else | |
| 3499 ax_cv_cxx_compile_cxx11=no | |
| 3500 fi | |
| 3501 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | |
| 3502 fi | |
| 3503 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx11" >&5 | |
| 3504 $as_echo "$ax_cv_cxx_compile_cxx11" >&6; } | |
| 3505 if test x$ax_cv_cxx_compile_cxx11 = xyes; then | |
| 3506 ac_success=yes | |
| 3507 fi | |
| 3508 | |
| 3509 | |
| 3510 | |
| 3511 if test x$ac_success = xno; then | |
| 3512 for switch in -std=c++11 -std=c++0x; do | |
| 3513 cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh` | |
| 3514 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5 | |
| 3515 $as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; } | |
| 3516 if eval \${$cachevar+:} false; then : | |
| 3517 $as_echo_n "(cached) " >&6 | |
| 3518 else | |
| 3519 ac_save_CXXFLAGS="$CXXFLAGS" | |
| 3520 CXXFLAGS="$CXXFLAGS $switch" | |
| 3521 cat confdefs.h - <<_ACEOF >conftest.$ac_ext | |
| 3522 /* end confdefs.h. */ | |
| 3523 | |
| 3524 template <typename T> | |
| 3525 struct check | |
| 3526 { | |
| 3527 static_assert(sizeof(int) <= sizeof(T), "not big enough"); | |
| 3528 }; | |
| 3529 | |
| 3530 struct Base { | |
| 3531 virtual void f() {} | |
| 3532 }; | |
| 3533 struct Child : public Base { | |
| 3534 virtual void f() override {} | |
| 3535 }; | |
| 3536 | |
| 3537 typedef check<check<bool>> right_angle_brackets; | |
| 3538 | |
| 3539 int a; | |
| 3540 decltype(a) b; | |
| 3541 | |
| 3542 typedef check<int> check_type; | |
| 3543 check_type c; | |
| 3544 check_type&& cr = static_cast<check_type&&>(c); | |
| 3545 | |
| 3546 auto d = a; | |
| 3547 auto l = [](){}; | |
| 3548 | |
| 3549 _ACEOF | |
| 3550 if ac_fn_cxx_try_compile "$LINENO"; then : | |
| 3551 eval $cachevar=yes | |
| 3552 else | |
| 3553 eval $cachevar=no | |
| 3554 fi | |
| 3555 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | |
| 3556 CXXFLAGS="$ac_save_CXXFLAGS" | |
| 3557 fi | |
| 3558 eval ac_res=\$$cachevar | |
| 3559 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | |
| 3560 $as_echo "$ac_res" >&6; } | |
| 3561 if eval test x\$$cachevar = xyes; then | |
| 3562 CXXFLAGS="$CXXFLAGS $switch" | |
| 3563 ac_success=yes | |
| 3564 break | |
| 3565 fi | |
| 3566 done | |
| 3567 fi | |
| 3568 ac_ext=cpp | |
| 3569 ac_cpp='$CXXCPP $CPPFLAGS' | |
| 3570 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' | |
| 3571 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | |
| 3572 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu | |
| 3573 | |
| 3574 if test x$ax_cxx_compile_cxx11_required = xtrue; then | |
| 3575 if test x$ac_success = xno; then | |
| 3576 as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5 | |
| 3577 fi | |
| 3578 else | |
| 3579 if test x$ac_success = xno; then | |
| 3580 HAVE_CXX11=0 | |
| 3581 { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5 | |
| 3582 $as_echo "$as_me: No compiler with C++11 support was found" >&6;} | |
| 3583 else | |
| 3584 HAVE_CXX11=1 | |
| 3585 | |
| 3586 $as_echo "#define HAVE_CXX11 1" >>confdefs.h | |
| 3587 | |
| 3588 fi | |
| 3589 | |
| 3590 | |
| 3591 fi | |
| 3592 | |
| 3452 | 3593 | 
| 3453 ac_ext=cpp | 3594 ac_ext=cpp | 
| 3454 ac_cpp='$CXXCPP $CPPFLAGS' | 3595 ac_cpp='$CXXCPP $CPPFLAGS' | 
| 3455 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' | 3596 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' | 
| 3456 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | 3597 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | 
| 4200 CXXFLAGS_DEBUG="$AUTOCONF_CXXFLAGS" | 4341 CXXFLAGS_DEBUG="$AUTOCONF_CXXFLAGS" | 
| 4201 CXXFLAGS_RELEASE="$AUTOCONF_CXXFLAGS" | 4342 CXXFLAGS_RELEASE="$AUTOCONF_CXXFLAGS" | 
| 4202 CXXFLAGS_MINIMAL="$AUTOCONF_CXXFLAGS" | 4343 CXXFLAGS_MINIMAL="$AUTOCONF_CXXFLAGS" | 
| 4203 | 4344 | 
| 4204 if test "x$GCC" = "xyes"; then | 4345 if test "x$GCC" = "xyes"; then | 
| 4205 CXXFLAGS_DEBUG="-Wall -Wextra -Werror -Woverloaded-virtual -Wformat-nonliteral -Wformat-security -Winit-self -Wswitch-enum -g -pipe" | 4346 CXXFLAGS_DEBUG="-std=c++11 -Wall -Wextra -Werror -Woverloaded-virtual -Wformat-nonliteral -Wformat-security -Winit-self -Wswitch-enum -g -pipe" | 
| 4206 CXXFLAGS_RELEASE="-g0 -O2 -Wall -pipe" | 4347 CXXFLAGS_RELEASE="-std=c++11 -g0 -O2 -Wall -pipe" | 
| 4207 CXXFLAGS_MINIMAL="-g0 -O0" | 4348 CXXFLAGS_MINIMAL="-std=c++11 -g0 -O0" | 
| 4208 fi | 4349 fi | 
| 4209 | 4350 | 
| 4210 CXXFLAGS_BUILD="$CXXFLAGS_RELEASE" | 4351 CXXFLAGS_BUILD="$CXXFLAGS_RELEASE" | 
| 4211 SV_DEFINES_BUILD="$SV_DEFINES_RELEASE" | 4352 SV_DEFINES_BUILD="$SV_DEFINES_RELEASE" | 
| 4212 | 4353 | 
