summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2011-03-28 11:40:35 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2011-03-28 11:40:35 (GMT)
commit8c516639abe302098e2202d7824bd9a23f8ca532 (patch)
tree21f56eae1643f8e1d52c3cdc18d3d0cc9cae1f13
parentaff97042289b6c2c5fd35cb8413deca7054ab0a7 (diff)
downloadtcl-8c516639abe302098e2202d7824bd9a23f8ca532.zip
tcl-8c516639abe302098e2202d7824bd9a23f8ca532.tar.gz
tcl-8c516639abe302098e2202d7824bd9a23f8ca532.tar.bz2
set default MODULE_SCOPE=extern, in case no other value is determined
-rwxr-xr-xunix/configure22
-rw-r--r--unix/tcl.m49
-rwxr-xr-xwin/configure5
-rw-r--r--win/tcl.m41
4 files changed, 36 insertions, 1 deletions
diff --git a/unix/configure b/unix/configure
index 9fbb864..8701f7e 100755
--- a/unix/configure
+++ b/unix/configure
@@ -6543,6 +6543,11 @@ echo "${ECHO_T}$tcl_cv_cc_visibility_hidden" >&6
CFLAGS="$CFLAGS -fvisibility=hidden"
+cat >>confdefs.h <<\_ACEOF
+#define MODULE_SCOPE extern
+_ACEOF
+
+
else
@@ -8164,6 +8169,7 @@ cat >>confdefs.h <<\_ACEOF
#define MODULE_SCOPE __private_extern__
_ACEOF
+ tcl_cv_cc_visibility_hidden=yes
fi
@@ -9036,6 +9042,22 @@ fi
fi
+ if test "$tcl_cv_cc_visibility_hidden" != yes; then
+
+
+cat >>confdefs.h <<\_ACEOF
+#define MODULE_SCOPE extern
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define NO_VIZ
+_ACEOF
+
+
+fi
+
+
if test "$SHARED_LIB_SUFFIX" = ""; then
SHARED_LIB_SUFFIX='${VERSION}${SHLIB_SUFFIX}'
diff --git a/unix/tcl.m4 b/unix/tcl.m4
index 9e533f0..8c9eaf0 100644
--- a/unix/tcl.m4
+++ b/unix/tcl.m4
@@ -1055,8 +1055,8 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
])
AS_IF([test $tcl_cv_cc_visibility_hidden = yes], [
CFLAGS="$CFLAGS -fvisibility=hidden"
+ AC_DEFINE(MODULE_SCOPE, [extern], [No need to mark inidividual symbols as hidden])
], [
- AC_DEFINE(NO_VIZ, [], [No visibility attribute])
hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -Werror"
AC_TRY_LINK([
extern __attribute__((__visibility__("hidden"))) void f(void);
@@ -1663,6 +1663,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
AS_IF([test "$tcl_cv_cc_visibility_hidden" != yes], [
AC_DEFINE(MODULE_SCOPE, [__private_extern__],
[Compiler support for module scope symbols])
+ tcl_cv_cc_visibility_hidden=yes
])
CC_SEARCH_FLAGS=""
LD_SEARCH_FLAGS=""
@@ -2061,6 +2062,12 @@ dnl # preprocessing tests use only CPPFLAGS.
*) SHLIB_CFLAGS="-fPIC" ;;
esac])
+ AS_IF([test "$tcl_cv_cc_visibility_hidden" != yes], [
+ AC_DEFINE(MODULE_SCOPE, [extern],
+ [No Compiler support for module scope symbols])
+ AC_DEFINE(NO_VIZ, [], [No visibility attribute])
+ ])
+
AS_IF([test "$SHARED_LIB_SUFFIX" = ""], [
SHARED_LIB_SUFFIX='${VERSION}${SHLIB_SUFFIX}'])
AS_IF([test "$UNSHARED_LIB_SUFFIX" = ""], [
diff --git a/win/configure b/win/configure
index e505fb2..d1d50e2 100755
--- a/win/configure
+++ b/win/configure
@@ -3932,6 +3932,11 @@ echo "${ECHO_T}$CELIB_DIR" >&6
# Set some defaults (may get changed below)
EXTRA_CFLAGS=""
+cat >>confdefs.h <<\_ACEOF
+#define MODULE_SCOPE extern
+_ACEOF
+
+
# Extract the first word of "cygpath", so it can be a program name with args.
set dummy cygpath; ac_word=$2
echo "$as_me:$LINENO: checking for $ac_word" >&5
diff --git a/win/tcl.m4 b/win/tcl.m4
index 51498d6..6e3f3f9 100644
--- a/win/tcl.m4
+++ b/win/tcl.m4
@@ -402,6 +402,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
# Set some defaults (may get changed below)
EXTRA_CFLAGS=""
+ AC_DEFINE(MODULE_SCOPE, [extern], [No need to mark inidividual symbols as hidden])
AC_CHECK_PROG(CYGPATH, cygpath, cygpath -w, echo)