dnl initialization
dnl ---------------------------------------------------------------------------
-AC_INIT([wxWidgets], [2.9.4], [wx-dev@lists.wxwidgets.org])
+AC_INIT([wxWidgets], [2.9.5], [wx-dev@lists.wxwidgets.org])
dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package
AC_CONFIG_SRCDIR([wx-config.in])
wx_major_version_number=2
wx_minor_version_number=9
-wx_release_number=4
+wx_release_number=5
wx_subrelease_number=0
WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
DEFAULT_wxUSE_ACCESSIBILITY=no
DEFAULT_wxUSE_IPV6=no
DEFAULT_wxUSE_GSTREAMER8=no
+DEFAULT_wxUSE_UNICODE_UTF8=no
+DEFAULT_wxUSE_UNICODE_UTF8_LOCALE=no
dnl automatic features
DEFAULT_wxUSE_ARTPROVIDER_TANGO=auto
-DEFAULT_wxUSE_UNICODE_UTF8=auto
DEFAULT_wxUSE_OPENGL=auto
DEFAULT_wxUSE_MEDIACTRL=auto
DEFAULT_wxUSE_COMPILER_TLS=auto
DEFAULT_wxUSE_HOTKEY=auto
DEFAULT_wxUSE_METAFILE=auto
-DEFAULT_wxUSE_UNICODE_UTF8_LOCALE=no
-
dnl Mac/Cocoa users need to enable building universal binaries explicitly
DEFAULT_wxUSE_UNIVERSAL_BINARY=no
DEFAULT_wxUSE_MAC_ARCH=no
DEFAULT_wxUSE_OFFICIAL_BUILD=no
-dnl Applicable only when --with-gtk was used:
-DEFAULT_wxUSE_GTK2=yes
-
dnl Always default to no. Only special cases require this.
DEFAULT_wxUSE_OBJC_UNIQUIFYING=no
dnl we use AC_ARG_WITH and not WX_ARG_WITH for the toolkit options as they
dnl shouldn't default to wxUSE_ALL_FEATURES
-AC_ARG_WITH(gtk, [[ --with-gtk[=VERSION] use GTK+, VERSION can be 2 (default), 1 or "any"]], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(gtk, [[ --with-gtk[=VERSION] use GTK+, VERSION can be 3, 2 (default), 1 or "any"]], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(osx_carbon, [ --with-osx_carbon use Mac OS X (Carbon)], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(osx_cocoa, [ --with-osx_cocoa use Mac OS X (Cocoa)], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(microwin, [ --with-microwin use MicroWindows], [wxUSE_MICROWIN="$withval" CACHE_MICROWIN=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(x11, [ --with-x11 use X11], [wxUSE_X11="$withval" wxUSE_UNIVERSAL="yes" CACHE_X11=1 TOOLKIT_GIVEN=1])
WX_ARG_ENABLE(nanox, [ --enable-nanox use NanoX], wxUSE_NANOX)
-
-AC_ARG_ENABLE(gtk2, [ --disable-gtk2 use GTK+ 1.2 instead of 2.0], [wxUSE_GTK2="$enableval"])
WX_ARG_ENABLE(gpe, [ --enable-gpe use GNOME PDA Environment features if possible], wxUSE_GPE)
dnl check that no more than one toolkit is given and that if none are given that
AC_MSG_ERROR(Please specify at most one toolkit)
esac
- # to be removed when --disable-gtk2 isn't needed
- if test "x$wxUSE_GTK2" = "xyes"; then
- wxGTK_VERSION=2
- wxUSE_GTK1=0
- elif test "x$wxUSE_GTK2" = "xno"; then
- wxGTK_VERSION=1
- wxUSE_GTK1=1
- fi
-
for toolkit in $ALL_TOOLKITS; do
var=wxUSE_$toolkit
eval "value=\$${var}"
WX_ARG_WITHOUT(gtkprint, [ --without-gtkprint don't use GTK printing support], wxUSE_GTKPRINT)
WX_ARG_WITHOUT(gnomeprint, [ --without-gnomeprint don't use GNOME printing libraries], wxUSE_LIBGNOMEPRINT)
WX_ARG_WITH(gnomevfs, [ --with-gnomevfs use GNOME VFS for associating MIME types], wxUSE_LIBGNOMEVFS)
+WX_ARG_WITH(libnotify, [ --with-libnotify use libnotify for notifications], wxUSE_LIBNOTIFY)
WX_ARG_WITH(hildon, [ --with-hildon use Hildon framework for Nokia 770/800/810], wxUSE_LIBHILDON)
WX_ARG_WITH(opengl, [ --with-opengl use OpenGL (or Mesa)], wxUSE_OPENGL)
WX_ARG_ENABLE(no_deps, [ --enable-no_deps create code without dependency information], wxUSE_NO_DEPS)
WX_ARG_DISABLE(vararg_macros,[ --disable-vararg_macros don't use vararg macros, even if they are supported], wxUSE_VARARG_MACROS)
-WX_ARG_ENABLE_PARAM(universal_binary, [[ --enable-universal_binary create universal binary with Mac PPC and i386 (and x86_64 if using Cocoa) architectures ]], wxUSE_UNIVERSAL_BINARY)
+WX_ARG_ENABLE_PARAM(universal_binary, [[ --enable-universal_binary=archs create universal binary for the specified (or all supported) architectures]], wxUSE_UNIVERSAL_BINARY)
WX_ARG_ENABLE_PARAM(macosx_arch, [[ --enable-macosx_arch=ARCH build for just the specified architecture]], wxUSE_MAC_ARCH)
WX_ARG_ENABLE(compat26, [ --enable-compat26 enable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6)
WX_ARG_FEATURE(accessibility,[ --enable-accessibility enable accessibility support], wxUSE_ACCESSIBILITY)
WX_ARG_FEATURE(uiactionsim, [ --enable-uiactionsim use wxUIActionSimulator (experimental)], wxUSE_UIACTIONSIMULATOR)
WX_ARG_FEATURE(dctransform, [ --enable-dctransform use wxDC::SetTransformMatrix and related], wxUSE_DC_TRANSFORM_MATRIX)
-WX_ARG_FEATURE(webviewwebkit,[ --enable-webview-webkit use wxWebView WebKit backend], wxUSE_WEBVIEW_WEBKIT)
+WX_ARG_FEATURE(webviewwebkit,[ --enable-webviewwebkit use wxWebView WebKit backend], wxUSE_WEBVIEW_WEBKIT)
dnl ---------------------------------------------------------------------------
dnl support for image formats that do not rely on external library
WX_ARG_FEATURE(ownerdrawn, [ --enable-ownerdrawn use owner drawn controls (Win32 and OS/2 only)], wxUSE_OWNER_DRAWN)
WX_ARG_FEATURE(uxtheme, [ --enable-uxtheme enable support for Windows XP themed look (Win32 only)], wxUSE_UXTHEME)
WX_ARG_FEATURE(wxdib, [ --enable-wxdib use wxDIB class (Win32 only)], wxUSE_DIB)
-WX_ARG_FEATURE(webviewie, [ --enable-webview-ie use wxWebView IE backend (Win32 only)], wxUSE_WEBVIEW_IE)
+WX_ARG_FEATURE(webviewie, [ --enable-webviewie use wxWebView IE backend (Win32 only)], wxUSE_WEBVIEW_IE)
dnl this one is not really MSW-specific but it exists mainly to be turned off
dnl under MSW, it should be off by default on the other platforms
retest_macosx_linking=no
OSX_ARCH_OPTS=""
-if test "x$wxUSE_MAC_ARCH" != xno; then
- OSX_ARCH_OPTS="-arch $wxUSE_MAC_ARCH"
-fi
-
-dnl Support the old --enable-universal_binary in case anyone was using it.
- if test "x$wxUSE_UNIVERSAL_BINARY" != xno ; then
- dnl --enable-universal_binary uses a default SDK (currently 10.4u)
- dnl --enable-universal_binary=SDK names a path to an SDK
- if test "x$wxUSE_UNIVERSAL_BINARY" == xyes; then
- # Implicitly turn on the new --with-macosx-sdk using the default
- # SDK which provides the behaviour this option has always had.
- if test "x$wxUSE_MACOSX_SDK" = "x"; then
- AC_MSG_WARN([Enabling default SDK due to --enable-universal_binary.])
- AC_MSG_WARN([If you don't want this, specify --without-macosx-sdk])
- wxUSE_MACOSX_SDK=yes
- fi
- else
- # Complain to user if he specified an argument to --enable-universal_binary
- # and also 1) specified --with-macosx-sdk using the default (yes) or
- # 2) specified --with-macosx-sdk using a path or 3) specified
- # --without-macosx-sdk (no).
- if test "x$wxUSE_MACOSX_SDK" != "x" ; then
- AC_MSG_FAILURE([Please specify the new --with-macosx-sdk=PATH and do not specify an arg to --enable-universal_binary])
- else
- # Put the SDK path into the wxUSE_MACOSX_SDK. We don't have to
- # special-case the empty string because the below test simply
- # converts "no" to the empty string anyway.
- wxUSE_MACOSX_SDK="$wxUSE_UNIVERSAL_BINARY"
- dnl Warn about deprecated usage.
- AC_MSG_WARN([Please use --with-macosx-sdk=PATH and --enable-universal_binary without an argument])
- fi
- fi
- dnl FIXME: I think it would be better to put this into CC, CXX, and LD rather than the flags.
- OSX_ARCH_OPTS="-arch ppc -arch i386"
- if test "$wxUSE_OSX_COCOA" = 1; then
- OSX_ARCH_OPTS="$OSX_ARCH_OPTS -arch x86_64"
+
+dnl Deal with architecture selection. By default, we compile for the current
+dnl architecture, whatever it is. With --enable-universal_binary the list of
+dnl architectures can be explicitly specified. If it isn't, we compile for all
+dnl supported ones.
+if test "x$wxUSE_UNIVERSAL_BINARY" != xno ; then
+ if test "x$wxUSE_MAC_ARCH" != xno; then
+ AC_MSG_WARN([--enable-macosx_arch is ignored when --enable-universal_binary is used.])
+ fi
+
+ if test "x$wxUSE_UNIVERSAL_BINARY" != xyes; then
+ OSX_ARCH_OPTS=$wxUSE_UNIVERSAL_BINARY
+ else dnl Use all architectures supported
+ OSX_ARCH_OPTS="ppc,i386"
+ if test "$wxUSE_OSX_COCOA" = 1; then
+ OSX_ARCH_OPTS="$OSX_ARCH_OPTS,x86_64"
fi
- AC_MSG_CHECKING([for universal binary architectures])
- AC_MSG_RESULT([$OSX_ARCH_OPTS])
-
- dnl NOTE: Only the compiler driver needs arch flags. The link editor
- dnl is incapable of using them but the compiler driver (which we use
- dnl as LD when building dynamic libraries) uses them to invoke the
- dnl real ld multiple times. If we moved to libtool -dynamic we would
- dnl need no arch flags because libtool automatically invokes ld for
- dnl every architecture found in the fat input files.
- dnl
- dnl For static library builds, AR/RANLIB automatically create proper
- dnl fat archives although AR is unable to update them once RANLIB has
- dnl made them into proper fat archives. Fortunately, our link process
- dnl simply removes the .a file before using ar to create a new one.
- dnl If we did move to libtool -static we still wouldn't need arch flags
- dnl because libtool automatically figures it out based on input.
- retest_macosx_linking=yes
+ fi
+
+ AC_MSG_CHECKING([for architectures to use in universal binary])
+ AC_MSG_RESULT([$OSX_ARCH_OPTS])
+
+ dnl NOTE: Only the compiler driver needs arch flags. The link editor
+ dnl is incapable of using them but the compiler driver (which we use
+ dnl as LD when building dynamic libraries) uses them to invoke the
+ dnl real ld multiple times. If we moved to libtool -dynamic we would
+ dnl need no arch flags because libtool automatically invokes ld for
+ dnl every architecture found in the fat input files.
+ dnl
+ dnl For static library builds, AR/RANLIB automatically create proper
+ dnl fat archives although AR is unable to update them once RANLIB has
+ dnl made them into proper fat archives. Fortunately, our link process
+ dnl simply removes the .a file before using ar to create a new one.
+ dnl If we did move to libtool -static we still wouldn't need arch flags
+ dnl because libtool automatically figures it out based on input.
+ retest_macosx_linking=yes
+else
+ if test "x$wxUSE_MAC_ARCH" != xno; then
+ OSX_ARCH_OPTS=$wxUSE_MAC_ARCH
+ fi
+fi
+
+if test "x$OSX_ARCH_OPTS" != "x"; then
+ dnl Check if there is more than one architecture
+ if echo $OSX_ARCH_OPTS | grep -q ","; then
+ AC_MSG_WARN([Disabling dependency tracking due to universal binary build.])
+ disable_macosx_deps=yes
dnl HACK: PCH could be made to work by precompiling for each architecture into separate directories
dnl and including all architecture directories with each compiler invocation.
bk_use_pch=no
fi
-CXXFLAGS="$OSX_ARCH_OPTS $CXXFLAGS"
-CFLAGS="$OSX_ARCH_OPTS $CFLAGS"
-OBJCXXFLAGS="$OSX_ARCH_OPTS $OBJCXXFLAGS"
-OBJCFLAGS="$OSX_ARCH_OPTS $OBJCFLAGS"
-LDFLAGS="$OSX_ARCH_OPTS $LDFLAGS"
+ OSX_ARCH_OPTS=`echo $OSX_ARCH_OPTS | sed -e 's/^/-arch /' -e 's/,/ -arch /g'`
+
+ CXXFLAGS="$OSX_ARCH_OPTS $CXXFLAGS"
+ CFLAGS="$OSX_ARCH_OPTS $CFLAGS"
+ OBJCXXFLAGS="$OSX_ARCH_OPTS $OBJCXXFLAGS"
+ OBJCFLAGS="$OSX_ARCH_OPTS $OBJCFLAGS"
+ LDFLAGS="$OSX_ARCH_OPTS $LDFLAGS"
+fi
dnl Set up the Mac OS X SDK. We do this early so configure tests will occur
dnl with the SDK in place.
wxUSE_MACOSX_VERSION_MIN=
fi
elif test "x$wxUSE_MACOSX_VERSION_MIN" = "x"; then
- AC_CHECK_PROGS(OSX_SW_VERS, sw_vers)
- if test "$OSX_SW_VERS" != ""; then
- OSX_VERSION=`sw_vers -productVersion | grep 10.[[0-9]]`
- else
- dnl can't determine it (happens e.g. when cross-compiling) so use a
- dnl conservative default
- AC_MSG_WARN([Assuming OS X 10.4, use --with-macosx-version-min to override.])
- OSX_VERSION="10.4"
- fi
-
- case "$OSX_VERSION" in
- 10.4* )
- wxUSE_MACOSX_VERSION_MIN=10.4
- ;;
-
- * )
- if test "$wxUSE_OSX_CARBON" = 1; then
- # otherwise configure stops on leopard for universal_binary
- wxUSE_MACOSX_VERSION_MIN=10.4
- else
- # for Cocoa, use 10.5 to be able to compile it in 64 bits too
- wxUSE_MACOSX_VERSION_MIN=10.5
- fi
- ;;
- esac
-fi
-
-NEEDS_GCC40="no"
-if test "x$wxUSE_MACOSX_VERSION_MIN" == "x10.4"; then
- NEEDS_GCC40="yes"
-fi
-
-if test "$wxUSE_OSX_CARBON" = 1; then
- NEEDS_GCC40="yes"
-fi
-
-if test "x$NEEDS_GCC40" == "xyes"; then
- # gcc 4.2 cannot compile 10.4 compatible code, so if the user is using it
- # and wants 10.4 compatible code, then 'downgrade' to 4.0
- # This is also the simplest way to get 32-bit binaries on Snow Leopard.
- if test "x$CC" = "xgcc"; then
- CCVERSION=`$CC --version | grep 4.[[2-9]].`
- if test "x$CCVERSION" != "x"; then
- echo "$as_me:$LINENO: WARNING: gcc >= 4.2 cannot compile 10.4 compatible code. Using gcc 4.0 instead."
- CC="gcc-4.0"
- fi
- fi
-
- if test "x$CXX" = "xg++"; then
- CCVERSION=`$CXX --version | grep 4.[[2-9]].`
- if test "x$CCVERSION" != "x"; then
- CXX="g++-4.0"
- fi
- fi
+ wxUSE_MACOSX_VERSION_MIN=10.5
fi
if test "x$MACOSX_SDK_OPTS" != "x"; then
eval "CC=\"$CC $MACOSX_SDK_OPTS\""
eval "CXX=\"$CXX $MACOSX_SDK_OPTS\""
eval "LD=\"$LD $MACOSX_SDK_OPTS\""
+ retest_macosx_linking=yes
fi
if test "x$wxUSE_MACOSX_VERSION_MIN" != "x"; then
dnl of the remaining tests would fail.
if test "x$retest_macosx_linking" = "xyes"; then
AC_LANG_PUSH(C)
- AC_MSG_CHECKING([if C compiler works with SDK/version options])
+ AC_MSG_CHECKING([if C compiler ($CC) works with SDK/version options])
AC_TRY_LINK([],[],[AC_MSG_RESULT([yes])],[AC_MSG_FAILURE([no. Try a different SDK]); exit 1])
AC_LANG_POP()
AC_LANG_PUSH(C++)
- AC_MSG_CHECKING([if C++ compiler works with SDK/version options])
+ AC_MSG_CHECKING([if C++ compiler ($CXX) works with SDK/version options])
AC_TRY_LINK([],[],[AC_MSG_RESULT([yes])],[AC_MSG_FAILURE([no. Try a different SDK]); exit 1])
AC_LANG_POP()
fi
;;
esac
-dnl POSIX needs this for select(), but old systems don't have it
if test "$USE_UNIX" = 1 ; then
+ dnl POSIX needs this for select(), but old systems don't have it
AC_CHECK_HEADERS([sys/select.h],,, [AC_INCLUDES_DEFAULT()])
+
+ dnl Header defining C++ ABI is currently only available with g++ but test
+ dnl for it unconditionally in case it becomes supported by other compilers.
+ AC_LANG_PUSH(C++)
+ AC_CHECK_HEADERS([cxxabi.h],,, [AC_INCLUDES_DEFAULT()])
+ AC_LANG_POP()
fi
dnl ---------------------------------------------------------------------------
GUI_TK_LIBRARY=
+ WXGTK1=
WXGTK127=
WXGTK2=
+ WXGTK3=
WXGPE=
if test "$wxUSE_OLD_COCOA" = 1 ; then
GTK_MODULES=gthread
fi
+ if test -z "$wxGTK_VERSION"; then
+ wxGTK_VERSION=any
+ fi
+
dnl detect GTK2
wx_cv_lib_gtk=
if test "x$wxGTK_VERSION" != "x1"
fi
esac
- AM_PATH_GTK_2_0(2.4.0, wx_cv_lib_gtk=2.0, , $GTK_MODULES)
+ if test "$wxGTK_VERSION" != 3; then
+ AM_PATH_GTK_2_0(2.6.0, wx_cv_lib_gtk=2.0, , $GTK_MODULES)
+ fi
+ if test -z "$wx_cv_lib_gtk"; then
+ if test "$wxGTK_VERSION" = 3 -o "$wxGTK_VERSION" = any; then
+ AM_PATH_GTK_3_0(, wx_cv_lib_gtk=3, , $GTK_MODULES)
+ fi
+ fi
fi
dnl detect GTK1.x
fi
case "$wx_cv_lib_gtk" in
+ 3) WXGTK3=1
+ TOOLKIT_VERSION=3
+ ;;
2.0) WXGTK2=1
TOOLKIT_VERSION=2
;;
1.2.7) WXGTK127=1
+ WXGTK1=1
;;
- 1.2*) ;;
+ 1.2*) WXGTK1=1 ;;
*) AC_MSG_ERROR([
The development files for GTK+ were not found. For GTK+ 2, please
ensure that pkg-config is in the path and that gtk+-2.0.pc is
;;
esac
- if test "$WXGTK2" = 1; then
+ if test "$WXGTK3" = 1; then
+ AC_DEFINE(__WXGTK218__)
+ AC_DEFINE(__WXGTK210__)
+ elif test "$WXGTK2" = 1; then
save_CFLAGS="$CFLAGS"
save_LIBS="$LIBS"
CFLAGS="$wx_cv_cflags_gtk $CFLAGS"
[
AC_DEFINE(__WXGTK218__)
AC_DEFINE(__WXGTK210__)
- AC_DEFINE(__WXGTK26__)
AC_MSG_RESULT([yes])
ac_wxgtk218=1
],
],
[
AC_DEFINE(__WXGTK210__)
- AC_DEFINE(__WXGTK26__)
AC_MSG_RESULT([yes])
ac_wxgtk210=1
],
AC_MSG_RESULT([no])
ac_wxgtk210=0
])
-
- if test "$ac_wxgtk210" = 0; then
- dnl test if we have at least GTK+ 2.6:
- AC_MSG_CHECKING([if GTK+ is version >= 2.6])
- AC_TRY_COMPILE([
- #include <gtk/gtk.h>
- ],
- [
- #if !GTK_CHECK_VERSION(2,6,0)
- Not GTK+ 2.6
- #endif
- ],
- [
- AC_DEFINE(__WXGTK26__)
- AC_MSG_RESULT([yes])
- ac_wxgtk26=1
- ],
- [
- AC_MSG_RESULT([no])
- ac_wxgtk26=0
- ])
- fi
fi
CFLAGS="$save_CFLAGS"
fi
-dnl ---------------------------------------------------------------------------
-dnl UTF-8 support
-dnl ---------------------------------------------------------------------------
-
-dnl If UTF-8 support wasn't explicitly enabled or disabled, enable it only
-dnl for ports where it makes sense by default (GTK+, DirectFB):
-if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_UTF8" = "auto" ; then
- if test "$USE_UNIX" = 1 -a "$wxUSE_DARWIN" != 1 ; then
- wxUSE_UNICODE_UTF8=yes
- elif test "$USE_OS2" = 1 ; then
- dnl wide char support is quite incomplete in libc;
- dnl UTF-8 might actually work when evaluating/setting
- dnl code pages correctly, even for ports other than GTK20.
- wxUSE_UNICODE_UTF8=yes
- else
- wxUSE_UNICODE_UTF8=no
- fi
-fi
-
dnl ---------------------------------------------------------------------------
dnl Optional libraries included when system library is not used
dnl ---------------------------------------------------------------------------
USE_XINERAMA=0
if test "$wxUSE_DISPLAY" = "yes"; then
dnl Xinerama is used for wxGTK1/wxX11/wxMotif only
- if test "$wxUSE_MOTIF" = 1 -o "$wxUSE_X11" = 1 -o "$wxUSE_GTK1" = 1; then
+ if test "$wxUSE_MOTIF" = 1 -o "$wxUSE_X11" = 1 -o "$WXGTK1" = 1; then
WX_FIND_LIB(Xinerama, XineramaQueryScreens)
if test "$ac_find_libraries" != "" ; then
if test "$ac_find_libraries" != "std" ; then
OPENGL_LIBS="-framework OpenGL -framework AGL"
elif test "$wxUSE_MSW" = 1; then
OPENGL_LIBS="-lopengl32 -lglu32"
- elif test "$wxUSE_MOTIF" = 1 -o "$wxUSE_X11" = 1 -o "$wxUSE_GTK2" = 1 -o "$wxUSE_GTK" = 1; then
+ elif test "$wxUSE_MOTIF" = 1 -o "$wxUSE_X11" = 1 -o "$wxUSE_GTK" = 1; then
dnl adjust CPPFLAGS to include GL/gl.h location if necessary
dnl (/opt/graphics/OpenGL is for HP-UX systems, bug 925307)
AC_CACHE_CHECK([for vsnprintf declaration], wx_cv_func_vsnprintf_decl,
[
dnl our troubles are not over: HP-UX 11 prototypes vsnprintf() as
- dnl taking "char *" and not "const char *" while Metrowerks does
- dnl provide a correct vsnprintf declaration but in C++ mode it's
- dnl always in std namespace and so we have to bring it in scope
+ dnl taking "char *" and not "const char *" so test for this too
AC_TRY_COMPILE(
[
#include <stdio.h>
#include <stdarg.h>
- #ifdef __MSL__
- #if __MSL__ >= 0x6000
- namespace std {}
- using namespace std;
- #endif
- #endif
],
[
char *buf;
AC_MSG_WARN([backtrace() is not available, wxStackWalker will not be available])
wxUSE_STACKWALKER=no
else
- AC_CACHE_CHECK([for __cxa_demangle() in <cxxabi.h>], wx_cv_func_cxa_demangle,
- [
- AC_LANG_PUSH(C++)
- AC_TRY_LINK([#include <cxxabi.h>],
- [
- int rc;
- __cxxabiv1::__cxa_demangle("foo", 0, 0, &rc);
- ],
- wx_cv_func_cxa_demangle=yes,
- wx_cv_func_cxa_demangle=no
- )
- AC_LANG_POP()
- ]
- )
+ if test "$ac_cv_header_cxxabi_h" = "yes"; then
+ AC_CACHE_CHECK([for __cxa_demangle() in <cxxabi.h>], wx_cv_func_cxa_demangle,
+ [
+ AC_LANG_PUSH(C++)
+ AC_TRY_LINK([#include <cxxabi.h>],
+ [
+ int rc;
+ __cxxabiv1::__cxa_demangle("foo", 0, 0, &rc);
+ ],
+ wx_cv_func_cxa_demangle=yes,
+ wx_cv_func_cxa_demangle=no
+ )
+ AC_LANG_POP()
+ ]
+ )
+ else
+ wx_cv_func_cxa_demangle=no
+ fi
if test "$wx_cv_func_cxa_demangle" = "yes"; then
AC_DEFINE(HAVE_CXA_DEMANGLE)
dnl do other tests only if we are using threads
if test "$wxUSE_THREADS" = "yes" ; then
- AC_CHECK_FUNCS(thr_setconcurrency)
+ AC_CHECK_FUNCS(pthread_setconcurrency,
+ AC_DEFINE(HAVE_PTHREAD_SET_CONCURRENCY),
+ [
+ AC_CHECK_FUNCS(thr_setconcurrency,
+ AC_DEFINE(HAVE_THR_SETCONCURRENCY),
+ AC_MSG_WARN(Setting thread concurrency will not work properly))
+ ])
dnl can't use AC_CHECK_FUNCS for this one as it's usually a macro and so
dnl wouldn't be found by it
AC_DEFINE(HAVE___THREAD_KEYWORD)
fi
fi
+
+ if test "$ac_cv_header_cxxabi_h" = "yes"; then
+ AC_CACHE_CHECK([for abi::__forced_unwind() in <cxxabi.h>],
+ wx_cv_type_abi_forced_unwind,
+ [
+ AC_LANG_PUSH(C++)
+ AC_TRY_COMPILE([#include <cxxabi.h>],
+ [
+ void foo(abi::__forced_unwind&);
+ ],
+ wx_cv_type_abi_forced_unwind=yes,
+ wx_cv_type_abi_forced_unwind=no
+ )
+ AC_LANG_POP()
+ ]
+ )
+ else
+ wx_cv_type_abi_forced_unwind=no
+ fi
+
+ if test "$wx_cv_type_abi_forced_unwind" = "yes"; then
+ AC_DEFINE(HAVE_ABI_FORCEDUNWIND)
+ fi
fi
dnl from if !MSW
dnl ]
dnl )
+dnl This is currently always defined under Unix, there is no reason to ever
+dnl disable compiler TLS support there.
+AC_DEFINE(wxUSE_COMPILER_TLS)
+
if test "$wxUSE_THREADS" = "yes"; then
AC_DEFINE(wxUSE_THREADS)
fi
fi
+if test "$WXGTK3" = 1 ; then
+ AC_DEFINE_UNQUOTED(__WXGTK3__, 1)
+ WXGTK2=1
+fi
if test "$WXGTK2" = 1 ; then
AC_DEFINE_UNQUOTED(__WXGTK20__,$WXGTK2)
fi
WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -DwxDEBUG_LEVEL=0"
if test "$wxUSE_GTK" = 1 ; then
- if test "x$wxGTK_VERSION" = "x1" ; then
- CPPFLAGS="-DGTK_NO_CHECK_CASTS $CPPFLAGS"
- else
+ if test "$WXGTK2" = 1 ; then
CPPFLAGS="$CPPFLAGS -DG_DISABLE_CAST_CHECKS"
+ else
+ CPPFLAGS="-DGTK_NO_CHECK_CASTS $CPPFLAGS"
fi
fi
fi
if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
if test "$wxUSE_GTKPRINT" = "yes" ; then
-
+ if test "$WXGTK3" = 1; then
+ gtk_unix_print="gtk+-unix-print-3.0"
+ else
+ gtk_unix_print="gtk+-unix-print-2.0 >= 2.10"
+ fi
PKG_CHECK_MODULES(GTKPRINT,
- [gtk+-unix-print-2.0 >= 2.10],
+ [$gtk_unix_print],
[
+ GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GTKPRINT_LIBS"
CFLAGS="$GTKPRINT_CFLAGS $CFLAGS"
CXXFLAGS="$GTKPRINT_CFLAGS $CXXFLAGS"
AC_DEFINE(wxUSE_GTKPRINT)
)
fi
+ if test "$WXGTK3" = 1; then
+ wxUSE_LIBGNOMEPRINT=no
+ fi
+
if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
PKG_CHECK_MODULES(LIBGNOMEPRINTUI,
[libgnomeprintui-2.2 >= 2.8],
[
+ GUI_TK_LIBRARY="$GUI_TK_LIBRARY $LIBGNOMEPRINTUI_LIBS"
CFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CFLAGS"
CXXFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CXXFLAGS"
AC_DEFINE(wxUSE_LIBGNOMEPRINT)
PKG_CHECK_MODULES(GNOMEVFS,
[gnome-vfs-2.0 >= 2.0],
[
+ GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GNOMEVFS_LIBS"
CFLAGS="$GNOMEVFS_CFLAGS $CFLAGS"
CXXFLAGS="$GNOMEVFS_CFLAGS $CXXFLAGS"
AC_DEFINE(wxUSE_LIBGNOMEVFS)
fi
fi
+ if test "$wxUSE_NOTIFICATION_MESSAGE" = "yes" ; then
+ if test "$wxUSE_LIBNOTIFY" = "yes" ; then
+ HAVE_LIBNOTIFY=0
+ PKG_CHECK_MODULES(LIBNOTIFY, [libnotify >= 0.7],
+ [
+ HAVE_LIBNOTIFY=1
+ AC_DEFINE(wxUSE_LIBNOTIFY_0_7)
+ ],
+ [
+ PKG_CHECK_MODULES(LIBNOTIFY, [libnotify >= 0.4],
+ [HAVE_LIBNOTIFY=1],
+ [AC_MSG_WARN([libnotify not found, wxNotificationMessage will use generic implementation.])]
+ )
+ ]
+ )
+
+ if test "$HAVE_LIBNOTIFY" = "1" ; then
+ GUI_TK_LIBRARY="$GUI_TK_LIBRARY $LIBNOTIFY_LIBS"
+ CFLAGS="$LIBNOTIFY_CFLAGS $CFLAGS"
+ CXXFLAGS="$LIBNOTIFY_CFLAGS $CXXFLAGS"
+ AC_DEFINE(wxUSE_LIBNOTIFY)
+ fi
+ fi
+ fi
+
if test "$wxUSE_LIBHILDON" = "yes" ; then
PKG_CHECK_MODULES(HILDON,
[hildon-lgpl >= 0.9],
[
- EXTRALIBS_HILDON="$HILDON_LIBS"
+ GUI_TK_LIBRARY="$GUI_TK_LIBRARY $HILDON_LIBS"
CFLAGS="$CFLAGS $HILDON_CFLAGS"
CXXFLAGS="$CXXFLAGS $HILDON_CFLAGS"
AC_DEFINE(wxUSE_LIBHILDON)
PKG_CHECK_MODULES(HILDON2,
[hildon-1 >= 1.99],
[
- EXTRALIBS_HILDON="$HILDON2_LIBS"
+ GUI_TK_LIBRARY="$GUI_TK_LIBRARY $HILDON2_LIBS"
CFLAGS="$CFLAGS $HILDON2_CFLAGS"
CXXFLAGS="$CXXFLAGS $HILDON2_CFLAGS"
AC_DEFINE(wxUSE_LIBHILDON2)
if test "$wxUSE_TASKBARICON" = "yes"; then
AC_DEFINE(wxUSE_TASKBARICON)
+ dnl This is used under MSW, just enable it always without testing for the
+ dnl toolkit nor providing a separate option for it because it's totally
+ dnl harmless to have it defined even if it's unnecessary.
+ AC_DEFINE(wxUSE_TASKBARICON_BALLOONS)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar"
fi
USE_WEBVIEW_WEBKIT=0
if test "$wxUSE_WEBVIEW_WEBKIT" = "yes"; then
if test "$wxUSE_GTK" = 1; then
+ webkitgtk=webkit-1.0
+ if test "$WXGTK3" = 1; then
+ webkitgtk=webkitgtk-3.0
+ fi
PKG_CHECK_MODULES([WEBKIT],
- [webkit-1.0 >= 1.3.1],
+ [$webkitgtk >= 1.3.1],
[
USE_WEBVIEW_WEBKIT=1
CPPFLAGS="$CPPFLAGS $WEBKIT_CFLAGS"
else
USE_MEDIA=0
fi
+
+ elif test "$wxUSE_MAC" = 1; then
+ dnl We always have the necessary libraries under Mac
+ dnl but we need to link with it explicitly.
+ GST_LIBS="-framework QTKit"
fi
if test $USE_MEDIA = 1; then
if test "$wxUSE_OSX_IPHONE" = 1; then
EXTRA_FRAMEWORKS="-framework IOKit -framework UIKit -framework CFNetwork -framework AudioToolbox -framework CoreFoundation -framework CoreGraphics -framework OpenGLES -framework Foundation -framework QuartzCore"
else
- EXTRA_FRAMEWORKS="-framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL -framework QuickTime"
+ EXTRA_FRAMEWORKS="-framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL"
+
+ dnl The case of QuickTime framework is special: we only need it in
+ dnl 32 bit builds and not in 64 bit and, moreover, linking with it
+ dnl in 64 bit builds results in a warning because the framework is
+ dnl not available in 64 bits itself. So make an effort to avoid it
+ dnl when building for 64 bits only (i.e. not universal build).
+
+ if test "$cross_compiling" != "no"; then
+ dnl The check below doesn't work well when cross-compiling
+ dnl ("file" under non-OS X systems might not recognize
+ dnl universal binaries) so assume we do build for 32 bits as
+ dnl it's safer: at worst we'll get a warning when building in
+ dnl 64 bits only, but at least the build will still work.
+ wx_cv_target_x86_64=no
+ else
+ AC_CACHE_CHECK(
+ [if we target only x86_64],
+ wx_cv_target_x86_64,
+ AC_LINK_IFELSE(
+ [AC_LANG_SOURCE([int main() { return 0; }])],
+ if file conftest$ac_exeext|grep -q 'i386\|ppc'; then
+ wx_cv_target_x86_64=no
+ else
+ wx_cv_target_x86_64=yes
+ fi
+ )
+ )
+ fi
+
+ if test "$wx_cv_target_x86_64" != "yes"; then
+ EXTRA_FRAMEWORKS="$EXTRA_FRAMEWORKS -framework QuickTime"
+ fi
fi
fi
fi
dnl
dnl note that the order is somewhat important: wxWidgets headers should
dnl come first and the one with setup.h should be before $(top_srcdir)/include
-dnl in case the latter contains setup.h used by non-autoconf makefiles (e.g.
-dnl CodeWarrior):
+dnl in case the latter contains setup.h used by non-autoconf makefiles
CPPFLAGS=`echo $WXCONFIG_CPPFLAGS \
-I\\${wx_top_builddir}/lib/wx/include/${TOOLCHAIN_FULLNAME} \
-I\\${top_srcdir}/include $TOOLKIT_INCLUDE \
EXTRALIBS_MEDIA="$GST_LIBS"
EXTRALIBS_STC="-lwxscintilla${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX}"
if test "$wxUSE_GUI" = "yes"; then
- EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK $EXTRALIBS_HILDON $EXTRALIBS_GNOMEVFS $EXTRALIBS_GNOMEPRINT`
+ EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK`
fi
if test "$wxUSE_OPENGL" = "yes"; then
EXTRALIBS_OPENGL="$LDFLAGS_GL $OPENGL_LIBS"
AC_SUBST(EXTRALIBS_SDL)
AC_SUBST(EXTRALIBS_STC)
AC_SUBST(WITH_PLUGIN_SDL)
-AC_SUBST(EXTRALIBS_GTKPRINT)
-AC_SUBST(EXTRALIBS_GNOMEPRINT)
-AC_SUBST(EXTRALIBS_GNOMEVFS)
-AC_SUBST(EXTRALIBS_HILDON)
AC_SUBST(UNICODE)
AC_SUBST(DEBUG_INFO)
AC_SUBST(DEBUG_FLAG)
GTK)
TOOLKIT_DESC="GTK+"
if test "$WXGTK2" = 1; then
- TOOLKIT_DESC="$TOOLKIT_DESC 2"
+ if test "$WXGTK3" = 1; then
+ TOOLKIT_DESC="$TOOLKIT_DESC 3"
+ else
+ TOOLKIT_DESC="$TOOLKIT_DESC 2"
+ fi
if test "$wxUSE_GTKPRINT" = "yes" ; then
TOOLKIT_EXTRA="$TOOLKIT_EXTRA GTK+ printing";
fi
if test "$wxUSE_LIBGNOMEVFS" = "yes" ; then
TOOLKIT_EXTRA="$TOOLKIT_EXTRA gnomevfs"
fi
+ if test "$wxUSE_LIBNOTIFY" = "yes" ; then
+ TOOLKIT_EXTRA="$TOOLKIT_EXTRA libnotify"
+ fi
if test "$wxUSE_LIBHILDON" = "yes"; then
TOOLKIT_EXTRA="$TOOLKIT_EXTRA hildon"
fi
if test "$wxUSE_MAC" = 1 ; then
if test "x$wxUSE_UNIVERSAL_BINARY" != "xno" ; then
- sed "s/DEPSMODE=gcc/DEPSMODE=none/" < bk-deps > temp
- mv temp bk-deps
- chmod +x bk-deps
+ if test "x$disable_macosx_deps" = "xyes"; then
+ sed "s/DEPSMODE=gcc/DEPSMODE=none/" < bk-deps > temp
+ mv temp bk-deps
+ chmod +x bk-deps
+ fi
fi
fi