DEFAULT_DEFAULT_wxUSE_DFB=0
PROGRAM_EXT=
-SO_SUFFIX=so
SAMPLES_RPATH_FLAG=
SAMPLES_RPATH_POSTLINK=
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
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__)
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
;;
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)
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
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
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)
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
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
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]]'`