diff options
Diffstat (limited to 'unix')
-rwxr-xr-x | unix/configure | 5 | ||||
-rw-r--r-- | unix/tcl.m4 | 7 |
2 files changed, 9 insertions, 3 deletions
diff --git a/unix/configure b/unix/configure index 79eff52..b830b2e 100755 --- a/unix/configure +++ b/unix/configure @@ -4316,7 +4316,7 @@ if test "${tcl_cv_cc_visibility_hidden+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test "$GCC" = yes -a "$SHARED_BUILD" = 1; then + if test "$SHARED_BUILD" = 1; then hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -fvisibility=hidden -Werror" cat >conftest.$ac_ext <<_ACEOF @@ -4329,6 +4329,9 @@ cat >>conftest.$ac_ext <<_ACEOF int main () { +#if !defined(__GNUC__) || __GNUC__ < 4 +#error visibility hidden is not supported for this compiler +#endif ; return 0; diff --git a/unix/tcl.m4 b/unix/tcl.m4 index 9a02e4c..5f4012d 100644 --- a/unix/tcl.m4 +++ b/unix/tcl.m4 @@ -1044,9 +1044,12 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ AC_CACHE_CHECK([if compiler supports visibility "hidden"], tcl_cv_cc_visibility_hidden, [ - AS_IF([test "$GCC" = yes -a "$SHARED_BUILD" = 1], [ + AS_IF([test "$SHARED_BUILD" = 1], [ hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -fvisibility=hidden -Werror" - AC_TRY_COMPILE(,, tcl_cv_cc_visibility_hidden=yes, + AC_TRY_COMPILE(,[#if !defined(__GNUC__) || __GNUC__ < 4 +#error visibility hidden is not supported for this compiler +#endif + ], tcl_cv_cc_visibility_hidden=yes, tcl_cv_cc_visibility_hidden=no) CFLAGS=$hold_cflags ], [ |