]> git.saurik.com Git - wxWidgets.git/commitdiff
added --disable-tls option and use it by default under NetBSD which is reported to...
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 10 Jun 2009 14:55:04 +0000 (14:55 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 10 Jun 2009 14:55:04 +0000 (14:55 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60978 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

configure
configure.in

index c194d90ab8b5a0b6df710ba617bbf677c80027f2..277c06438a67c50cd462e5f68a86a90a146c7517 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Id: configure.in 60470 2009-05-02 12:52:54Z VZ .
+# From configure.in Id: configure.in 60555 2009-05-08 23:12:57Z VZ .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.61 for wxWidgets 2.9.0.
 #
@@ -1693,6 +1693,7 @@ Optional Features:
   --disable-rpath         disable use of rpath for uninstalled builds
   --enable-objc_uniquifying enable Objective-C class name uniquifying
   --disable-visibility    disable use of ELF symbols visibility even if supported
+  --disable-tls           disable use of compiler TLS support
   --enable-intl           use internationalization system
   --enable-xlocale        use x-locale support (requires wxLocale)
   --enable-config         use wxConfig (and derived) classes
@@ -2930,6 +2931,7 @@ DEFAULT_wxUSE_GSTREAMER8=no
 DEFAULT_wxUSE_UNICODE_UTF8=auto
 DEFAULT_wxUSE_OPENGL=auto
 DEFAULT_wxUSE_MEDIACTRL=auto
+DEFAULT_wxUSE_COMPILER_TLS=auto
 
 DEFAULT_wxUSE_UNICODE_UTF8_LOCALE=no
 
@@ -5583,6 +5585,50 @@ fi
 echo "${ECHO_T}$result" >&6; }
 
 
+          enablestring=disable
+          defaultval=
+          if test -z "$defaultval"; then
+              if test x"$enablestring" = xdisable; then
+                  defaultval=yes
+              else
+                  defaultval=no
+              fi
+          fi
+
+          { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-tls" >&5
+echo $ECHO_N "checking for --${enablestring:-enable}-tls... $ECHO_C" >&6; }
+          # Check whether --enable-tls was given.
+if test "${enable_tls+set}" = set; then
+  enableval=$enable_tls;
+                          if test "$enableval" = yes; then
+                            wx_cv_use_tls='wxUSE_COMPILER_TLS=yes'
+                          else
+                            wx_cv_use_tls='wxUSE_COMPILER_TLS=no'
+                          fi
+
+else
+
+                          wx_cv_use_tls='wxUSE_COMPILER_TLS=${'DEFAULT_wxUSE_COMPILER_TLS":-$defaultval}"
+
+fi
+
+
+          eval "$wx_cv_use_tls"
+
+          if test x"$enablestring" = xdisable; then
+            if test $wxUSE_COMPILER_TLS = yes; then
+              result=no
+            else
+              result=yes
+            fi
+          else
+            result=$wxUSE_COMPILER_TLS
+          fi
+
+          { echo "$as_me:$LINENO: result: $result" >&5
+echo "${ECHO_T}$result" >&6; }
+
+
 
 
           enablestring=
@@ -40239,13 +40285,24 @@ echo "$as_me: WARNING: wxMutex won't be recursive on this platform" >&2;}
         fi
       fi
 
-            { echo "$as_me:$LINENO: checking for __thread keyword" >&5
+      if test "$wxUSE_COMPILER_TLS" = "auto"; then
+          if test "$USE_NETBSD" = 1; then
+              { echo "$as_me:$LINENO: WARNING: Disabling TLS under NetBSD, please contact wx-dev if it works now" >&5
+echo "$as_me: WARNING: Disabling TLS under NetBSD, please contact wx-dev if it works now" >&2;}
+              wxUSE_COMPILER_TLS=no
+          else
+              wxUSE_COMPILER_TLS=yes
+          fi
+      fi
+
+      if test "$wxUSE_COMPILER_TLS" = "yes"; then
+                    { echo "$as_me:$LINENO: checking for __thread keyword" >&5
 echo $ECHO_N "checking for __thread keyword... $ECHO_C" >&6; }
 if test "${wx_cv_cc___thread+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-              cat >conftest.$ac_ext <<_ACEOF
+                  cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -40256,8 +40313,8 @@ int
 main ()
 {
 
-                      static __thread int n = 0;
-                      static __thread int *p = 0;
+                          static __thread int n = 0;
+                          static __thread int *p = 0;
 
   ;
   return 0;
@@ -40296,7 +40353,7 @@ fi
 { echo "$as_me:$LINENO: result: $wx_cv_cc___thread" >&5
 echo "${ECHO_T}$wx_cv_cc___thread" >&6; }
 
-      if test "$wx_cv_cc___thread" = "yes"; then
+          if test "$wx_cv_cc___thread" = "yes"; then
 
   GXX_VERSION=""
 
 
 
 
-          if test -n "$ax_cv_gxx_version"; then
-                                                                                                                              { echo "$as_me:$LINENO: checking whether __thread support in g++ is usable" >&5
+              if test -n "$ax_cv_gxx_version"; then
+                                                                                                                                                                  { echo "$as_me:$LINENO: checking whether __thread support in g++ is usable" >&5
 echo $ECHO_N "checking whether __thread support in g++ is usable... $ECHO_C" >&6; }
-              case "$ax_cv_gxx_version" in
-                1.* | 2.* | 3.* )
-                    { echo "$as_me:$LINENO: result: no, it's broken" >&5
+                  case "$ax_cv_gxx_version" in
+                    1.* | 2.* | 3.* )
+                        { echo "$as_me:$LINENO: result: no, it's broken" >&5
 echo "${ECHO_T}no, it's broken" >&6; }
-                    wx_cv_cc___thread=no
-                    ;;
-                *)
-                    { echo "$as_me:$LINENO: result: yes, it works" >&5
+                        wx_cv_cc___thread=no
+                        ;;
+                    *)
+                        { echo "$as_me:$LINENO: result: yes, it works" >&5
 echo "${ECHO_T}yes, it works" >&6; }
-                    ;;
-              esac
+                        ;;
+                  esac
+              fi
           fi
-      fi
 
-      if test "$wx_cv_cc___thread" = "yes"; then
-        cat >>confdefs.h <<\_ACEOF
+          if test "$wx_cv_cc___thread" = "yes"; then
+            cat >>confdefs.h <<\_ACEOF
 #define HAVE___THREAD_KEYWORD 1
 _ACEOF
 
-      fi
+          fi
+        fi
     fi
 
 else
index c0dda91e9dba56fa6fa965860ef67f58cb86746a..8804175a4a73952cb852bf36f5f32442ad94a3ff 100644 (file)
@@ -388,6 +388,7 @@ dnl automatic features
 DEFAULT_wxUSE_UNICODE_UTF8=auto
 DEFAULT_wxUSE_OPENGL=auto
 DEFAULT_wxUSE_MEDIACTRL=auto
+DEFAULT_wxUSE_COMPILER_TLS=auto
 
 DEFAULT_wxUSE_UNICODE_UTF8_LOCALE=no
 
@@ -687,6 +688,7 @@ WX_ARG_DISABLE(rpath,        [  --disable-rpath         disable use of rpath for
 WX_ARG_ENABLE(objc_uniquifying,[  --enable-objc_uniquifying enable Objective-C class name uniquifying], wxUSE_OBJC_UNIQUIFYING)
 
 WX_ARG_DISABLE(visibility,   [  --disable-visibility    disable use of ELF symbols visibility even if supported], wxUSE_VISIBILITY)
+WX_ARG_DISABLE(tls,          [  --disable-tls           disable use of compiler TLS support], wxUSE_COMPILER_TLS)
 
 dnl ---------------------------------------------------------------------------
 dnl optional non GUI features
@@ -4985,48 +4987,59 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
         fi
       fi
 
-      dnl test for compiler thread-specific variables support
-      AC_CACHE_CHECK([for __thread keyword],
-                     wx_cv_cc___thread,
-          [
-              AC_TRY_COMPILE([#include <pthread.h>],
-                  [
-                      static __thread int n = 0;
-                      static __thread int *p = 0;
-                  ],
-                  wx_cv_cc___thread=yes,
-                  wx_cv_cc___thread=no
-              )
-          ]
-      )
-
-      if test "$wx_cv_cc___thread" = "yes"; then
-          AX_GXX_VERSION
-          if test -n "$ax_cv_gxx_version"; then
-              dnl g++ supports __thread since at least version 3.3 but its support
-              dnl seems to be broken until 4.1, see
-              dnl   http://thread.gmane.org/gmane.comp.lib.wxwidgets.devel/108388
-              dnl
-              dnl NB: we still need to test __thread support with
-              dnl     AC_TRY_COMPILE above even for g++ 4 as it doesn't
-              dnl     support it for all architectures (e.g. it doesn't
-              dnl     work under OS X)
-              AC_MSG_CHECKING([whether __thread support in g++ is usable])
-              case "$ax_cv_gxx_version" in
-                1.* | 2.* | 3.* )
-                    AC_MSG_RESULT([no, it's broken])
-                    wx_cv_cc___thread=no
-                    ;;
-                *)
-                    AC_MSG_RESULT([yes, it works])
-                    ;;
-              esac
+      if test "$wxUSE_COMPILER_TLS" = "auto"; then
+          if test "$USE_NETBSD" = 1; then
+              AC_MSG_WARN([Disabling TLS under NetBSD, please contact wx-dev if it works now])
+              wxUSE_COMPILER_TLS=no
+          else
+              wxUSE_COMPILER_TLS=yes
           fi
       fi
 
-      if test "$wx_cv_cc___thread" = "yes"; then
-        AC_DEFINE(HAVE___THREAD_KEYWORD)
-      fi
+      if test "$wxUSE_COMPILER_TLS" = "yes"; then
+          dnl test for compiler thread-specific variables support
+          AC_CACHE_CHECK([for __thread keyword],
+                         wx_cv_cc___thread,
+              [
+                  AC_TRY_COMPILE([#include <pthread.h>],
+                      [
+                          static __thread int n = 0;
+                          static __thread int *p = 0;
+                      ],
+                      wx_cv_cc___thread=yes,
+                      wx_cv_cc___thread=no
+                  )
+              ]
+          )
+
+          if test "$wx_cv_cc___thread" = "yes"; then
+              AX_GXX_VERSION
+              if test -n "$ax_cv_gxx_version"; then
+                  dnl g++ supports __thread since at least version 3.3 but its support
+                  dnl seems to be broken until 4.1, see
+                  dnl   http://thread.gmane.org/gmane.comp.lib.wxwidgets.devel/108388
+                  dnl
+                  dnl NB: we still need to test __thread support with
+                  dnl     AC_TRY_COMPILE above even for g++ 4 as it doesn't
+                  dnl     support it for all architectures (e.g. it doesn't
+                  dnl     work under OS X)
+                  AC_MSG_CHECKING([whether __thread support in g++ is usable])
+                  case "$ax_cv_gxx_version" in
+                    1.* | 2.* | 3.* )
+                        AC_MSG_RESULT([no, it's broken])
+                        wx_cv_cc___thread=no
+                        ;;
+                    *)
+                        AC_MSG_RESULT([yes, it works])
+                        ;;
+                  esac
+              fi
+          fi
+
+          if test "$wx_cv_cc___thread" = "yes"; then
+            AC_DEFINE(HAVE___THREAD_KEYWORD)
+          fi
+        fi
     fi
 
 dnl from if !MSW