]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
wxRichTextCtrl no longer deletes a character when content is selected
[wxWidgets.git] / configure.in
index 672e32b31dcf5d88324e8e7e3e15d0cb13bbea54..9c13d6a5d04c64e98583c30554c1b77ae9dfc39d 100644 (file)
@@ -126,7 +126,6 @@ DEFAULT_DEFAULT_wxUSE_X11=0
 DEFAULT_DEFAULT_wxUSE_DFB=0
 
 PROGRAM_EXT=
-SO_SUFFIX=so
 SAMPLES_RPATH_FLAG=
 SAMPLES_RPATH_POSTLINK=
 
@@ -141,7 +140,6 @@ case "${host}" in
     USE_HPUX=1
     DEFAULT_DEFAULT_wxUSE_MOTIF=1
     NEEDS_D_REENTRANT_FOR_R_FUNCS=1
-    SO_SUFFIX=sl
     AC_DEFINE(__HPUX__)
 
     dnl many standard declarations in HP-UX headers are only included if either
@@ -245,12 +243,6 @@ case "${host}" in
     USE_AIX=1
     USE_SYSV=1
     USE_SVR4=1
-    dnl quoting from http://www-1.ibm.com/servers/esdd/articles/gnu.html:
-    dnl
-    dnl     Both archive libraries and shared libraries on AIX have an .a
-    dnl     extension. This will explain why you can't link with an .so and
-    dnl     why it works with the name changed to .a.
-    SO_SUFFIX=a
     AC_DEFINE(__AIX__)
     AC_DEFINE(__SYSV__)
     AC_DEFINE(__SVR4__)
@@ -268,7 +260,6 @@ case "${host}" in
     dnl MBN: some of the defines have been moved after toolkit detection
     dnl      because for wxMotif/wxGTK/wxX11 to build on Cygwin
     dnl      USE_UNIX  must be set and not USE_WIN32
-    SO_SUFFIX=dll
     PROGRAM_EXT=".exe"
     DEFAULT_DEFAULT_wxUSE_MSW=1
   ;;
@@ -319,7 +310,6 @@ case "${host}" in
     dnl Darwin based distributions (including Mac OS X)
     USE_BSD=1
     USE_DARWIN=1
-    SO_SUFFIX=dylib
     AC_DEFINE(__BSD__)
     AC_DEFINE(__DARWIN__)
     AC_DEFINE(TARGET_CARBON)
@@ -332,7 +322,6 @@ case "${host}" in
     dnl For some reason the test that should be cross-compiler capable fails
     dnl However, there is no doubt that MacOS PowerPC is big endian.
     ac_cv_c_bigendian=yes
-    SO_SUFFIX=shlib
     dnl AC_DEFINE(TARGET_CARBON)
     dnl platform.h needs TARGET_CARBON before setup.h, we'll add it to CPPFLAGS
     DEFAULT_DEFAULT_wxUSE_OSX_CARBON=1
@@ -1797,7 +1786,11 @@ fi
 if test "x$HPCXX" = "xyes"; then
     dnl 2340: "value copied to temporary, reference to temporary used": very
     dnl       painful as triggered by any occurrence of user-defined conversion
-    CXXFLAGS="+W 2340 $CXXFLAGS"
+    dnl 4232: "conversion from 'Foo *' to a more strictly aligned type 'Bar *'
+    dnl       may cause misaligned access": this might indicate a real problem
+    dnl       but any use of GTK+ cast macros results in it so it's unusable
+    dnl       for wxGTK code
+    CXXFLAGS="+W 2340,4232 $CXXFLAGS"
 fi
 
 dnl DEC/Compaq/HP cxx warnings
@@ -5005,20 +4998,45 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
           AC_MSG_WARN([wxMutex won't be recursive on this platform])
         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
-          )
-      ])
+          [
+              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)
@@ -7416,14 +7434,14 @@ dnl check for icc before gcc as icc is also recognized as gcc
 if test "x$INTELCC" = "xyes" ; then
     dnl Warnings which can't be easily suppressed in C code are disabled:
     dnl
-    dnl     remark #810: conversion from "x" to "y" may lose significant bits
-    dnl     remark #869: parameter "foo" was never referenced
-    dnl     remark #1572: floating-point equality and inequality comparisons
-    dnl                   are unreliable
-    dnl     remark #1684: conversion from pointer to same-sized integral type
-    dnl
-    dnl (for others see below)
-    CWARNINGS="-Wall -wd810,869,981,1418,1572,1684"
+    dnl     #810: conversion from "x" to "y" may lose significant bits
+    dnl     #869: parameter "foo" was never referenced
+    dnl     #1572: floating-point equality and inequality comparisons
+    dnl            are unreliable
+    dnl     #1684: conversion from pointer to same-sized integral type
+    dnl     #2259: non-pointer conversion from "x" to "y" may lose significant
+    dnl            bits
+    CWARNINGS="-Wall -wd810,869,981,1418,1572,1684,2259"
 elif test "$GCC" = yes ; then
     CWARNINGS="-Wall -Wundef"
 fi
@@ -7435,18 +7453,19 @@ if test "x$INTELCXX" = "xyes" ; then
     dnl (279) are generated for standard macros and so there is nothing we can
     dnl do about them
     dnl
-    dnl     remark #279: controlling expression is constant
-    dnl     remark #383: value copied to temporary, reference to temporary used
-    dnl     remark #444: destructor for base class "xxx" is not virtual
-    dnl     remark #810: conversion from "x" to "y" may lose significant bits
-    dnl     remark #869: parameter "foo" was never referenced
-    dnl     remark #981: operands are evaluated in unspecified order
-    dnl     remark #1418: external definition with no prior declaration
-    dnl     remark #1419: external declaration in primary source file
-    CXXWARNINGS="-Wall -wd279,383,444,810,869,981,1418,1419"
+    dnl     #279: controlling expression is constant
+    dnl     #383: value copied to temporary, reference to temporary used
+    dnl     #444: destructor for base class "xxx" is not virtual
+    dnl     #981: operands are evaluated in unspecified order
+    dnl     #1418: external definition with no prior declaration
+    dnl     #1419: external declaration in primary source file
+    dnl     #1881: argument must be a constant null pointer value
+    dnl
+    dnl (for others see CWARNINGS above)
+    CXXWARNINGS="-Wall -wd279,383,444,810,869,981,1418,1419,1881,2259"
 elif test "$GXX" = yes ; then
-    dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
     CXXWARNINGS="-Wall -Wundef -Wunused-parameter -Wno-ctor-dtor-privacy"
+    AX_CXXFLAGS_GCC_OPTION(-Woverloaded-virtual, CXXWARNINGS)
 fi
 
 
@@ -7612,13 +7631,13 @@ AC_SUBST(DEBUG_INFO)
 AC_SUBST(DEBUG_FLAG)
 TOOLKIT_LOWERCASE=xxx
 if test "$TOOLKIT" = "MAC"; then
-    TOOLKIT_LOWERCASE=osx
+    TOOLKIT_LOWERCASE=osx_carbon
 fi
 if test "$TOOLKIT" = "OSX_CARBON"; then
-    TOOLKIT_LOWERCASE=osx
+    TOOLKIT_LOWERCASE=osx_carbon
 fi
 if test "$TOOLKIT" = "OSX_COCOA"; then
-    TOOLKIT_LOWERCASE=osx
+    TOOLKIT_LOWERCASE=osx_cocoa
 fi
 if test "$TOOLKIT_LOWERCASE" = "xxx"; then
     TOOLKIT_LOWERCASE=`echo $TOOLKIT | tr '[[A-Z]]' '[[a-z]]'`