X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe1fd8d5d514c6c2d720719c1413f0dd3d2a1271..af4168e2cfbeffbe3b53380471aa31e9ab63a598:/configure.in diff --git a/configure.in b/configure.in index 35d5048f14..48442ab925 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,4 @@ dnl Process this file with autoconf to produce a configure script. -AC_REVISION($Id$)dnl AC_PREREQ(2.58) @@ -9,15 +8,13 @@ dnl Top-level configure.in for wxWidgets by Robert Roebling, Phil Blecker, dnl Vadim Zeitlin and Ron Lee dnl dnl This script is under the wxWindows licence. -dnl -dnl Version: $Id$ dnl --------------------------------------------------------------------------- dnl --------------------------------------------------------------------------- dnl initialization dnl --------------------------------------------------------------------------- -AC_INIT([wxWidgets], [2.9.4], [wx-dev@lists.wxwidgets.org]) +AC_INIT([wxWidgets], [3.0.0], [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]) @@ -41,9 +38,9 @@ dnl When making releases do: dnl dnl wx_release_number += 1 -wx_major_version_number=2 -wx_minor_version_number=9 -wx_release_number=4 +wx_major_version_number=3 +wx_minor_version_number=0 +wx_release_number=0 wx_subrelease_number=0 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number @@ -336,7 +333,7 @@ case "${host}" in AC_DEFINE(__BSD__) AC_DEFINE(__DARWIN__) AC_DEFINE(TARGET_CARBON) - DEFAULT_DEFAULT_wxUSE_OSX_CARBON=1 + DEFAULT_DEFAULT_wxUSE_OSX_COCOA=1 ;; *-*-beos* ) @@ -385,27 +382,23 @@ dnl features disabled by default 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 @@ -470,7 +463,7 @@ fi 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]) @@ -488,8 +481,6 @@ AC_ARG_WITH(directfb, [ --with-directfb use DirectFB], [wxUSE_DFB= 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 @@ -561,15 +552,6 @@ if test "$wxUSE_GUI" = "yes"; then 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}" @@ -600,12 +582,15 @@ dnl --------------------------------------------------------------------------- WX_ARG_SYS_WITH(libpng, [ --with-libpng use libpng (PNG image format)], wxUSE_LIBPNG) WX_ARG_SYS_WITH(libjpeg, [ --with-libjpeg use libjpeg (JPEG file format)], wxUSE_LIBJPEG) WX_ARG_SYS_WITH(libtiff, [ --with-libtiff use libtiff (TIFF file format)], wxUSE_LIBTIFF) +WX_ARG_WITHOUT(libjbig, [ --without-libjbig don't use libjbig in libtiff even if available)], wxUSE_LIBJBIG) +WX_ARG_WITHOUT(liblzma, [ --without-liblzma don't use liblzma in libtiff even if available)], wxUSE_LIBLZMA) WX_ARG_SYS_WITH(libxpm, [ --with-libxpm use libxpm (XPM file format)], wxUSE_LIBXPM) WX_ARG_WITH(libiconv, [ --with-libiconv use libiconv (character conversion)], wxUSE_LIBICONV) WX_ARG_WITH(libmspack, [ --with-libmspack use libmspack (CHM help files loading)], wxUSE_LIBMSPACK) 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) @@ -787,6 +772,7 @@ WX_ARG_FEATURE(fontmap, [ --enable-fontmap use font encodings conv WX_ARG_FEATURE(fs_archive, [ --enable-fs_archive use virtual archive filesystems], wxUSE_FS_ARCHIVE) WX_ARG_FEATURE(fs_inet, [ --enable-fs_inet use virtual HTTP/FTP filesystems], wxUSE_FS_INET) WX_ARG_FEATURE(fs_zip, [ --enable-fs_zip now replaced by fs_archive], wxUSE_FS_ZIP) +WX_ARG_FEATURE(fsvolume, [ --enable-fsvolume use wxFSVolume class], wxUSE_FSVOLUME) WX_ARG_FEATURE(fswatcher, [ --enable-fswatcher use wxFileSystemWatcher class], wxUSE_FSWATCHER) WX_ARG_FEATURE(geometry, [ --enable-geometry use geometry class], wxUSE_GEOMETRY) WX_ARG_FEATURE(log, [ --enable-log use logging system], wxUSE_LOG) @@ -982,6 +968,7 @@ WX_ARG_FEATURE(notebook, [ --enable-notebook use wxNotebook class], wx WX_ARG_FEATURE(notifmsg, [ --enable-notifmsg use wxNotificationMessage class], wxUSE_NOTIFICATION_MESSAGE) WX_ARG_FEATURE(odcombobox, [ --enable-odcombobox use wxOwnerDrawnComboBox class], wxUSE_ODCOMBOBOX) WX_ARG_FEATURE(popupwin, [ --enable-popupwin use wxPopUpWindow class], wxUSE_POPUPWIN) +WX_ARG_FEATURE(prefseditor, [ --enable-prefseditor use wxPreferencesEditor class], wxUSE_PREFERENCES_EDITOR) WX_ARG_FEATURE(radiobox, [ --enable-radiobox use wxRadioBox class], wxUSE_RADIOBOX) WX_ARG_FEATURE(radiobtn, [ --enable-radiobtn use wxRadioButton class], wxUSE_RADIOBTN) WX_ARG_FEATURE(richmsgdlg, [ --enable-richmsgdlg use wxRichMessageDialog class], wxUSE_RICHMSGDLG) @@ -1049,7 +1036,7 @@ WX_ARG_FEATURE(dragimage, [ --enable-dragimage use wxDragImage], wxUSE_D 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 @@ -1074,7 +1061,7 @@ WX_ARG_FEATURE(ps-in-msw, [ --enable-ps-in-msw use PS printing in wxMSW 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 @@ -1183,13 +1170,6 @@ if test "x$wxUSE_UNIVERSAL_BINARY" != xno ; then 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 - - 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. - dnl That would require a major rework of Bakefile and at the same time it would be nice to have - dnl Objective-C++ precompiled headers. - AC_MSG_WARN([Disabling precompiled headers due to universal binary build.]) - bk_use_pch=no else if test "x$wxUSE_MAC_ARCH" != xno; then OSX_ARCH_OPTS=$wxUSE_MAC_ARCH @@ -1197,6 +1177,19 @@ else 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. + dnl That would require a major rework of Bakefile and at the same time it would be nice to have + dnl Objective-C++ precompiled headers. + AC_MSG_WARN([Disabling precompiled headers due to universal binary build.]) + bk_use_pch=no + fi + OSX_ARCH_OPTS=`echo $OSX_ARCH_OPTS | sed -e 's/^/-arch /' -e 's/,/ -arch /g'` CXXFLAGS="$OSX_ARCH_OPTS $CXXFLAGS" @@ -1263,66 +1256,14 @@ dnl We need to quote the next line where we don't need macros and do need [] in 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 @@ -1342,12 +1283,12 @@ dnl still compile and link both C and C++. If we didn't do this, then most 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 @@ -1491,7 +1432,6 @@ if test "$wants_win32" = 1 ; then USE_UNIX=0 USE_WIN32=1 AC_DEFINE(__WIN32__) - AC_DEFINE(__WIN95__) AC_DEFINE(__WINDOWS__) AC_DEFINE(__GNUWIN32__) AC_DEFINE(STRICT) @@ -1522,9 +1462,6 @@ case "${host}" in dnl More complete Unix emulation for unix-like ports dnl by linking in POSIX/2's cExt (if available). AC_CHECK_LIB(cExt, drand48, LIBS="$LIBS -lcExt") - else - dnl Include resources for the "native" port (wxPM). - RESPROGRAMOBJ="\${top_srcdir}/include/wx/os2/wx.res" fi dnl Check for the gcc version (and thereby for the C runtime library). dnl wx_cv_gccversion = EMX2 -> Standard EMX environment @@ -1579,50 +1516,6 @@ case "${host}" in fi dnl (end of OS/2-only piece) ;; - *) - dnl --------------------------------------------------------------------- - dnl look for strcasecmp() in string.h and then strings.h if it's not - dnl there. Don't do this on OS/2, where "stricmp" is the function to be - dnl used. - dnl --------------------------------------------------------------------- - dnl (non-OS/2-only piece) - - AC_CACHE_CHECK([for strcasecmp() in string.h], ac_cv_string_strcasecmp, [ - AC_TRY_LINK([ - #include - ], - [ - strcasecmp("foo", "bar"); - ], - ac_cv_string_strcasecmp=yes, - ac_cv_string_strcasecmp=no - ) - ]) - - if test x"$ac_cv_string_strcasecmp" = "xyes"; then - AC_DEFINE(HAVE_STRCASECMP_IN_STRING_H) - else - AC_CACHE_CHECK([for strcasecmp() in strings.h], ac_cv_strings_strcasecmp, [ - AC_TRY_LINK([ - #include - ], - [ - strcasecmp("foo", "bar"); - ], - ac_cv_strings_strcasecmp=yes, - ac_cv_strings_strcasecmp=no - ) - ]) - - if test x"$ac_cv_strings_strcasecmp" = "xyes"; then - AC_DEFINE(HAVE_STRCASECMP_IN_STRINGS_H) - else - AC_MSG_ERROR([No case-insensitive string comparison function found.]) - fi - fi - - dnl (end of non-OS/2-only piece) - ;; esac dnl ------------------------------------------------------------------------ @@ -1651,9 +1544,15 @@ case "${host}" in ;; 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 --------------------------------------------------------------------------- @@ -1818,6 +1717,8 @@ if test $wx_cv_have_variadic_macros = "yes"; then AC_DEFINE(HAVE_VARIADIC_MACROS) fi +else + AC_DEFINE(wxNO_VARIADIC_MACROS) fi dnl wxUSE_VARARG_MACROS == yes @@ -2753,6 +2654,24 @@ if test "$wxUSE_LIBTIFF" != "no" ; then dnl we need to hack around this ac_configure_args="$ac_configure_args --disable-jpeg" fi + + if test "$wxUSE_LIBLZMA" = "yes"; then + dnl If libtiff configure detects lzma library, it enables support for + dnl LZMA compression and using it requires linking with liblzma. + AC_CHECK_LIB(lzma, lzma_code, [LIBS="$LIBS -llzma"]) + else + dnl Prevent libtiff configure from looking for liblzma if it's + dnl explicitly disabled. + ac_configure_args="$ac_configure_args --disable-lzma" + fi + + dnl Similarly for jbig + if test "$wxUSE_LIBJBIG" = "yes"; then + AC_CHECK_LIB(jbig, jbg_dec_init, [LIBS="$LIBS -ljbig"]) + else + ac_configure_args="$ac_configure_args --disable-jbig" + fi + AC_CONFIG_SUBDIRS([src/tiff]) fi fi @@ -2828,9 +2747,6 @@ dnl ---------------------------------------------------------------- dnl search for toolkit (widget sets) dnl ---------------------------------------------------------------- -AFMINSTALL= -WIN32INSTALL= - TOOLKIT= TOOLKIT_INCLUDE= WIDGET_SET= @@ -2864,17 +2780,8 @@ if test "$USE_WIN32" = 1 ; then LIBS="$LIBS -lkernel32 -luser32" esac - dnl This one is still used by some sample makefiles. - RESFLAGS="--include-dir \$(top_srcdir)/include --include-dir \$(top_srcdir)/\$(program_dir) --define __WIN32__ --define __WIN95__ --define __GNUWIN32__ $WINDRES_CPU_DEFINE" - RESPROGRAMOBJ="\$(PROGRAM)_resources.o" - - dnl This lot we export to wx-config. It must add the relevant - dnl include directories at the point when they can be known. - dnl (but are these (still) required anyway?) - WXCONFIG_RESFLAGS="--define __WIN32__ --define __WIN95__ --define __GNUWIN32__ $WINDRES_CPU_DEFINE" - - dnl install Win32-specific files in "make install" - WIN32INSTALL=win32install + dnl Flags to be passed to windres by the applications using wxWidgets. + WXCONFIG_RESFLAGS="--define __WIN32__ --define __GNUWIN32__ $WINDRES_CPU_DEFINE" fi if test "$wxUSE_GUI" = "yes"; then @@ -2882,8 +2789,10 @@ if test "$wxUSE_GUI" = "yes"; then GUI_TK_LIBRARY= + WXGTK1= WXGTK127= WXGTK2= + WXGTK3= WXGPE= if test "$wxUSE_OLD_COCOA" = 1 ; then @@ -2931,6 +2840,10 @@ if test "$wxUSE_GUI" = "yes"; 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" @@ -2945,7 +2858,14 @@ if test "$wxUSE_GUI" = "yes"; then 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 @@ -2981,12 +2901,16 @@ if test "$wxUSE_GUI" = "yes"; then 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 @@ -2998,7 +2922,10 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config ;; 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" @@ -3017,7 +2944,6 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config [ AC_DEFINE(__WXGTK218__) AC_DEFINE(__WXGTK210__) - AC_DEFINE(__WXGTK26__) AC_MSG_RESULT([yes]) ac_wxgtk218=1 ], @@ -3039,7 +2965,6 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config ], [ AC_DEFINE(__WXGTK210__) - AC_DEFINE(__WXGTK26__) AC_MSG_RESULT([yes]) ac_wxgtk210=1 ], @@ -3047,28 +2972,6 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config 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 - ], - [ - #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" @@ -3091,7 +2994,6 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config TOOLKIT_INCLUDE="$wx_cv_cflags_gtk" GUI_TK_LIBRARY="$wx_cv_libs_gtk $GUI_TK_LIBRARY" - AFMINSTALL=afminstall TOOLKIT=GTK GUIDIST=GTK_DIST @@ -3160,7 +3062,6 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config wxUSE_UNIVERSAL="yes" - AFMINSTALL=afminstall TOOLKIT=MICROWIN GUIDIST=MICROWIN_DIST @@ -3183,7 +3084,6 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config dnl this junk out GUI_TK_LIBRARY=`echo $X_LIBS | sed 's/ -LNONE//' | sed 's/ -RNONE//'` TOOLKIT_INCLUDE=`echo $X_CFLAGS | sed 's/ -INONE//'` - AFMINSTALL=afminstall COMPILED_X_PROGRAM=0 fi @@ -3610,25 +3510,6 @@ else 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 --------------------------------------------------------------------------- @@ -3655,7 +3536,7 @@ 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 @@ -3732,7 +3613,7 @@ if test "$wxUSE_OPENGL" = "yes" -o "$wxUSE_OPENGL" = "auto"; 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) @@ -4168,7 +4049,18 @@ if test "$WCSLEN_FOUND" = 1; then AC_DEFINE(HAVE_WCSLEN) fi -AC_CHECK_FUNCS([wcsdup wcsftime strnlen wcsnlen wcscasecmp wcsncasecmp]) +dnl Notice that unlike the functions below, this one seems to be present in all +dnl support OS X versions so it's OK to test for it here. +AC_CHECK_FUNCS(wcsftime) + +dnl OS X provides the wide character functions (and also strnlen(), for some +dnl reason) only starting from 10.7 so our tests would succeed if we're +dnl configuring under 10.7 or later, yet the compiled programs would fail if +dnl ran under 10.6 or earlier. To avoid this problem, define the corresponding +dnl HAVE_XXX in wx/osx/config_xcode.h instead of testing for them here. +if test "$wxUSE_MAC" != 1; then + AC_CHECK_FUNCS([strnlen wcsdup wcsnlen wcscasecmp wcsncasecmp]) +fi dnl On HP-UX aCC need this define to find mbstrtowcs() &c dnl Can't be used for g++ since the mbstate_t in wchar.h can conflict @@ -4204,19 +4096,11 @@ if test "$ac_cv_func_vsnprintf" = "yes"; then 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 #include - #ifdef __MSL__ - #if __MSL__ >= 0x6000 - namespace std {} - using namespace std; - #endif - #endif ], [ char *buf; @@ -4451,41 +4335,48 @@ dnl backtrace() and backtrace_symbols() for wxStackWalker if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then AC_CACHE_CHECK([for backtrace() in ], wx_cv_func_backtrace, [ - AC_LANG_PUSH(C++) - AC_TRY_COMPILE([#include ], + AC_SEARCH_LIBS(backtrace, execinfo, [ - void *trace[1]; - char **messages; - - backtrace(trace, 1); - messages = backtrace_symbols(trace, 1); + AC_LANG_PUSH(C++) + AC_TRY_LINK([#include ], + [ + void *trace[1]; + char **messages; + backtrace(trace, 1); + messages = backtrace_symbols(trace, 1); + ], + wx_cv_func_backtrace=yes, + wx_cv_func_backtrace=no + ) + AC_LANG_POP() ], - wx_cv_func_backtrace=yes, wx_cv_func_backtrace=no ) - AC_LANG_POP() ] ) - if test "$wx_cv_func_backtrace" = "no"; then AC_MSG_WARN([backtrace() is not available, wxStackWalker will not be available]) wxUSE_STACKWALKER=no else - AC_CACHE_CHECK([for __cxa_demangle() in ], wx_cv_func_cxa_demangle, - [ - AC_LANG_PUSH(C++) - AC_TRY_LINK([#include ], - [ - 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 ], wx_cv_func_cxa_demangle, + [ + AC_LANG_PUSH(C++) + AC_TRY_LINK([#include ], + [ + 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) @@ -5180,6 +5071,29 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then AC_DEFINE(HAVE___THREAD_KEYWORD) fi fi + + if test "$ac_cv_header_cxxabi_h" = "yes"; then + AC_CACHE_CHECK([for abi::__forced_unwind() in ], + wx_cv_type_abi_forced_unwind, + [ + AC_LANG_PUSH(C++) + AC_TRY_COMPILE([#include ], + [ + 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 @@ -5254,6 +5168,10 @@ dnl AC_CHECK_FUNC(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO), [ 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) @@ -5272,6 +5190,10 @@ else 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 @@ -5308,10 +5230,10 @@ if test "$wxUSE_DEBUG_FLAG" = "no" ; then 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 @@ -5684,10 +5606,15 @@ if test "$WXGTK2" = 1; then 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) @@ -5699,11 +5626,16 @@ if test "$WXGTK2" = 1; then ) 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) @@ -5726,6 +5658,7 @@ if test "$WXGTK2" = 1; then 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) @@ -5738,11 +5671,36 @@ if test "$WXGTK2" = 1; then 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) @@ -5759,7 +5717,7 @@ if test "$WXGTK2" = 1; then 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) @@ -5849,6 +5807,10 @@ if test "$wxUSE_FS_ZIP" = "yes"; then fi fi +if test "$wxUSE_FSVOLUME" = "yes"; then + AC_DEFINE(wxUSE_FSVOLUME) +fi + if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then if test "$USE_UNIX" != 1; then AC_MSG_WARN([Catching fatal exceptions not currently supported on this system, wxApp::OnFatalException will not be called]) @@ -6158,6 +6120,12 @@ if test "$wxUSE_DATETIME" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest" fi +dnl ------------------------------------------------------------------------ +dnl wxProcess +dnl ------------------------------------------------------------------------ + +AC_CHECK_FUNCS(setpriority) + dnl ------------------------------------------------------------------------ dnl wxSocket dnl ------------------------------------------------------------------------ @@ -7065,6 +7033,11 @@ if test "$wxUSE_POPUPWIN" = "yes"; then fi fi +if test "$wxUSE_PREFERENCES_EDITOR" = "yes"; then + AC_DEFINE(wxUSE_PREFERENCES_EDITOR) + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS prefseditor" +fi + if test "$wxUSE_DIALUP_MANAGER" = "yes"; then if test "$wxUSE_MAC" = 1 -o "$wxUSE_OLD_COCOA" = 1; then AC_MSG_WARN([Dialup manager not supported on this platform... disabled]) @@ -7269,8 +7242,12 @@ if test "$wxUSE_WEBVIEW" = "yes"; then 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" @@ -7614,6 +7591,11 @@ if test "$wxUSE_MEDIACTRL" = "yes" -o "$wxUSE_MEDIACTRL" = "auto"; then 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 @@ -7876,8 +7858,7 @@ dnl add -I options we use during library compilation 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 \ @@ -7917,7 +7898,7 @@ EXTRALIBS_HTML="$MSPACK_LINK" 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" @@ -8019,10 +8000,6 @@ AC_SUBST(EXTRALIBS_OPENGL) 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) @@ -8041,7 +8018,11 @@ case "$TOOLKIT" in 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 @@ -8051,6 +8032,9 @@ case "$TOOLKIT" in 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 @@ -8215,11 +8199,13 @@ dnl when we've configured a Universal binary build. dnl The next version of Bakefile will have the correct fix for this dnl at which time, this hack can be removed. -if test "$wxUSE_MAC" = 1 ; then +if test "$DEPS_TRACKING" = 1 -a "$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 @@ -8310,8 +8296,6 @@ AC_SUBST(WX_LIBRARY_BASENAME_GUI) dnl toolkit options AC_SUBST(USE_GUI) -AC_SUBST(AFMINSTALL) -AC_SUBST(WIN32INSTALL) AC_SUBST(TOOLKIT) AC_SUBST(TOOLKIT_DIR) AC_SUBST(TOOLCHAIN_NAME) @@ -8364,8 +8348,6 @@ dnl additional resurces settings AC_SUBST(RESCOMP) AC_SUBST(WINDRES) AC_SUBST(REZ) -AC_SUBST(RESFLAGS) -AC_SUBST(RESPROGRAMOBJ) AC_SUBST(WX_RESOURCES_MACOSX_ASCII) AC_SUBST(WX_RESOURCES_MACOSX_DATA)