]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
TrackMouse DMC fix.
[wxWidgets.git] / configure.in
index fbdbf57aff29ae00e225981c4147245f8b047789..d17d2570c174807225f0ca7c73025d89a61c5836 100644 (file)
@@ -17,7 +17,7 @@ dnl ---------------------------------------------------------------------------
 dnl initialization
 dnl ---------------------------------------------------------------------------
 
-AC_INIT([wxWidgets], [2.5.2], [wx-dev@lists.wxwidgets.org])
+AC_INIT([wxWidgets], [2.5.3], [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])
@@ -55,8 +55,8 @@ dnl   libwx_$(TOOLKIT)-$(WX_RELEASE).so.$(WX_CURRENT).$(WX_REVISION).$(WX_AGE)
 
 wx_major_version_number=2
 wx_minor_version_number=5
-wx_release_number=2
-wx_subrelease_number=9
+wx_release_number=3
+wx_subrelease_number=3
 
 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
 WX_VERSION=$WX_RELEASE.$wx_release_number
@@ -64,9 +64,9 @@ WX_SUBVERSION=$WX_VERSION.$wx_subrelease_number
 
 WX_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number
 
-WX_CURRENT=2
+WX_CURRENT=3
 WX_REVISION=0
-WX_AGE=0
+WX_AGE=3
 
 
 dnl ------------------------------------------------------------------------
@@ -332,6 +332,17 @@ case "${host}" in
     AC_DEFINE(TARGET_CARBON)
     DEFAULT_DEFAULT_wxUSE_MAC=1
   ;;
+  powerpc-apple-macos* )
+    dnl Classic Mac OS (< X)
+    USE_UNIX=0
+    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_MAC=1
+  ;;
 
   *-*-beos* )
     dnl leave USE_UNIX on - BeOS is sufficiently Unix-like for this
@@ -372,6 +383,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_NO_DEPS=no
   DEFAULT_wxUSE_NO_RTTI=no
   DEFAULT_wxUSE_NO_EXCEPTIONS=no
+  DEFAULT_wxUSE_RPATH=yes
   DEFAULT_wxUSE_PERMISSIVE=no
   DEFAULT_wxUSE_DEBUG_FLAG=yes
   DEFAULT_wxUSE_DEBUG_INFO=yes
@@ -400,10 +412,12 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_LIBXPM=no
   DEFAULT_wxUSE_LIBMSPACK=no
   DEFAULT_wxUSE_LIBSDL=no
+  DEFAULT_wxUSE_LIBGNOMEPRINT=no
   DEFAULT_wxUSE_ODBC=no
   DEFAULT_wxUSE_OPENGL=no
 
   DEFAULT_wxUSE_ON_FATAL_EXCEPTION=no
+  DEFAULT_wxUSE_STACKWALKER=no
   DEFAULT_wxUSE_SNGLINST_CHECKER=no
   DEFAULT_wxUSE_STD_IOSTREAM=no
   DEFAULT_wxUSE_CMDLINE_PARSER=no
@@ -415,6 +429,8 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_TEXTBUFFER=no
   DEFAULT_wxUSE_TEXTFILE=no
   DEFAULT_wxUSE_SOUND=no
+  DEFAULT_wxUSE_MEDIACTRL=no  
+  DEFAULT_wxUSE_DIRECTSHOW=no  
   DEFAULT_wxUSE_INTL=no
   DEFAULT_wxUSE_CONFIG=no
   DEFAULT_wxUSE_FONTMAP=no
@@ -497,6 +513,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_CHOICE=no
   DEFAULT_wxUSE_CHOICEBOOK=no
   DEFAULT_wxUSE_COMBOBOX=no
+  DEFAULT_wxUSE_DATEPICKCTRL=no
   DEFAULT_wxUSE_DISPLAY=no
   DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_GRID=no
@@ -559,6 +576,7 @@ else
   DEFAULT_wxUSE_NO_DEPS=no
   DEFAULT_wxUSE_NO_RTTI=no
   DEFAULT_wxUSE_NO_EXCEPTIONS=no
+  DEFAULT_wxUSE_RPATH=yes
   DEFAULT_wxUSE_PERMISSIVE=no
   DEFAULT_wxUSE_DEBUG_FLAG=no
   DEFAULT_wxUSE_DEBUG_INFO=no
@@ -586,10 +604,12 @@ else
   DEFAULT_wxUSE_LIBXPM=yes
   DEFAULT_wxUSE_LIBMSPACK=yes
   DEFAULT_wxUSE_LIBSDL=no
+  DEFAULT_wxUSE_LIBGNOMEPRINT=no
   DEFAULT_wxUSE_ODBC=no
   DEFAULT_wxUSE_OPENGL=no
 
   DEFAULT_wxUSE_ON_FATAL_EXCEPTION=yes
+  DEFAULT_wxUSE_STACKWALKER=yes
   DEFAULT_wxUSE_SNGLINST_CHECKER=yes
   DEFAULT_wxUSE_STD_IOSTREAM=no
   DEFAULT_wxUSE_CMDLINE_PARSER=yes
@@ -601,6 +621,8 @@ else
   DEFAULT_wxUSE_TEXTBUFFER=yes
   DEFAULT_wxUSE_TEXTFILE=yes
   DEFAULT_wxUSE_SOUND=yes
+  DEFAULT_wxUSE_MEDIACTRL=no
+  DEFAULT_wxUSE_DIRECTSHOW=no  
   DEFAULT_wxUSE_INTL=yes
   DEFAULT_wxUSE_CONFIG=yes
   DEFAULT_wxUSE_FONTMAP=yes
@@ -683,6 +705,7 @@ else
   DEFAULT_wxUSE_CHOICE=yes
   DEFAULT_wxUSE_CHOICEBOOK=yes
   DEFAULT_wxUSE_COMBOBOX=yes
+  DEFAULT_wxUSE_DATEPICKCTRL=yes
   DEFAULT_wxUSE_DISPLAY=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
@@ -772,8 +795,8 @@ if test "$wxUSE_GUI" = "yes"; then
 WX_ARG_ENABLE(universal,   [  --enable-universal      use wxWidgets GUI controls instead of native ones], wxUSE_UNIVERSAL)
 AC_ARG_WITH(gtk,           [  --with-gtk              use GTK+], [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(mac,           [  --with-mac              use Mac OS X], [wxUSE_MAC="$withval" TOOLKIT_GIVEN=1])
-AC_ARG_WITH(cocoa,         [  --with-cocoa            use Cocoa], [wxUSE_COCOA="$withval" TOOLKIT_GIVEN=1])
+AC_ARG_WITH(mac,           [  --with-mac              use Mac OS X], [wxUSE_MAC="$withval" CACHE_MAC=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(cocoa,         [  --with-cocoa            use Cocoa], [wxUSE_COCOA="$withval" CACHE_COCOA=1 TOOLKIT_GIVEN=1])
 AC_ARG_WITH(wine,          [  --with-wine             use Wine], [wxUSE_WINE="$withval" CACHE_WINE=1])
 AC_ARG_WITH(msw,           [  --with-msw              use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW=1 TOOLKIT_GIVEN=1])
 AC_ARG_WITH(pm,            [  --with-pm               use OS/2 Presentation Manager], [wxUSE_PM="$withval" CACHE_PM=1 TOOLKIT_GIVEN=1])
@@ -791,6 +814,7 @@ WX_ARG_SYS_WITH(libtiff,   [  --with-libtiff          use libtiff (TIFF file for
 WX_ARG_SYS_WITH(libxpm,    [  --with-libxpm           use libxpm (XPM file format)], wxUSE_LIBXPM)
 WX_ARG_WITH(libmspack,     [  --with-libmspack        use libmspack (CHM help files loading)], wxUSE_LIBMSPACK)
 WX_ARG_WITH(sdl,           [  --with-sdl              use SDL for audio on Unix], wxUSE_LIBSDL)
+WX_ARG_WITH(gnomeprint,    [  --with-gnomeprint       use GNOME print for printing under Unix], wxUSE_LIBGNOMEPRINT)
 WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
 
 fi
@@ -838,11 +862,7 @@ WX_ARG_ENABLE(no_deps,       [  --enable-no_deps        create code without depe
 WX_ARG_ENABLE(compat22,      [  --enable-compat22       enable wxWidgets 2.2 compatibility], WXWIN_COMPATIBILITY_2_2)
 WX_ARG_ENABLE(compat24,      [  --disable-compat24      disable wxWidgets 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, disable)
 
-AC_ARG_ENABLE(rpath,         [  --enable-rpath=DIR      output the rpath flag from wx-config], [wxRPATH_DIR="$enableval"])
-
-if test "$wxRPATH_DIR" != "" -a "$wxRPATH_DIR" != "disable" -a "$wxRPATH_DIR" != "no"; then
-   WXCONFIG_RPATH="-Wl,-rpath -Wl,$wxRPATH_DIR"
-fi
+WX_ARG_ENABLE(rpath,         [  --disable-rpath         disable use of rpath for uninstalled builds], wxUSE_RPATH)
 
 
 dnl ---------------------------------------------------------------------------
@@ -865,6 +885,7 @@ WX_ARG_ENABLE(ipc,           [  --enable-ipc            use interprocess communi
 dnl please keep the settings below in alphabetical order
 WX_ARG_ENABLE(apple_ieee,    [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
 WX_ARG_ENABLE(catch_segvs,   [  --enable-catch_segvs    catch signals in wxApp::OnFatalException (Unix only)], wxUSE_ON_FATAL_EXCEPTION)
+WX_ARG_ENABLE(backtrace,     [  --enable-backtrace      use wxStackWalker class for getting backtraces], wxUSE_STACKWALKER)
 WX_ARG_ENABLE(cmdline,       [  --enable-cmdline        use wxCmdLineParser class], wxUSE_CMDLINE_PARSER)
 WX_ARG_ENABLE(datetime,      [  --enable-datetime       use wxDateTime class], wxUSE_DATETIME)
 WX_ARG_ENABLE(dialupman,     [  --enable-dialupman      use dialup network classes], wxUSE_DIALUP_MANAGER)
@@ -892,6 +913,7 @@ WX_ARG_ENABLE(textfile,      [  --enable-textfile       use wxTextFile class], w
 WX_ARG_ENABLE(timer,         [  --enable-timer          use wxTimer class], wxUSE_TIMER)
 WX_ARG_ENABLE(unicode,       [  --enable-unicode        compile wxString with Unicode support], wxUSE_UNICODE)
 WX_ARG_ENABLE(sound,         [  --enable-sound          use wxSound class], wxUSE_SOUND)
+WX_ARG_ENABLE(mediactrl,     [  --enable-mediactrl      use wxMediaCtrl class], wxUSE_MEDIACTRL)
 WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWidgets implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
 WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZipInputStream], wxUSE_ZIPSTREAM)
 
@@ -968,13 +990,14 @@ if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_ACCEL=yes
   DEFAULT_wxUSE_BMPBUTTON=yes
   DEFAULT_wxUSE_BUTTON=yes
-  DEFAULT_wxUSE_CALCTRL=no
+  DEFAULT_wxUSE_CALCTRL=yes
   DEFAULT_wxUSE_CARET=yes
   DEFAULT_wxUSE_COMBOBOX=yes
   DEFAULT_wxUSE_CHECKBOX=yes
   DEFAULT_wxUSE_CHECKLISTBOX=yes
   DEFAULT_wxUSE_CHOICE=yes
   DEFAULT_wxUSE_CHOICEBOOK=yes
+  DEFAULT_wxUSE_DATEPICKCTRL=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
   DEFAULT_wxUSE_IMAGLIST=yes
@@ -1014,6 +1037,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_CHECKLISTBOX=no
   DEFAULT_wxUSE_CHOICE=no
   DEFAULT_wxUSE_CHOICEBOOK=no
+  DEFAULT_wxUSE_DATEPICKCTRL=no
   DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_GRID=no
   DEFAULT_wxUSE_IMAGLIST=no
@@ -1044,14 +1068,6 @@ elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_TIPWINDOW=no
 fi
 
-## FIXME: This is a blatant hack
-if test "x$wxUSE_COCOA" != "x" -a "$wxUSE_COCOA" != "0" ; then
-  wxUSE_PRINTING_ARCHITECTURE=no
-  wxUSE_DRAG_AND_DROP=no
-  DEFAULT_wxUSE_TOOLTIPS=no
-  DEFAULT_wxUSE_DRAGIMAGE=no
-fi
-
 WX_ARG_ENABLE(accel,       [  --enable-accel          use accelerators], wxUSE_ACCEL)
 WX_ARG_ENABLE(button,      [  --enable-button         use wxButton class], wxUSE_BUTTON)
 WX_ARG_ENABLE(bmpbutton,   [  --enable-bmpbutton      use wxBitmapButton class], wxUSE_BMPBUTTON)
@@ -1062,6 +1078,7 @@ WX_ARG_ENABLE(checklst,    [  --enable-checklst       use wxCheckListBox (listbo
 WX_ARG_ENABLE(choice,      [  --enable-choice         use wxChoice class], wxUSE_CHOICE)
 WX_ARG_ENABLE(choicebook,  [  --enable-choicebook     use wxChoicebook class], wxUSE_CHOICEBOOK)
 WX_ARG_ENABLE(combobox,    [  --enable-combobox       use wxComboBox class], wxUSE_COMBOBOX)
+WX_ARG_ENABLE(datepick,    [  --enable-datepick       use wxDatePickerCtrl class], wxUSE_DATEPICKCTRL)
 WX_ARG_ENABLE(display,     [  --enable-display        use wxDisplay class], wxUSE_DISPLAY)
 WX_ARG_ENABLE(gauge,       [  --enable-gauge          use wxGauge class], wxUSE_GAUGE)
 WX_ARG_ENABLE(grid,        [  --enable-grid           use wxGrid class], wxUSE_GRID)
@@ -1316,7 +1333,7 @@ AC_CACHE_SAVE
 dnl cross-compiling support: we're cross compiling if the build system is
 dnl different from the target one (assume host and target be always the same)
 if test "$build" != "$host" ; then
-    if test "$USE_WIN32" = 1 -o "$USE_DOS" = 1 -o "$USE_UNIX"; then
+    if test "$USE_WIN32" = 1 -o "$USE_DOS" = 1 -o "$USE_UNIX" = 1; then
         CC=$host_alias-gcc
         CXX=$host_alias-c++
         AR=$host_alias-ar
@@ -1324,6 +1341,8 @@ if test "$build" != "$host" ; then
         DLLTOOL=$host_alias-dlltool
         RESCOMP=$host_alias-windres
         STRIP=$host_alias-strip
+    elif test "x$CC" '!=' "x"; then
+        echo "You set CC, I assume you know what you are doing."
     else
         AC_MSG_ERROR($build_alias -> $host_alias cross compilation not supported yet.)
     fi
@@ -1340,6 +1359,7 @@ dnl default CFLAGS (something like "-g -O2") -- we don't need this as we add
 dnl -g and -O flags ourselves below
 CFLAGS=${CFLAGS:=}
 AC_PROG_CC
+AC_BAKEFILE_PROG_MWCC
 
 dnl is -traditional needed for correct compilations
 dnl   adds -traditional for gcc if needed
@@ -1357,6 +1377,7 @@ dnl
 dnl see CFLAGS line above
 CXXFLAGS=${CXXFLAGS:=}
 AC_PROG_CXX
+AC_BAKEFILE_PROG_MWCXX
 
 AC_LANG_RESTORE
 
@@ -1713,6 +1734,70 @@ AC_CACHE_CHECK([size of wchar_t], wx_cv_sizeof_wchar_t,
 
 AC_DEFINE_UNQUOTED(SIZEOF_WCHAR_T, $wx_cv_sizeof_wchar_t)
 
+dnl checks needed to define wxVaCopy
+AC_CACHE_CHECK([for va_copy],
+    wx_cv_func_va_copy,
+    [
+        AC_LINK_IFELSE([
+            #include <stdarg.h>
+            void foo(char *f, ...)
+            {
+                va_list ap1, ap2;
+                va_start(ap1, f);
+                va_copy(ap2, ap1);
+                va_end(ap2);
+                va_end(ap1);
+            }
+            int main()
+            {
+                foo("hi", 17);
+                return 0;
+            }],
+            wx_cv_func_va_copy=yes,
+            wx_cv_func_va_copy=no
+        )
+    ]
+)
+
+if test $wx_cv_func_va_copy = "yes"; then
+    AC_DEFINE(HAVE_VA_COPY)
+else
+    dnl try to understand how can we copy va_lists
+    AC_CACHE_CHECK([if va_list can be copied by value],
+        wx_cv_type_va_list_lvalue,
+        [
+            AC_RUN_IFELSE([
+                #include <stdarg.h>
+                int foo(char *f, ...)
+                {
+                    va_list ap1, ap2;
+                    va_start(ap1, f);
+                    ap2 = ap1;
+                    if ( va_arg(ap1, int) != 17 || va_arg(ap2, int) != 17 )
+                        return 1;
+                    va_end(ap2);
+                    va_end(ap1);
+                    return 0;
+                }
+                int main()
+                {
+                    return foo("hi", 17);
+                }],
+                wx_cv_type_va_list_lvalue=yes,
+                wx_cv_type_va_list_lvalue=no,
+                dnl assume most common case for cross-compiling...
+                wx_cv_type_va_list_lvalue=yes
+            )
+        ]
+    )
+
+    if test $wx_cv_type_va_list_lvalue != "yes"; then
+        dnl we suppose that the only thing which can't be copied like this
+        dnl are arrays... only experience will show whether this is really true
+        AC_DEFINE(VA_LIST_IS_ARRAY)
+    fi
+fi
+
 dnl check for large file support
 AC_SYS_LARGEFILE
 
@@ -1727,6 +1812,11 @@ if test "x$wx_largefile" = "xyes"; then
     else
         WX_LARGEFILE_FLAGS="-D_LARGE_FILES"
     fi
+    dnl AC_FUNC_FSEEKO sets HAVE_FSEEKO and $ac_cv_sys_largefile_source
+    AC_FUNC_FSEEKO
+    if test "$ac_cv_sys_largefile_source" != no; then
+        WX_LARGEFILE_FLAGS="$WX_LARGEFILE_FLAGS -D_LARGEFILE_SOURCE=$ac_cv_sys_largefile_source"
+    fi
     CPPFLAGS="$CPPFLAGS $WX_LARGEFILE_FLAGS"
 fi
 
@@ -1744,6 +1834,7 @@ WX_CPP_EXPLICIT
 
 dnl check whether C++ compiler supports C++ casts
 AC_CXX_CONST_CAST
+AC_CXX_REINTERPRET_CAST
 AC_CXX_STATIC_CAST
 
 dnl check various STL features
@@ -2294,7 +2385,6 @@ dnl Check for libmspack
 dnl ------------------------------------------------------------------------
 
 if test "$wxUSE_LIBMSPACK" != "no"; then
-    
     AC_CHECK_HEADER([mspack.h], [found_mspack_h=1])
     if test "x$found_mspack_h" = "x1"; then
         AC_CHECK_LIB(mspack, mspack_create_chm_decompressor,
@@ -2302,11 +2392,13 @@ if test "$wxUSE_LIBMSPACK" != "no"; then
     fi
     if test "x$MSPACK_LINK" = "x" ; then
         wxUSE_LIBMSPACK=no
-    else
-        AC_DEFINE(wxUSE_LIBMSPACK)
     fi
 fi
 
+if test "$wxUSE_LIBMSPACK" != "no"; then
+    AC_DEFINE(wxUSE_LIBMSPACK)
+fi
+
 
 dnl ----------------------------------------------------------------
 dnl search for toolkit (widget sets)
@@ -2370,6 +2462,21 @@ if test "$wxUSE_GUI" = "yes"; then
     WXGTK20=
     WXGPE=
 
+    if test "$wxUSE_COCOA" = 1 ; then
+        if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes"; then
+            AC_MSG_WARN([Printing not supported under wxCocoa yet, disabled])
+            wxUSE_PRINTING_ARCHITECTURE=no
+        fi
+        if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
+            AC_MSG_WARN([Drag and Drop not supported under wxCocoa yet, disabled])
+            wxUSE_DRAG_AND_DROP=no
+        fi
+        if test "$wxUSE_DRAGIMAGE" = "yes"; then
+            AC_MSG_WARN([Drag Image and DandD not supported under wxCocoa yet, disabled])
+            wxUSE_DRAGIMAGE=no
+        fi
+    fi
+
     if test "$wxUSE_MSW" = 1 ; then
         TOOLKIT=MSW
         GUIDIST=MSW_DIST
@@ -2449,29 +2556,31 @@ equivalent variable and GTK+ is version 1.2.3 or above.
         esac
 
         if test "$WXGTK20" = 1; then
-            if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
-                PKG_CHECK_MODULES(PANGOFT2, pangoft2,
-                    [
-                        CXXFLAGS="$CXXFLAGS $PANGOFT2_CFLAGS"
-                        # FIXME: GTK_LIBS already has a lot of what this is
-                        #        about to add, but we go ahead and just add
-                        #        it all again anyway.
-                        # This is not a good way to manage things.  And simply
-                        # uniq'ing the list later is hardly better.
-                        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS"
-                    ],
-                    [
-                        AC_MSG_WARN([pangoft2 library not found, library will be compiled without printing support])
-                        wxUSE_PRINTING_ARCHITECTURE="no"
-                    ]
-                )
-            fi
-                
             save_CFLAGS="$CFLAGS"
             save_LIBS="$LIBS"
             CFLAGS="$CFLAGS $GTK_CFLAGS"
             LIBS="$LIBS $GTK_LIBS"
+            
             AC_CHECK_FUNCS([pango_font_family_is_monospace])
+            
+            dnl test if we have at least GTK+ 2.4:
+            AC_MSG_CHECKING([if GTK+ is version >= 2.4])
+            AC_TRY_COMPILE([
+                            #include <gtk/gtk.h>
+                           ],
+                           [
+                            #if !GTK_CHECK_VERSION(2,4,0)
+                            #error "Not GTK+ 2.4"
+                            #endif
+                           ],
+                           [
+                            AC_DEFINE(__WXGTK24__)
+                            AC_MSG_RESULT([yes])
+                           ],
+                           [
+                            AC_MSG_RESULT([no])
+                           ])
+            
             CFLAGS="$save_CFLAGS"
             LIBS="$save_LIBS"
         else
@@ -2675,6 +2784,7 @@ equivalent variable and GTK+ is version 1.2.3 or above.
                 )
                 PKG_CHECK_MODULES(PANGOXFT, pangoxft,
                     [
+                        AC_DEFINE(HAVE_PANGO_XFT)
                         CXXFLAGS="$CXXFLAGS $PANGOXFT_CFLAGS"
                         GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS"
                     ],
@@ -2929,7 +3039,12 @@ equivalent variable and GTK+ is version 1.2.3 or above.
             AC_MSG_RESULT([none])
         fi
 
-        CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon"
+        if test "x$wxUSE_UNIX" = "xyes"; then
+            CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon"
+        else
+            dnl platform.h needs TARGET_CARBON before setup.h
+            CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -DTARGET_CARBON"
+        fi
 
         TOOLKIT=MAC
         dnl we can't call this MAC_DIST or autoconf thinks its a macro
@@ -3103,11 +3218,40 @@ dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl DirectDraw  / Multimon for MSW
 dnl ---------------------------------------------------------------------------
-        AC_CHECK_HEADERS([multimon.h ddraw.h], [], [
-            wxUSE_DISPLAY="no"
-            AC_MSG_WARN([ddraw.h or multimon.h not found; disabling wxDisplay])
-          ] )
+        AC_CHECK_HEADERS([multimon.h ddraw.h], [],
+            [
+                wxUSE_DISPLAY="no"
+                AC_MSG_WARN([ddraw.h or multimon.h not found; disabling wxDisplay])
+            ],
+            [#include <windows.h>])
+    fi
+fi
+
+dnl ---------------------------------------------------------------------------
+dnl wxMediaCtrl 
+dnl ---------------------------------------------------------------------------
+
+if test "$wxUSE_MEDIACTRL" = "yes"; then
+    if test "$wxUSE_MSW" = 1; then
+dnl ---------------------------------------------------------------------------
+dnl DirectShow MSW
+dnl ---------------------------------------------------------------------------
+        wxUSE_DIRECTSHOW="yes"
+        AC_CHECK_HEADERS([dshow.h], [],
+            [
+                wxUSE_DIRECTSHOW="no"
+                AC_MSG_WARN([DirectShow not installed; consider installing the DirectX7 SDK or higher])
+            ],
+            [#include <windows.h>])
+
+       if test "$wxUSE_DIRECTSHOW" = "yes"; then
+            AC_DEFINE(wxUSE_DIRECTSHOW)
+            LIBS="$LIBS -lstrmiids"
+       fi
     fi
+
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer"
+    AC_DEFINE(wxUSE_MEDIACTRL)
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -3219,6 +3363,7 @@ if test "$wxUSE_SHARED" = "yes"; then
     case "${host}" in
       *-*-linux* | *-*-gnu* )
         SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
+        WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
        ;;
 
       *-*-solaris2* )
@@ -3237,23 +3382,25 @@ if test "$wxUSE_SHARED" = "yes"; then
                 [
                     AC_MSG_RESULT([yes])
                     SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
-                ],
-                [
+                    WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
+                ],[
                     AC_MSG_RESULT([no])
                     AC_MSG_CHECKING([if the linker accepts -R])
                     LDFLAGS="$saveLdflags -Wl,-R,/"
                     AC_TRY_LINK(
                         [],[],
                         [
-                             AC_MSG_RESULT([yes])
-                             SAMPLES_RPATH_FLAG="-Wl,-R,\$(top_builddir)lib"],
-                        [
+                            AC_MSG_RESULT([yes])
+                            SAMPLES_RPATH_FLAG="-Wl,-R,\$(top_builddir)lib"
+                            WXCONFIG_RPATH="-Wl,-R,\$libdir"
+                        ],[
                             AC_MSG_RESULT([no])
                         ])                    
                 ])
             LDFLAGS="$saveLdflags"
         else
             SAMPLES_RPATH_FLAG="-R\$(top_builddir)lib"
+            WXCONFIG_RPATH="-R\$libdir"
         fi
       ;;
       
@@ -3276,14 +3423,20 @@ EOF
        ;;
       
     esac
-fi
 
-dnl do not 'else' this, it may be changed in the above conditional.
-if test "$wxUSE_SHARED" = "no"; then
+    if test $wxUSE_RPATH = "no"; then
+        SAMPLES_RPATH_FLAG=''
+        SAMPLES_RPATH_POSTLINK=''
+        WXCONFIG_RPATH=''
+    fi
+
+    SHARED=1
+
+else
+
     config_linkage_component="-static"
     SHARED=0
-else
-    SHARED=1
+
 fi
 
 
@@ -3336,8 +3489,8 @@ WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_u
 if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
     dnl base name of the resource file for wxMac must be the same
     dnl as library installation base name (-install_name)
-    WX_RESOURCES_MACOSX_ASCII="libwx_${TOOLCHAIN_NAME}.${WX_CURRENT}.r"
-    WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${WX_CURRENT}.rsrc"
+    WX_RESOURCES_MACOSX_ASCII="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.r"
+    WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.rsrc"
 
     dnl add the resources target for wxMac
     LIBWXMACRES="\$(top_builddir)lib/${WX_RESOURCES_MACOSX_ASCII}"
@@ -3362,14 +3515,14 @@ if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
     fi
 else
     dnl default value is to (silently) do nothing in the makefile
-    MACSETFILE="@#"
-    MACRESWXCONFIG="#"
+    MACSETFILE="@true"
+    MACRESWXCONFIG="@true"
 
     dnl confusingly, wxOS2 also uses MACRESCOMP in its post-link step
     if test "$wxUSE_PM" = 1; then
         MACRESCOMP="emxbind -ep"
     else
-        MACRESCOMP="@#"
+        MACRESCOMP="@true"
     fi
 fi
 
@@ -3389,6 +3542,9 @@ AC_TYPE_SIZE_T
 dnl   defines uid_t and gid_t if not already defined
 AC_TYPE_UID_T
 
+dnl sets HAVE_SSIZE_T if ssize_t is defined
+AC_CHECK_TYPES(ssize_t)
+
 dnl check what exactly size_t is on this machine - this is necessary to avoid
 dnl ambiguous overloads in several places, notably wx/string.h and wx/array.h
 AC_LANG_SAVE
@@ -3539,7 +3695,27 @@ if test "$ac_cv_func_vsnprintf" = "yes"; then
                     vsnprintf(buf, 10u, "%s", ap);
                 ],
                 wx_cv_func_vsnprintf_decl=yes,
-                wx_cv_func_vsnprintf_decl=no
+                [
+                    dnl Metrowerks does provide a vsnprintf declaration
+                    dnl but in C++ mode it's always in std namespace.
+                    dnl FIXME: Do we have any UNIX C++ compilers that would
+                    dnl fail this test if using namespace std; was
+                    dnl simply always included?
+                    AC_TRY_COMPILE(
+                        [
+                            #include <stdio.h>
+                            #include <stdarg.h>
+                            using namespace std;
+                        ],
+                        [
+                            char *buf;
+                            va_list ap;
+                            vsnprintf(buf, 10u, "%s", ap);
+                        ],
+                        wx_cv_func_vsnprintf_decl=yes,
+                        wx_cv_func_vsnprintf_decl=no
+                    )
+                ]
             )
         ]
     )
@@ -3613,6 +3789,53 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
     fi
 fi
 
+dnl backtrace() and backtrace_symbols() for wxStackWalker
+if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+
+    AC_CACHE_CHECK([for backtrace() in <execinfo.h>], wx_cv_func_backtrace,
+        [
+            AC_TRY_COMPILE([#include <execinfo.h>],
+                [
+                    void *trace[1];
+                    char **messages;
+
+                    backtrace(trace, 1);
+                    messages = backtrace_symbols(trace, 1);
+                ],
+                wx_cv_func_backtrace=yes,
+                wx_cv_func_backtrace=no
+            )
+        ]
+    )
+
+
+    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 <cxxabi.h>], wx_cv_func_cxa_demangle,
+            [
+                AC_TRY_COMPILE([#include <cxxabi.h>],
+                    [
+                        int rc;
+                        __cxxabiv1::__cxa_demangle("foo", 0, 0, &rc);
+                    ],
+                    wx_cv_func_cxa_demangle=yes,
+                    wx_cv_func_cxa_demangle=no
+                )
+            ]
+        )
+
+        if test "$wx_cv_func_cxa_demangle" = "yes"; then
+            AC_DEFINE(HAVE_CXA_DEMANGLE)
+        fi
+    fi
+
+    AC_LANG_RESTORE
+fi
+
 dnl check for the function for temp files creation
 AC_CHECK_FUNCS(mkstemp mktemp, break)
 
@@ -4029,10 +4252,6 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
                 if test "x$GCC" != "xyes"; then
                     dnl see http://docs.hp.com/hpux/onlinedocs/2213/threads.htm
                     flag="$flag -D_RWSTD_MULTI_THREAD"
-
-                    dnl we also need -lcma for user threads (-lpthread is for
-                    dnl kernel threads only) according to Ian Brown
-                    LIBS="$LIBS -lcma"
                 fi
                 ;;
             *solaris* | alpha*-osf*)
@@ -4355,21 +4574,19 @@ dnl the library may be built without GUI classes at all
 dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_GUI" = "yes"; then
-  AC_DEFINE(wxUSE_GUI)
-
-  dnl the things we always pull in the GUI version of the library:
-  dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the
-  dnl    library really can't be built without those)
-  dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in
-  dnl    almost any program and the first 2 are needed to show a message box
-  dnl    which want to be always able to do)
-  dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice
-  dnl    to compile without them (if the app doesn't do any drawing, it doesn't
-  dnl    need the dcs, pens, brushes, ...), this just can't be done now
-  dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
-  dnl 5. misc stuff: timers, settings, message box
-else
-  AC_DEFINE(wxUSE_NOGUI)
+    AC_DEFINE(wxUSE_GUI)
+
+    dnl the things we always pull in the GUI version of the library:
+    dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the
+    dnl    library really can't be built without those)
+    dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in
+    dnl    almost any program and the first 2 are needed to show a message box
+    dnl    which want to be always able to do)
+    dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice
+    dnl    to compile without them (if the app doesn't do any drawing, it doesn't
+    dnl    need the dcs, pens, brushes, ...), this just can't be done now
+    dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
+    dnl 5. misc stuff: timers, settings, message box
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -4521,6 +4738,27 @@ if test "$wxUSE_SOUND" = "yes"; then
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sound"
 fi
 
+if test "$WXGTK20" = 1; then
+    if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
+        if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
+        
+                PKG_CHECK_MODULES(LIBGNOMEPRINTUI, 
+                                  [libgnomeprintui-2.2 >= 2.8],
+                    [
+dnl                     EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS"
+                        CXXFLAGS="$CXXFLAGS $LIBGNOMEPRINTUI_CFLAGS"
+                        AC_DEFINE(wxUSE_LIBGNOMEPRINT)
+                    ],
+                    [
+                        AC_MSG_WARN([libgnomeprintui not found, library will use standard PostScript printing])
+                        wxUSE_LIBGNOMEPRINT="no"
+                    ]
+                )
+        fi
+    fi
+fi
+
+
 if test "$wxUSE_CMDLINE_PARSER" = "yes"; then
   AC_DEFINE(wxUSE_CMDLINE_PARSER)
 fi
@@ -4557,6 +4795,10 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
   AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION)
 fi
 
+if test "$wxUSE_STACKWALKER" = "yes"; then
+    AC_DEFINE(wxUSE_STACKWALKER)
+fi
+
 if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
   AC_DEFINE(wxUSE_SNGLINST_CHECKER)
 fi
@@ -4877,6 +5119,67 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
         else
             AC_DEFINE_UNQUOTED(SOCKLEN_T, $wx_cv_type_getsockname3)
         fi
+        dnl Do this again for getsockopt as it may be different
+        AC_CACHE_CHECK([what is the type of the fifth argument of getsockopt],
+                       wx_cv_type_getsockopt5,
+            [
+                AC_TRY_COMPILE(
+                    [
+                        #include <sys/types.h>
+                        #include <sys/socket.h>
+                    ],
+                    [
+                        socklen_t len;
+                        getsockopt(0, 0, 0, 0, &len);
+                    ],
+                    wx_cv_type_getsockopt5=socklen_t,
+                    [
+                        dnl the compiler will compile the version with size_t
+                        dnl even if the real type of the last parameter is int
+                        dnl but it should give at least a warning about
+                        dnl converting between incompatible pointer types, so
+                        dnl try to use it to get the correct behaviour at
+                        dnl least with gcc (otherwise we'd always use size_t)
+                        CFLAGS_OLD="$CFLAGS"
+                        if test "$GCC" = yes ; then
+                            CFLAGS="$CFLAGS -Werror"
+                        fi
+
+                        AC_TRY_COMPILE(
+                            [
+                                #include <sys/types.h>
+                                #include <sys/socket.h>
+                            ],
+                            [
+                                size_t len;
+                                getsockopt(0, 0, 0, 0, &len);
+                            ],
+                            wx_cv_type_getsockopt5=size_t,
+                            AC_TRY_COMPILE(
+                                [
+                                    #include <sys/types.h>
+                                    #include <sys/socket.h>
+                                ],
+                                [
+                                    int len;
+                                    getsockopt(0, 0, 0, 0, &len);
+                                ],
+                                wx_cv_type_getsockopt5=int,
+                                wx_cv_type_getsockopt5=unknown
+                            )
+                        )
+
+                        CFLAGS="$CFLAGS_OLD"
+                    ]
+                )
+            ])
+
+        if test "$wx_cv_type_getsockopt5" = "unknown"; then
+            wxUSE_SOCKETS=no
+            AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
+        else
+            AC_DEFINE_UNQUOTED(SOCKOPTLEN_T, $wx_cv_type_getsockopt5)
+        fi
         AC_LANG_POP
     fi
 fi
@@ -5232,6 +5535,11 @@ if test "$wxUSE_CHECKLST" = "yes"; then
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
 fi
 
+if test "$wxUSE_DATEPICKCTRL" = "yes"; then
+  AC_DEFINE(wxUSE_DATEPICKCTRL)
+  USES_CONTROLS=1
+fi
+
 if test "$wxUSE_DISPLAY" = "yes"; then
     AC_DEFINE(wxUSE_DISPLAY)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display"
@@ -5346,6 +5654,8 @@ if test "$wxUSE_STATLINE" = "yes"; then
 fi
 
 if test "$wxUSE_STATUSBAR" = "yes"; then
+    dnl this will get undefined in wx/chkconf.h if it's not supported
+    AC_DEFINE(wxUSE_NATIVE_STATUSBAR)
     AC_DEFINE(wxUSE_STATUSBAR)
     USES_CONTROLS=1
 
@@ -5489,7 +5799,7 @@ if test "$wxUSE_HTML" = "yes"; then
     fi
 fi
 if test "$wxUSE_WEBKIT" = "yes"; then
-    if test "$wxUSE_MAC" = 1; then
+    if test "$wxUSE_MAC" = 1 -a "$USE_DARWIN" = 1; then
         old_CPPFLAGS="$CPPFLAGS"
         CPPFLAGS="$CPPFLAGS -x objective-c++"
         AC_CHECK_HEADER([WebKit/HIWebView.h],
@@ -5543,7 +5853,7 @@ fi
 if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
     AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
     if test "$TOOLKIT" = "MSW" -o "$TOOLKIT" = "GTK" -o "$TOOLKIT" = "X11" -o \
-        "$TOOLKIT" = "MOTIF"; then
+        "$TOOLKIT" = "MOTIF" -o "$TOOLKIT" = "COCOA"; then
         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar"
     fi
 fi
@@ -5666,7 +5976,7 @@ if test "$wxUSE_WIZARDDLG" = "yes"; then
 fi
 
 dnl ---------------------------------------------------------------------------
-dnl get the string with OS info - used by wxGetOsDescription()
+dnl get the string with OS info - used by wxGetOsDescription() on MacOS X
 dnl ---------------------------------------------------------------------------
 
 if test "$cross_compiling" = "yes"; then
@@ -5732,16 +6042,21 @@ dnl note that we always link with -lm except for Mac OS X
 dnl extended.c uses floor() and is always linked in
 
 if test "$wxUSE_MAC" = 1 ; then
-    if test "$wxUSE_SOUND" = "yes"; then
-       LDFLAGS="$LDFLAGS -framework QuickTime"
+    if test "$wxUSE_SOUND" = "yes" || test "$wxUSE_MEDIACTRL" = "yes"; then
+        if test "$USE_DARWIN" = 1; then
+            LDFLAGS="$LDFLAGS -framework QuickTime"
+        else
+            LDFLAGS="$LDFLAGS -lQuickTimeLib"
+        fi
     fi
     if test "$USE_DARWIN" = 1; then
-       LDFLAGS="$LDFLAGS -framework IOKit"
+        LDFLAGS="$LDFLAGS -framework IOKit -framework Carbon -framework Cocoa -framework System"
+    else
+        LDFLAGS="$LDFLAGS -lCarbonLib"
     fi
-    LDFLAGS="$LDFLAGS -framework Carbon -framework Cocoa -framework System"
 fi
 if test "$wxUSE_COCOA" = 1 ; then
-    LDFLAGS="$LDFLAGS -framework Cocoa -framework System"
+    LDFLAGS="$LDFLAGS -framework Cocoa"
 fi
 
 dnl FIXME: should this be covered by the conditional above
@@ -5822,7 +6137,8 @@ INCLUDES="-I\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \
 dnl C/C++ compiler options used to compile wxWidgets
 if test "$GXX" = yes ; then
     dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
-    CXXWARNINGS="-Wall"
+    CWARNINGS="-Wall" 
+    CXXWARNINGS="$CWARNINGS -Wno-ctor-dtor-privacy" 
     dnl should enable this one day...
     dnl CXXWARNINGS="-Wall -Werror"
 fi
@@ -5831,9 +6147,24 @@ EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE"
 
 dnl remove the extra white space from the cc/c++/ld options
 CPPFLAGS=`echo $WXDEBUG_DEFINE $INCLUDES $CPPFLAGS`
-CFLAGS=`echo $CODE_GEN_FLAGS $EXTRA_CFLAGS $CFLAGS $CXXWARNINGS`
+CFLAGS=`echo $CODE_GEN_FLAGS $EXTRA_CFLAGS $CFLAGS $CWARNINGS`
 CXXFLAGS=`echo $CODE_GEN_FLAGS $CODE_GEN_FLAGS_CXX $EXTRA_CFLAGS $CXXFLAGS $CXXWARNINGS`
     
+if test "x$MWCC" = "xyes"; then
+    dnl Correct MW 8.3 to be more similar to GCC.  In particular we
+    dnl must use <regex.h> from system not our local copy on OS X,
+    dnl but must use local not system on OS 9.
+    dnl The following should make all -I paths usable for <> includes
+    dnl while first checking in real system paths.  With 8.3 using
+    dnl -gccincludes it will actually check local paths before system
+    dnl even for <> which is totally wrong.
+
+    dnl Note that because this absolutely needs to be before any -I
+    dnl that we have to tack it on to the end of the compiler commandline.
+    CC="$CC -cwd source -I-"
+    CXX="$CXX -cwd source -I-"
+fi
+
 
 LIBS=`echo $LIBS`
 EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS"
@@ -5944,6 +6275,7 @@ AC_SUBST(EXTRALIBS_GUI)
 AC_SUBST(EXTRALIBS_OPENGL)
 AC_SUBST(EXTRALIBS_SDL)
 AC_SUBST(WITH_PLUGIN_SDL)
+AC_SUBST(EXTRALIBS_GNOMEPRINT)
 AC_SUBST(UNICODE)
 AC_SUBST(BUILD)
 AC_SUBST(DEBUG_INFO)
@@ -5983,6 +6315,17 @@ if test "$wxUSE_SHARED" = "yes"; then
     sanitised_bakefile_mess=`echo "$SHARED_LD_CXX" | tr -d '()'`
     EXE_LINKER=`eval echo "$sanitised_bakefile_mess"`
 
+    dnl Need addtional flag on OS/2, so override bakefiles value
+    dnl (there currently is no suitable variable to which the
+    dnl  missing flags could be added, AFAICS. SN, 18.12.2004. )
+    case "${host}" in
+      *-pc-os2_emx | *-pc-os2-emx )
+        SHARED_LD_CC="`pwd`/dllar.sh -name-mangler-script ./dllnames.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
+        SHARED_LD_CXX="`pwd`/dllar.sh -name-mangler-script ./dllnames.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
+       cp -p ${srcdir}/src/os2/dllnames.sh .
+       cp -p ${srcdir}/src/os2/dllar.sh .
+      ;;
+    esac
 else
 
     dnl No bakefile support for static builds, but this should be ok for most.
@@ -5990,10 +6333,14 @@ else
 
 fi
 
+dnl According to Vaclav, if NO_GCC_PRAGMA is used for any reason it needs to
+dnl be in wx-config output.  Not doing so could result in link problems.
 GCC_PRAGMA_FLAGS=""
+PCH_FLAGS=""
 dnl Find out if we have to define NO_GCC_PRAGMA and WX_PRECOMP:
 if test $GCC_PCH = 1 ; then
-    GCC_PRAGMA_FLAGS="-DWX_PRECOMP -DNO_GCC_PRAGMA"
+    GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
+    PCH_FLAGS="-DWX_PRECOMP"
 else
     case "${host}" in
         powerpc-*-darwin* )
@@ -6022,9 +6369,25 @@ else
                               [AC_MSG_RESULT([no])])
             fi
             ;;
+       *-pc-os2_emx | *-pc-os2-emx )
+            dnl GCC versions ported to OS/2 have similar problems with
+            dnl static member of classes in combination with STL and
+            dnl pragma interface/implementation
+            if test "$wxUSE_STL" = "yes"; then
+               AC_MSG_CHECKING([if this gcc version needs -DNO_GCC_PRAGMA])
+               AC_TRY_COMPILE([],
+                              [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
+                               #error "Not GCC 3.2 or greater"
+                               #endif
+                               ],
+                              [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
+                               AC_MSG_RESULT([yes])],
+                              [AC_MSG_RESULT([no])])
+            fi
+            ;;
     esac
 fi
-CPPFLAGS="$GCC_PRAGMA_FLAGS $CPPFLAGS"
+CPPFLAGS="$PCH_FLAGS $GCC_PRAGMA_FLAGS $CPPFLAGS"
 
 
 dnl for convenience, sort the samples in alphabetical order
@@ -6179,10 +6542,14 @@ for subdir in `echo $SUBDIRS`; do
             if test ${subdir} = "samples"; then
                 makefiles="samples/Makefile.in samples/console/Makefile.in"
             elif test ${subdir} = "utils"; then
-                makefiles="utils/HelpGen/Makefile.in \
-                           utils/HelpGen/src/Makefile.in \
-                           utils/tex2rtf/Makefile.in \
-                           utils/tex2rtf/src/Makefile.in"
+                makefiles=""
+                for util in HelpGen tex2rtf ; do
+                    if test -d $srcdir/utils/$util ; then
+                        makefiles="utils/$util/Makefile.in \
+                                   utils/$util/src/Makefile.in \
+                                   $makefiles"
+                    fi
+                done
             else dnl assume that everything compiles for tests
                 makefiles=`(cd $srcdir ; find $subdir -name Makefile.in)`
             fi
@@ -6226,6 +6593,7 @@ echo "                                       odbc               ${wxUSE_ODBC}"
 echo "                                       expat              ${wxUSE_EXPAT}"
 echo "                                       libmspack          ${wxUSE_LIBMSPACK}"
 echo "                                       sdl                ${wxUSE_LIBSDL}"
+echo "                                       gnomeprint         ${wxUSE_LIBGNOMEPRINT-none}"
 
 echo ""