X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/411484436df97ff84fe708d634a88c0840240ac0..ff55f8377ba8965bee36d1221501a3868da952e9:/configure.in diff --git a/configure.in b/configure.in index fc1357f7ac..ed22d24091 100644 --- a/configure.in +++ b/configure.in @@ -1786,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 @@ -4996,18 +5000,40 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then fi dnl test for compiler thread-specific variables support - AC_CACHE_CHECK([for __thread keyword], - wx_cv_cc___thread, - [ - AC_TRY_COMPILE([#include ], - [ - static __thread int n = 0; - static __thread int *p = 0; - ], - wx_cv_cc___thread=yes, - wx_cv_cc___thread=no - ) - ]) + 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 + AC_MSG_CHECKING([for __thread support in g++]) + case "$ax_cv_gxx_version" in + 1.* | 2.* ) + AC_MSG_RESULT([doesn't exist]) + wx_cv_cc___thread=no + ;; + 3.*) + AC_MSG_RESULT([broken]) + wx_cv_cc___thread=no + ;; + *) + AC_MSG_RESULT([works]) + wx_cv_cc___thread=yes + ;; + esac + else + AC_CACHE_CHECK([for __thread keyword], + wx_cv_cc___thread, + [ + AC_TRY_COMPILE([#include ], + [ + static __thread int n = 0; + static __thread int *p = 0; + ], + wx_cv_cc___thread=yes, + wx_cv_cc___thread=no + ) + ]) + fi if test "$wx_cv_cc___thread" = "yes"; then AC_DEFINE(HAVE___THREAD_KEYWORD) @@ -7405,14 +7431,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 @@ -7424,15 +7450,16 @@ 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 CXXWARNINGS="-Wall -Wundef -Wunused-parameter -Wno-ctor-dtor-privacy" AX_CXXFLAGS_GCC_OPTION(-Woverloaded-virtual, CXXWARNINGS) @@ -7601,13 +7628,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]]'`