diff --git a/ChangeLog b/ChangeLog index 061d1dd77c..732c7956c2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Sun Nov 22 17:59:50 2015 Naohisa Goto + + * configure.in: On Solaris, add -D_XOPEN_SOURCE=n only when both + AC_TRY_CPP and AC_TRY_COMPILE pass, because some options + (e.g. -std=iso9899:1999) are not set when running C preprocessor + or building ext. + Sun Nov 22 16:53:34 2015 Nobuyoshi Nakada * compile.c (iseq_peephole_optimize): remove unreachable code diff --git a/configure.in b/configure.in index 7c2a8c9ea1..d871904f59 100644 --- a/configure.in +++ b/configure.in @@ -1105,36 +1105,29 @@ main() if test $given_xopen_source = no; then AC_MSG_CHECKING(appropriate _XOPEN_SOURCE value to define) define_xopen_source="" - if test x"$define_xopen_source" = x; then - AC_TRY_COMPILE([ - #define _XOPEN_SOURCE 700 + for tmp_xpg in 7 6 5; do + if test x"$define_xopen_source" != x; then + break + fi + # Both AC_TRY_CPP and AC_TRY_COMPILE should pass + # because some options may not be set to CPPFLAGS. + AC_TRY_CPP([ + #define _XOPEN_SOURCE ${tmp_xpg}00 #include - #ifndef _XPG7 - #error _XPG7 should be defined by _XOPEN_SOURCE=700 + #ifndef _XPG${tmp_xpg} + #error _XPG${tmp_xpg} should be defined by _XOPEN_SOURCE=${tmp_xpg}00 + #endif + ], [ + AC_TRY_COMPILE([ + #define _XOPEN_SOURCE ${tmp_xpg}00 + #include + #ifndef _XPG${tmp_xpg} + #error _XPG${tmp_xpg} should be defined by _XOPEN_SOURCE=${tmp_xpg}00 #endif ], [], - [define_xopen_source=700], []) - fi - if test x"$define_xopen_source" = x; then - AC_TRY_COMPILE([ - #define _XOPEN_SOURCE 600 - #include - #ifndef _XPG6 - #error _XPG6 should be defined by _XOPEN_SOURCE=600 - #endif - ], [], - [define_xopen_source=600], []) - fi - if test x"$define_xopen_source" = x; then - AC_TRY_COMPILE([ - #define _XOPEN_SOURCE 500 - #include - #ifndef _XPG5 - #error _XPG5 should be defined by _XOPEN_SOURCE=500 - #endif - ], [], - [define_xopen_source=500], []) - fi + [define_xopen_source=${tmp_xpg}00], []) + ], []) + done if test x"$define_xopen_source" = x; then define_xopen_source=no fi