]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
Script tweaks
[wxWidgets.git] / configure.in
index 4d2984ade319f9e128c90698b79277f7ef1c6976..b7ba447ca81eb6dcdf85e639a377b754e0969828 100644 (file)
@@ -1,7 +1,7 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_REVISION($Id$)dnl
 
-AC_PREREQ(2.57)
+AC_PREREQ(2.58)
 
 dnl ---------------------------------------------------------------------------
 dnl
@@ -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])
@@ -30,9 +30,9 @@ AC_CANONICAL_TARGET
 
 dnl When making releases do:
 dnl
-dnl WX_RELEASE_NUMBER += 1
+dnl wx_release_number += 1
 dnl
-dnl ..and update WX_CURRENT, WX_RELEASE and WX_AGE according to the
+dnl ..and update WX_CURRENT, WX_REVISION and WX_AGE according to the
 dnl following rules:
 dnl
 dnl    If any changes have been made to the public interface, that is if any
@@ -53,16 +53,18 @@ dnl
 dnl The resulting library name will be of the form:
 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_major_version_number=2
+wx_minor_version_number=5
+wx_release_number=3
+wx_subrelease_number=0
 
-WX_VERSION=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER.$WX_RELEASE_NUMBER
-WX_RELEASE=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER
+WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
+WX_VERSION=$WX_RELEASE.$wx_release_number
+WX_SUBVERSION=$WX_VERSION.$wx_subrelease_number
 
-WX_MSW_VERSION=$WX_MAJOR_VERSION_NUMBER$WX_MINOR_VERSION_NUMBER$WX_RELEASE_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
 
@@ -476,6 +478,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_MENUS=no
   DEFAULT_wxUSE_MINIFRAME=no
   DEFAULT_wxUSE_HTML=no
+  DEFAULT_wxUSE_XRC=no
   DEFAULT_wxUSE_WEBKIT=no
   DEFAULT_wxUSE_FILESYSTEM=no
   DEFAULT_wxUSE_FS_INET=no
@@ -492,6 +495,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_CHECKBOX=no
   DEFAULT_wxUSE_CHECKLST=no
   DEFAULT_wxUSE_CHOICE=no
+  DEFAULT_wxUSE_CHOICEBOOK=no
   DEFAULT_wxUSE_COMBOBOX=no
   DEFAULT_wxUSE_DISPLAY=no
   DEFAULT_wxUSE_GAUGE=no
@@ -660,6 +664,7 @@ else
   DEFAULT_wxUSE_MENUS=yes
   DEFAULT_wxUSE_MINIFRAME=yes
   DEFAULT_wxUSE_HTML=yes
+  DEFAULT_wxUSE_XRC=yes
   DEFAULT_wxUSE_WEBKIT=yes
   DEFAULT_wxUSE_FILESYSTEM=yes
   DEFAULT_wxUSE_FS_INET=yes
@@ -676,6 +681,7 @@ else
   DEFAULT_wxUSE_CHECKBOX=yes
   DEFAULT_wxUSE_CHECKLST=yes
   DEFAULT_wxUSE_CHOICE=yes
+  DEFAULT_wxUSE_CHOICEBOOK=yes
   DEFAULT_wxUSE_COMBOBOX=yes
   DEFAULT_wxUSE_DISPLAY=yes
   DEFAULT_wxUSE_GAUGE=yes
@@ -725,6 +731,9 @@ else
   DEFAULT_wxUSE_MONOLITHIC=no
   DEFAULT_wxUSE_PLUGINS=no
   DEFAULT_wxUSE_OFFICIAL_BUILD=no
+
+  dnl Appliable only when --with-gtk was used:
+  DEFAULT_wxUSE_GTK2=yes
 fi
 
 dnl WX_ARG_WITH should be used to select whether an external package will be
@@ -763,8 +772,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])
@@ -773,7 +782,7 @@ AC_ARG_WITH(microwin,      [  --with-microwin         use MicroWindows], [wxUSE_
 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)
 
-WX_ARG_ENABLE(gtk2,        [  --enable-gtk2           use GTK+ 2.0 if available], wxUSE_GTK2)
+WX_ARG_ENABLE(gtk2,        [  --disable-gtk2          use GTK+ 1.2 instead of 2.0], wxUSE_GTK2)
 WX_ARG_ENABLE(gpe,         [  --enable-gpe            use GNOME PDA Environment features if possible], wxUSE_GPE)
 
 WX_ARG_SYS_WITH(libpng,    [  --with-libpng           use libpng (PNG image format)], wxUSE_LIBPNG)
@@ -910,6 +919,7 @@ WX_ARG_ENABLE(help,        [  --enable-help           use help subsystem], wxUSE
 WX_ARG_ENABLE(mshtmlhelp,  [  --enable-mshtmlhelp     use MS HTML Help (win32)], wxUSE_MS_HTML_HELP)
 WX_ARG_ENABLE(html,        [  --enable-html           use wxHTML sub-library], wxUSE_HTML)
 WX_ARG_ENABLE(htmlhelp,    [  --enable-htmlhelp       use wxHTML-based help], wxUSE_WXHTML_HELP)
+WX_ARG_ENABLE(xrc,         [  --enable-xrc            use XRC resources sub-library], wxUSE_XRC)
 WX_ARG_ENABLE(constraints, [  --enable-constraints    use layout-constraints system], wxUSE_CONSTRAINTS)
 WX_ARG_ENABLE(printarch,   [  --enable-printarch      use printing architecture], wxUSE_PRINTING_ARCHITECTURE)
 WX_ARG_ENABLE(mdi,         [  --enable-mdi            use multiple document interface architecture], wxUSE_MDI)
@@ -964,6 +974,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_CHECKBOX=yes
   DEFAULT_wxUSE_CHECKLISTBOX=yes
   DEFAULT_wxUSE_CHOICE=yes
+  DEFAULT_wxUSE_CHOICEBOOK=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
   DEFAULT_wxUSE_IMAGLIST=yes
@@ -1002,6 +1013,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_CHECKBOX=no
   DEFAULT_wxUSE_CHECKLISTBOX=no
   DEFAULT_wxUSE_CHOICE=no
+  DEFAULT_wxUSE_CHOICEBOOK=no
   DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_GRID=no
   DEFAULT_wxUSE_IMAGLIST=no
@@ -1032,17 +1044,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
-  # Generic notebook requires tab dialog
-  DEFAULT_wxUSE_TABDIALOG=yes
-  DEFAULT_wxUSE_SCROLLBAR=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)
@@ -1051,6 +1052,7 @@ WX_ARG_ENABLE(caret,       [  --enable-caret          use wxCaret class], wxUSE_
 WX_ARG_ENABLE(checkbox,    [  --enable-checkbox       use wxCheckBox class], wxUSE_CHECKBOX)
 WX_ARG_ENABLE(checklst,    [  --enable-checklst       use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST)
 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(display,     [  --enable-display        use wxDisplay class], wxUSE_DISPLAY)
 WX_ARG_ENABLE(gauge,       [  --enable-gauge          use wxGauge class], wxUSE_GAUGE)
@@ -1132,6 +1134,15 @@ WX_ARG_ENABLE(ico_cur,     [  --enable-icocur         use Windows ICO and CUR fo
 
 fi
 
+dnl ---------------------------------------------------------------------------
+dnl flavour support
+dnl ---------------------------------------------------------------------------
+
+dnl Should this be --enable?  I flip-flopped a couple of times and this seems
+dnl in the spirit if not the letter, we have gtk-prefix and the like in this group.
+dnl It doesn't actually change anything but the output file names.
+AC_ARG_WITH(flavour,       [  --with-flavour=NAME     specify a name to identify this build], [WX_FLAVOUR="$withval"])
+
 dnl ---------------------------------------------------------------------------
 dnl some win32 settings
 dnl ---------------------------------------------------------------------------
@@ -1142,16 +1153,6 @@ if test "x$VENDOR" = "x"; then
     VENDOR="custom"
 fi
 
-dnl General settings (needed for GUI and non-GUI compilations alike).
-dnl Path separator; ':' for unix, ';' for OS/2
-case "${host}" in
-  *-pc-os2_emx | *-pc-os2-emx )
-    PATH_IFS=';'
-  ;;
-  *)
-    PATH_IFS=':'
-  ;;
-esac
 
 dnl for GUI only
 
@@ -1314,8 +1315,6 @@ if test "$build" != "$host" ; then
         RANLIB=$host_alias-ranlib
         DLLTOOL=$host_alias-dlltool
         RESCOMP=$host_alias-windres
-        LD=$host_alias-ld
-        NM=$host_alias-nm
         STRIP=$host_alias-strip
     else
         AC_MSG_ERROR($build_alias -> $host_alias cross compilation not supported yet.)
@@ -1353,18 +1352,6 @@ AC_PROG_CXX
 
 AC_LANG_RESTORE
 
-dnl check if compiler includes /usr/local/include in
-dnl default include files search path.
-AC_MSG_CHECKING([for /usr/local/include in default include path])
-GCC_SEARCHES_USR_LOCAL_INCLUDE="no"
-if test "$GCC" = "yes" ; then
-  echo | gcc -v -x c++ -E - 2>&1 | sed -n '/^#include </,$p' | \
-       sed -n '1,/End of search list\./p' | \
-        grep '^ */usr/local/include$' 2>&1 /dev/null \
-  && GCC_SEARCHES_USR_LOCAL_INCLUDE="yes"
-fi
-AC_MSG_RESULT([$GCC_SEARCHES_USR_LOCAL_INCLUDE])
-
 dnl ranlib command
 dnl   defines RANLIB with the appropriate command
 AC_PROG_RANLIB
@@ -1391,16 +1378,6 @@ case ${INSTALL} in
      INSTALL=`pwd`/${INSTALL} ;;
 esac
 
-dnl HP-UX install doesn't handle the "-d" switch so don't use it there
-case ${host} in
-    *-hp-hpux* )
-        INSTALL_DIR="mkdir"
-        ;;
-
-    *)  INSTALL_DIR="$INSTALL -d"
-        ;;
-esac
-
 
 case "${host}" in
 
@@ -1585,7 +1562,7 @@ case "${host}" in
               )
           ])
 
-          if test x"$ac_cv_string_strcasecmp" = "xyes"; then
+          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.])
@@ -1728,6 +1705,65 @@ 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);
+            }],
+            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
 
@@ -1759,6 +1795,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
@@ -2385,13 +2422,26 @@ 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
 
         dnl -mwindows causes a heap of other default gui libs to be linked in.
-        dnl FIXME: If cygwin needs this, please push it above, if not, please
-        dnl        remove this comment :-)
         case "${host}" in
             *-*-mingw32* )
                 WXCONFIG_LDFLAGS_GUI="$LDFLAGS -Wl,--subsystem,windows -mwindows"
@@ -2470,6 +2520,11 @@ equivalent variable and GTK+ is version 1.2.3 or above.
                 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"
                     ],
                     [
@@ -2632,20 +2687,28 @@ equivalent variable and GTK+ is version 1.2.3 or above.
         TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXMSW__ -D__WIN95__ -D__WIN32__ -DMWIN -DMICROWIN_NOCONTROLS -DMICROWIN_TODO=1"
     fi
 
-    if test "$wxUSE_X11" = 1; then
-        dnl use standard macros to check for X headers/libs, this brings support
-        dnl for the standard configure options --x-includes and --x-libraries
+    dnl common part of X11 and Motif port checks
+    if test "$wxUSE_X11" = 1 -o "$wxUSE_MOTIF" = 1; then
+        dnl use standard macros to check for X headers/libs, this brings
+        dnl support for the standard configure options --x-includes,
+        dnl --x-libraries and --no-x
         AC_PATH_XTRA
 
         if test "$no_x" = "yes"; then
           AC_MSG_ERROR(X11 not found, please use --x-includes and/or --x-libraries options)
         fi
 
-        GUI_TK_LIBRARY="$X_LIBS"
-        TOOLKIT_INCLUDE="$X_CFLAGS"
+        dnl for some reason AC_PATH_XTRA seems to add -INONE and -LNONE (and
+        dnl also sometimes -RNONE) to X_CFLAGS and X_LIBS respectively, filter
+        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
+
+    if test "$wxUSE_X11" = 1; then
         if test "$wxUSE_NANOX" = "yes"; then
             AC_MSG_CHECKING(for MicroWindows/NanoX distribution)
             if test "x$MICROWIN" = x ; then
@@ -2705,27 +2768,11 @@ equivalent variable and GTK+ is version 1.2.3 or above.
             GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lX11"
         fi
 
-        TOOLKIT_VPATH="\${top_srcdir}/src/x11"
         TOOLKIT=X11
         GUIDIST=X11_DIST
     fi
 
     if test "$wxUSE_MOTIF" = 1; then
-        dnl use standard macros to check for X headers/libs, this brings support
-        dnl for the standard configure options --x-includes and --x-libraries
-        AC_PATH_XTRA
-
-        if test "$no_x" = "yes"; then
-          AC_MSG_ERROR(X11 not found, please use --x-includes and/or --x-libraries options)
-        fi
-
-        dnl for some reason AC_PATH_XTRA seems to add -INONE and -LNONE to
-        dnl X_LIBS and X_CFLAGS respectively -- what for??
-        GUI_TK_LIBRARY=`echo $X_LIBS | sed 's/ -LNONE//'`
-        TOOLKIT_INCLUDE=`echo $X_CFLAGS | sed 's/ -INONE//'`
-        AFMINSTALL=afminstall
-        COMPILED_X_PROGRAM=0
-
         AC_MSG_CHECKING(for Motif/Lesstif headers)
         WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
         if test "$ac_find_includes" != "" ; then
@@ -2856,11 +2903,11 @@ equivalent variable and GTK+ is version 1.2.3 or above.
         CFLAGS=$save_CFLAGS
 
         GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXm${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11"
-        TOOLKIT_VPATH="\${top_srcdir}/src/motif${PATH_IFS}\${top_srcdir}/src/motif/xmcombo${PATH_IFS}\${top_srcdir}/src/x11"
         TOOLKIT=MOTIF
         GUIDIST=MOTIF_DIST
     fi
 
+    dnl more tests common to X11 and Motif:
     if test "$wxUSE_X11" = 1 -o "$wxUSE_MOTIF" = 1; then
         dnl test for external libxpm if we're configured to use it
         if test "$wxUSE_LIBXPM" = "sys"; then
@@ -2951,7 +2998,6 @@ equivalent variable and GTK+ is version 1.2.3 or above.
 
         CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon"
 
-        TOOLKIT_VPATH="\${top_srcdir}/src/mac/carbon${PATH_IFS}\${top_srcdir}/src/mac/carbon/morefilex"
         TOOLKIT=MAC
         dnl we can't call this MAC_DIST or autoconf thinks its a macro
         GUIDIST=MACX_DIST
@@ -2961,7 +3007,6 @@ equivalent variable and GTK+ is version 1.2.3 or above.
     fi
 
     if test "$wxUSE_COCOA" = 1; then
-        TOOLKIT_VPATH="\${top_srcdir}/src/cocoa"
         TOOLKIT=COCOA
         GUIDIST=COCOA_DIST
     fi
@@ -2998,50 +3043,9 @@ equivalent variable and GTK+ is version 1.2.3 or above.
         TOOLKIT_DIR=`echo ${TOOLKIT} | tr "[[A-Z]]" "[[a-z]]"`
     fi
 
-    dnl misc other files depending on the port
-    PORT_FILES="\${top_srcdir}/src/\$(TOOLKITDIR)/files.lst"
-
     if test "$wxUSE_UNIVERSAL" = "yes"; then
-        ALL_OBJECTS="\$(GUI_LOWLEVEL_OBJS) \${UNIVOBJS}"
-
-        dnl ALL_SOURCES and ALL_HEADERS shouldn't include really all sources
-        dnl and headers as some/most are not needed for wxUniv but I don't
-        dnl have time to add GUI_LOWLEVEL_SOURCES/HEADERS stuff now (TODO!)
-        ALL_SOURCES="\$(ALL_SOURCES) \${UNIV_SOURCES}"
-        ALL_HEADERS="\$(ALL_HEADERS) \${UNIV_HEADERS}"
-
-        PORT_FILES="${PORT_FILES} \${top_srcdir}/src/univ/files.lst"
-        if test "$wxUSE_X11" = 1; then
-            TOOLKIT_VPATH="\${top_srcdir}/src/${TOOLKIT_DIR}${PATH_IFS}\${top_srcdir}/src/univ${PATH_IFS}\${top_srcdir}/src/univ/themes"
-        else
-            TOOLKIT_VPATH="\${top_srcdir}/src/univ${PATH_IFS}\${top_srcdir}/src/univ/themes${PATH_IFS}\${top_srcdir}/src/${TOOLKIT_DIR}"
-        fi
         TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXUNIVERSAL__"
         WIDGET_SET=univ
-    else
-        ALL_OBJECTS="\$(GUIOBJS)"
-        ALL_SOURCES="\$(ALL_SOURCES)"
-        ALL_HEADERS="\$(ALL_HEADERS)"
-    fi
-
-    ALL_OBJECTS="${ALL_OBJECTS} \$(COMMONOBJS) \$(GENERICOBJS)"
-
-    if test "$TOOLKIT" != "MSW" -a "$USE_DOS" != 1; then
-        ALL_OBJECTS="${ALL_OBJECTS} \$(UNIXOBJS)"
-    fi
-
-    if test "$wxUSE_HTML" = "yes"; then
-        ALL_OBJECTS="${ALL_OBJECTS} \$(HTMLOBJS)"
-    fi
-
-    if test "$wxUSE_LIBJPEG" = "builtin" ; then
-        ALL_OBJECTS="${ALL_OBJECTS} \$(JPEGOBJS)"
-    fi
-    if test "$wxUSE_LIBTIFF" = "builtin" ; then
-        ALL_OBJECTS="${ALL_OBJECTS} \$(TIFFOBJS)"
-    fi
-    if test "$wxUSE_LIBPNG" = "builtin" ; then
-        ALL_OBJECTS="${ALL_OBJECTS} \$(PNGOBJS)"
     fi
 
     dnl distribute samples/demos/utils with GUI versions
@@ -3056,22 +3060,11 @@ else
 
     dnl the sources, their dependenices and the headers
     if test "$USE_WIN32" = 1 ; then
-        ALL_OBJECTS="\${BASE_OBJS} \${BASE_MSW_OBJS}"
-        TOOLKIT_VPATH="\${top_srcdir}/src/msw"
-
         dnl yes, the toolkit for wxBase on win32 is actually MSW
         dnl wxBase on unix does not need a 'TOOLKIT' defined.
         TOOLKIT="MSW"
-    else
-        ALL_OBJECTS="\${BASE_OBJS} \${BASE_UNIX_OBJS}"
-        TOOLKIT_VPATH="\${top_srcdir}/src/unix"
     fi
 
-    ALL_SOURCES="\$(ALL_SOURCES)"
-    ALL_HEADERS="\$(ALL_HEADERS)"
-
-    PORT_FILES="\${top_srcdir}/src/files.lst"
-
     dnl distribute only wxBase sources/headers
     GUIDIST="BASE_DIST"
     DISTDIR="wxBase"
@@ -3130,12 +3123,6 @@ if test "$TOOLKIT" != "MSW" ; then
     fi
 fi
 
-if test "$wxUSE_REGEX" = "builtin" ; then
-    ALL_OBJECTS="${ALL_OBJECTS} \$(REGEXOBJS)"
-fi
-if test "$wxUSE_ZLIB" = "builtin" ; then
-    ALL_OBJECTS="${ALL_OBJECTS} \$(ZLIBOBJS)"
-fi
 
 dnl ---------------------------------------------------------------------------
 dnl wxDisplay Sanity checks
@@ -3272,101 +3259,12 @@ if test "$wxUSE_OPENGL" = "yes"; then
     fi
 fi
 
-if test -z "$TOOLKIT_VPATH" ; then
-    TOOLKIT_VPATH="\${top_srcdir}/src/${TOOLKIT_DIR}"
-fi
 
 dnl the symbol which allows conditional compilation for the given toolkit
 if test -n "$TOOLKIT" ; then
     TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WX${TOOLKIT}__"
 fi
 
-UNICODE=0
-lib_unicode_suffix=
-if test "$wxUSE_UNICODE" = "yes"; then
-    lib_unicode_suffix=u
-    UNICODE=1
-fi
-
-lib_debug_suffix=
-DEBUG_FLAG=0
-if test "$wxUSE_DEBUG_FLAG" = "yes"; then
-    lib_debug_suffix=d
-    DEBUG_FLAG=1
-fi
-
-DEBUG_INFO=0
-if test "$wxUSE_DEBUG_INFO" = "yes"; then
-    DEBUG_INFO=1
-fi
-
-WX_VERSION_TAG=`echo WX${lib_unicode_suffix}${lib_debug_suffix}_${WX_RELEASE} | tr "[[a-z]]" "[[A-Z]]"`
-
-TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}-${WX_RELEASE}"
-TOOLCHAIN_NAME_GL="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}_gl-${WX_RELEASE}"
-
-if test "$cross_compiling" = "yes"; then
-    TOOLCHAIN_NAME="${TOOLCHAIN_NAME}-${host_alias}"
-    TOOLCHAIN_NAME_GL="${TOOLCHAIN_NAME_GL}-${host_alias}"
-    HOST_SUFFIX="-${host_alias}"
-fi
-
-dnl library link name
-WX_LIBRARY="wx_${TOOLCHAIN_NAME}"
-WX_LIBRARY_GL="wx_${TOOLCHAIN_NAME_GL}"
-WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}"
-WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}"
-
-dnl the name of the shared library
-WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${SO_SUFFIX}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
-WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
-
-dnl the name of the links to the shared library
-WX_LIBRARY_LINK1="lib${WX_LIBRARY}.${SO_SUFFIX}.${WX_CURRENT}"
-WX_LIBRARY_LINK2="lib${WX_LIBRARY}.${SO_SUFFIX}"
-WX_LIBRARY_LINK1_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}.${WX_CURRENT}"
-WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
-
-case "${host}" in
-    *-*-cygwin* | *-*-mingw32* )
-        WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${SO_SUFFIX}"
-        WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
-        ;;
-
-    *-*-darwin* )
-        dnl Under Mac OS X, the naming conventions for shared libraries
-        dnl are different: the number precedes the suffix.
-
-        WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}.${SO_SUFFIX}"
-        WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}.${SO_SUFFIX}"
-
-        WX_LIBRARY_LINK1="lib${WX_LIBRARY}.${WX_CURRENT}.${SO_SUFFIX}"
-        WX_LIBRARY_LINK2="lib${WX_LIBRARY}.${SO_SUFFIX}"
-        WX_LIBRARY_LINK1_GL="lib${WX_LIBRARY_GL}.${WX_CURRENT}.${SO_SUFFIX}"
-        WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
-
-        dnl base name of the resource file for wxMac must be the same
-        dnl as library installation base name (-install_name)
-        if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then
-            WX_RESOURCES_MACOSX_ASCII="lib${WX_LIBRARY}.${WX_CURRENT}.r"
-            WX_RESOURCES_MACOSX_DATA="lib${WX_LIBRARY}.${WX_CURRENT}.rsrc"
-        fi
-        ;;
-esac
-
-dnl the name of the static library
-WX_LIBRARY_NAME_STATIC="lib${WX_LIBRARY}.a"
-WX_LIBRARY_NAME_STATIC_GL="lib${WX_LIBRARY_GL}.a"
-
-dnl define which libs wx-config should link.
-WXCONFIG_LIBS="-l${WX_LIBRARY}"
-WXCONFIG_LIBS_STATIC="lib${WX_LIBRARY}.a"
-
-if test "$wxUSE_OPENGL" = "yes"; then
-    WXCONFIG_LIBS_GL="-l${WX_LIBRARY_GL} ${OPENGL_LIBS}"
-    WXCONFIG_LIBS_STATIC_GL="lib${WX_LIBRARY_GL}.a ${OPENGL_LIBS}"
-fi
-
 
 dnl --- the marker for quick search, leave it here: SHARED_LIB_SETUP ---
 
@@ -3380,9 +3278,7 @@ if test "$wxUSE_SHARED" = "yes"; then
     esac
 fi
 
-SHARED=0
 if test "$wxUSE_SHARED" = "yes"; then
-    SHARED=1
 
     dnl use versioned symbols if available on the platform
     WX_VERSIONED_SYMBOLS([\$(top_builddir)version-script])
@@ -3424,8 +3320,6 @@ if test "$wxUSE_SHARED" = "yes"; then
                 ])
             LDFLAGS="$saveLdflags"
         else
-            SHARED_LD="${CXX} -G -o"
-            PIC_FLAG="-KPIC"
             SAMPLES_RPATH_FLAG="-R\$(top_builddir)lib"
         fi
       ;;
@@ -3449,56 +3343,71 @@ EOF
        ;;
       
     esac
-
-    dnl set target to shared if not explicitly chose static before
-    if test "x$WX_TARGET_LIBRARY" = "x"; then
-        WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_SHARED}"
-        WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_SHARED_GL}"
-    fi
-
-    dnl do not alter the LIBRARY_TYPE strings "so" and "a", they are magic
-    WX_TARGET_LIBRARY_TYPE="so"
-    INSTALL_LIBRARY='$(INSTALL_PROGRAM)'
 fi
 
 dnl do not 'else' this, it may be changed in the above conditional.
 if test "$wxUSE_SHARED" = "no"; then
+    config_linkage_component="-static"
+    SHARED=0
+else
+    SHARED=1
+fi
 
-    dnl give static wxBase and wxMSW build a working install target
-    if test "$wxUSE_GUI" = "no" -o "$USE_WIN32" = 1 ; then
-        dnl we're here because WX_ALL_INSTALLED is empty, but play safe anyway
-        WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall"
-    fi
 
-    if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
-        WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall"
-    fi
+UNICODE=0
+lib_unicode_suffix=
+WX_CHARTYPE="ansi"
+if test "$wxUSE_UNICODE" = "yes"; then
+    lib_unicode_suffix=u
+    WX_CHARTYPE="unicode"
+    UNICODE=1
+fi
 
-    if test "$wxUSE_OPENGL" = "yes"; then
-        WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall_gl"
-        WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_STATIC} \$(build_libdir)/${WX_LIBRARY_NAME_STATIC_GL}"
-    else
-        WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_STATIC}"
-    fi
+lib_debug_suffix=
+WX_DEBUGTYPE="release"
+DEBUG_FLAG=0
+if test "$wxUSE_DEBUG_FLAG" = "yes"; then
+    lib_debug_suffix=d
+    WX_DEBUGTYPE="debug"
+    DEBUG_FLAG=1
+fi
 
-    WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
-    WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_STATIC_GL}"
+WX_FLAVOUR=${WX_FLAVOUR:+-$WX_FLAVOUR}
+WX_LIB_FLAVOUR=`echo $WX_FLAVOUR | tr '-' '_'`
 
-    WX_TARGET_LIBRARY_TYPE="a"
-    INSTALL_LIBRARY='$(INSTALL_DATA)'
+DEBUG_INFO=0
+if test "$wxUSE_DEBUG_INFO" = "yes"; then
+    DEBUG_INFO=1
+fi
 
-    dnl wx-config should assume the --static flag by default if we don't have
-    dnl any shared libs anyhow
-    STATIC_FLAG="yes"
-else
-    STATIC_FLAG="no"
+WX_VERSION_TAG=`echo WX${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}_${WX_RELEASE} | tr "[[a-z]]" "[[A-Z]]"`
+
+TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}"
+
+TOOLCHAIN_FULLNAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}-${WX_CHARTYPE}-${WX_DEBUGTYPE}${config_linkage_component}-${WX_RELEASE}${WX_FLAVOUR}"
+
+if test "$cross_compiling" = "yes"; then
+    HOST_SUFFIX="-$host_alias"
+    TOOLCHAIN_NAME="$TOOLCHAIN_NAME$HOST_SUFFIX"
+    TOOLCHAIN_FULLNAME="${host_alias}-$TOOLCHAIN_FULLNAME"
 fi
 
+dnl library link name
+dnl These just save us from exporting lib_{unicode,debug,flavour}_suffix.
+dnl If we ever need to do that, we won't need to keep these.
+WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
+WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
+
+
+
 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"
+
     dnl add the resources target for wxMac
     LIBWXMACRES="\$(top_builddir)lib/${WX_RESOURCES_MACOSX_ASCII}"
-    WX_ALL="${WX_ALL} ${LIBWXMACRES}"
-    WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall_res"
 
     AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez)
     AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
@@ -4971,6 +4880,10 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
     dnl like mingw does..  -- RL
     if test "$TOOLKIT" != "MSW"; then
         dnl determine the type of third argument for getsockname
+        dnl This test needs to be done in C++ mode since gsocket.cpp now
+        dnl is C++ code and pointer cast that are possible even without
+        dnl warning in C still fail in C++.
+        AC_LANG_PUSH(C++)
         AC_CACHE_CHECK([what is the type of the third argument of getsockname],
                        wx_cv_type_getsockname3,
             [
@@ -5031,6 +4944,7 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
         else
             AC_DEFINE_UNQUOTED(SOCKLEN_T, $wx_cv_type_getsockname3)
         fi
+        AC_LANG_POP
     fi
 fi
 
@@ -5237,7 +5151,6 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ"       = "yes" \
                            [AC_MSG_RESULT(yes)
                             CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fvtable-thunks"])
             AC_LANG_RESTORE
-            ALL_OBJECTS="$ALL_OBJECTS \$(OLEOBJS)"
             LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS"
             if test "$wxUSE_OLE" = "yes" ; then
                 AC_DEFINE(wxUSE_OLE)
@@ -5370,6 +5283,11 @@ if test "$wxUSE_CHOICE" = "yes"; then
   USES_CONTROLS=1
 fi
 
+if test "$wxUSE_CHOICEBOOK" = "yes"; then
+    AC_DEFINE(wxUSE_CHOICEBOOK)
+    USES_CONTROLS=1
+fi
+
 if test "$wxUSE_CHECKBOX" = "yes"; then
   AC_DEFINE(wxUSE_CHECKBOX)
   USES_CONTROLS=1
@@ -5620,7 +5538,12 @@ if test "$wxUSE_DRAGIMAGE" = "yes"; then
 fi
 
 if test "$wxUSE_EXCEPTIONS" = "yes"; then
-    AC_DEFINE(wxUSE_EXCEPTIONS)
+    if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
+        AC_MSG_WARN([--enable-exceptions can't be used with --enable-no_exceptions])
+    else
+        AC_DEFINE(wxUSE_EXCEPTIONS)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS except"
+    fi
 fi
 
 USE_HTML=0
@@ -5632,9 +5555,38 @@ if test "$wxUSE_HTML" = "yes"; then
         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html/htmlctrl"
     fi
 fi
-
 if test "$wxUSE_WEBKIT" = "yes"; then
-    AC_DEFINE(wxUSE_WEBKIT)
+    if test "$wxUSE_MAC" = 1; then
+        old_CPPFLAGS="$CPPFLAGS"
+        CPPFLAGS="$CPPFLAGS -x objective-c++"
+        AC_CHECK_HEADER([WebKit/HIWebView.h],
+                        [
+                           AC_DEFINE(wxUSE_WEBKIT)
+                           WEBKIT_LINK="-framework WebKit"
+                        ],
+                        [
+                           AC_MSG_WARN([WebKit headers not found; disabling wxWebKit])
+                           wxUSE_WEBKIT=no
+                        ],
+                        [#include <Carbon/Carbon.h>])
+        CPPFLAGS="$old_CPPFLAGS"
+    elif test "$wxUSE_COCOA" = 1; then
+        AC_DEFINE(wxUSE_WEBKIT)
+    else
+        wxUSE_WEBKIT=no
+    fi
+fi
+
+USE_XRC=0
+if test "$wxUSE_XRC" = "yes"; then
+    if test "$wxUSE_XML" != "yes"; then
+        AC_MSG_WARN([XML library not built, XRC resources disabled])
+        wxUSE_XRC=no
+    else
+        AC_DEFINE(wxUSE_XRC)
+        USE_XRC=1
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS xrc"
+    fi
 fi
 
 if test "$wxUSE_MENUS" = "yes"; then
@@ -5760,6 +5712,7 @@ fi
 
 if test "$wxUSE_SPLASH" = "yes"; then
     AC_DEFINE(wxUSE_SPLASH)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splash"
 fi
 
 if test "$wxUSE_STARTUP_TIPS" = "yes"; then
@@ -5806,9 +5759,6 @@ fi
 
 AC_DEFINE_UNQUOTED(wxINSTALL_PREFIX, "$wxPREFIX")
 
-dnl define the variables used in wx-config
-top_builddir_wxconfig=`pwd`
-
 
 dnl ---------------------------------------------------------------------------
 dnl define variables with all built libraries for wx-config
@@ -5827,6 +5777,9 @@ fi
 if test "$wxUSE_HTML" = "yes" ; then
     CORE_GUI_LIBS="html $CORE_GUI_LIBS"
 fi
+if test "$wxUSE_XRC" = "yes" ; then
+    CORE_GUI_LIBS="xrc $CORE_GUI_LIBS"
+fi
 
 if test "$wxUSE_GUI" != "yes"; then
     CORE_GUI_LIBS=""
@@ -5846,7 +5799,13 @@ 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
-    LDFLAGS="$LDFLAGS -framework Carbon -framework Cocoa -framework WebKit -framework System"
+    if test "$wxUSE_SOUND" = "yes"; then
+       LDFLAGS="$LDFLAGS -framework QuickTime"
+    fi
+    if test "$USE_DARWIN" = 1; then
+       LDFLAGS="$LDFLAGS -framework IOKit"
+    fi
+    LDFLAGS="$LDFLAGS -framework Carbon -framework Cocoa -framework System"
 fi
 if test "$wxUSE_COCOA" = 1 ; then
     LDFLAGS="$LDFLAGS -framework Cocoa -framework System"
@@ -5924,7 +5883,7 @@ 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):
-INCLUDES="-I\${top_builddir}lib/wx/include/${TOOLCHAIN_NAME} \
+INCLUDES="-I\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \
 -I\${top_srcdir}/include $TOOLKIT_INCLUDE"
 
 dnl C/C++ compiler options used to compile wxWidgets
@@ -5938,18 +5897,18 @@ fi
 EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE"
 
 dnl remove the extra white space from the cc/c++/ld options
-CPPFLAGS=`echo $WXDEBUG_DEFINE $INCLUDES $CPPFLAGS | sed 's/ \\+/ /g'`
-CFLAGS=`echo $CODE_GEN_FLAGS $EXTRA_CFLAGS $CFLAGS $CXXWARNINGS | sed 's/ \\+/ /g'`
-CXXFLAGS=`echo $CODE_GEN_FLAGS $CODE_GEN_FLAGS_CXX $EXTRA_CFLAGS $CXXFLAGS $CXXWARNINGS | sed 's/ \+/ /g'`
+CPPFLAGS=`echo $WXDEBUG_DEFINE $INCLUDES $CPPFLAGS`
+CFLAGS=`echo $CODE_GEN_FLAGS $EXTRA_CFLAGS $CFLAGS $CXXWARNINGS`
+CXXFLAGS=`echo $CODE_GEN_FLAGS $CODE_GEN_FLAGS_CXX $EXTRA_CFLAGS $CXXFLAGS $CXXWARNINGS`
     
 
-LIBS=`echo $LIBS | sed 's/ \+/ /g'`
+LIBS=`echo $LIBS`
 EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS"
 EXTRALIBS_XML="$EXPAT_LINK"
 EXTRALIBS_HTML="$MSPACK_LINK"
 EXTRALIBS_ODBC="$ODBC_LINK"
 if test "$wxUSE_GUI" = "yes"; then
-    EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK | sed 's/ \+/ /g'`
+    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"
@@ -5993,7 +5952,7 @@ if test "$wxUSE_ODBC" = "builtin" ; then
 fi
 
 for i in $wxconfig_3rdparty ; do
-    WXCONFIG_EXTRALIBS="$WXCONFIG_EXTRALIBS -lwx${i}${lib_debug_suffix}${HOST_SUFFIX}"
+    WXCONFIG_EXTRALIBS="$WXCONFIG_EXTRALIBS -lwx${i}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX}"
 done
 
 
@@ -6037,6 +5996,8 @@ fi
 
 AC_SUBST(VENDOR)
 AC_SUBST(OFFICIAL_BUILD)
+AC_SUBST(WX_FLAVOUR)
+AC_SUBST(WX_LIB_FLAVOUR)
 
 AC_SUBST(WXUNIV)
 AC_SUBST(MONOLITHIC)
@@ -6054,7 +6015,6 @@ AC_SUBST(UNICODE)
 AC_SUBST(BUILD)
 AC_SUBST(DEBUG_INFO)
 AC_SUBST(DEBUG_FLAG)
-AC_SUBST(SHARED)
 TOOLKIT_LOWERCASE=`echo $TOOLKIT | tr "[[A-Z]]" "[[a-z]]"`
 AC_SUBST(TOOLKIT_LOWERCASE)
 AC_SUBST(TOOLKIT_VERSION)
@@ -6064,20 +6024,49 @@ AC_SUBST(HOST_SUFFIX)
 AC_SUBST(CPPUNIT_CFLAGS)
 AC_SUBST(CPPUNIT_LIBS)
 
+case "$TOOLKIT" in
+    GTK)
+        TOOLKIT_USER="GTK+"
+        if test "$WXGTK20" = 1; then
+            TOOLKIT_USER="$TOOLKIT_USER 2"
+        fi
+        ;;
+
+    *)
+        TOOLKIT_USER=$TOOLKIT_LOWERCASE
+        ;;
+esac
+
 AC_BAKEFILE
 
+if test "$wxUSE_SHARED" = "yes"; then
+
+    dnl We get the shared build linker from bakefile, since it
+    dnl moved all the logic for this out of this file and into
+    dnl its own macro.  But it can't decide on whether to return
+    dnl us $(VAR), ${VAR}, or the present expansion of VAR.
+    dnl So normalise and expand everything here now, because its
+    dnl not going to change inside wx-config anyway.
+    sanitised_bakefile_mess=`echo "$SHARED_LD_CXX" | tr -d '()'`
+    EXE_LINKER=`eval echo "$sanitised_bakefile_mess"`
+
+else
+
+    dnl No bakefile support for static builds, but this should be ok for most.
+    EXE_LINKER="$CXX -o"
+
+fi
 
+GCC_PRAGMA_FLAGS=""
 dnl Find out if we have to define NO_GCC_PRAGMA and WX_PRECOMP:
 if test $GCC_PCH = 1 ; then
-    CODE_GEN_FLAGS="-DWX_PRECOMP -DNO_GCC_PRAGMA $CODE_GEN_FLAGS"
-    CPPFLAGS="-DWX_PRECOMP -DNO_GCC_PRAGMA $CPPFLAGS"
+    GCC_PRAGMA_FLAGS="-DWX_PRECOMP -DNO_GCC_PRAGMA"
 else
     case "${host}" in
         powerpc-*-darwin* )
             dnl Some Apple's GCC version are broken and can't handle the
             dnl pragmas:
-            CODE_GEN_FLAGS="-DNO_GCC_PRAGMA $CODE_GEN_FLAGS"
-            CPPFLAGS="-DNO_GCC_PRAGMA $CPPFLAGS"
+            GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
             ;;
         *-*-mingw32* )
             dnl MinGW GCC versions >= 3.2 have problems with
@@ -6095,14 +6084,14 @@ else
                                #error "Not GCC 3.2 or greater"
                                #endif
                                ],
-                              [CODE_GEN_FLAGS="-DNO_GCC_PRAGMA $CODE_GEN_FLAGS"
-                               CPPFLAGS="-DNO_GCC_PRAGMA $CPPFLAGS"
+                              [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
                                AC_MSG_RESULT([yes])],
                               [AC_MSG_RESULT([no])])
             fi
             ;;
     esac
 fi
+CPPFLAGS="$GCC_PRAGMA_FLAGS $CPPFLAGS"
 
 
 dnl for convenience, sort the samples in alphabetical order
@@ -6115,40 +6104,15 @@ dnl       tr ' ' '\n' introduces DOS-like line breaks, whereas tr '\n' ' '
 dnl       only removes the Unix-like part of the introduced line break.
 SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '| tr -d '\r'`"
 
-dnl makefile variables
-AC_SUBST(PATH_IFS)
+dnl subtle bakefile goop.
+dnl Used in wx-config now too, as its STATIC_FLAG with different makeup.
+dnl I wish we would have called it something less likely to clash with
+dnl things though.
+AC_SUBST(SHARED)
 
 dnl global options
-AC_SUBST(WX_MAJOR_VERSION_NUMBER)
-AC_SUBST(WX_MINOR_VERSION_NUMBER)
-AC_SUBST(WX_RELEASE_NUMBER)
-AC_SUBST(WX_LIBRARY_NAME_STATIC)
-AC_SUBST(WX_LIBRARY_NAME_SHARED)
 AC_SUBST(WX_LIBRARY_BASENAME_NOGUI)
 AC_SUBST(WX_LIBRARY_BASENAME_GUI)
-AC_SUBST(WX_LIBRARY_IMPORTLIB)
-AC_SUBST(WX_TARGET_LIBRARY)
-AC_SUBST(WX_LIBRARY_LINK1)
-AC_SUBST(WX_LIBRARY_LINK2)
-AC_SUBST(PROGRAM_EXT)
-
-dnl global gl options
-AC_SUBST(WX_LIBRARY_NAME_STATIC_GL)
-AC_SUBST(WX_LIBRARY_NAME_SHARED_GL)
-AC_SUBST(WX_TARGET_LIBRARY_GL)
-AC_SUBST(WX_LIBRARY_LINK1_GL)
-AC_SUBST(WX_LIBRARY_LINK2_GL)
-
-dnl are we supposed to create the links?
-AC_SUBST(WX_ALL)
-AC_SUBST(WX_ALL_INSTALLED)
-
-AC_SUBST(SHARED_LD)
-AC_SUBST(PIC_FLAG)
-
-AC_SUBST(WX_TARGET_LIBRARY_TYPE)
-
-AC_SUBST(STATIC_FLAG)
 
 dnl debugging options
 AC_SUBST(WXDEBUG_DEFINE)
@@ -6159,35 +6123,32 @@ AC_SUBST(AFMINSTALL)
 AC_SUBST(WIN32INSTALL)
 AC_SUBST(TOOLKIT)
 AC_SUBST(TOOLKIT_DIR)
-AC_SUBST(TOOLKIT_VPATH)
 AC_SUBST(TOOLCHAIN_NAME)
+AC_SUBST(TOOLCHAIN_FULLNAME)
 AC_SUBST(TOOLCHAIN_DEFS)
 AC_SUBST(TOOLCHAIN_DLL_DEFS)
 
 dnl wx-config options
-AC_SUBST(top_builddir_wxconfig)
 AC_SUBST(host_alias)
 AC_SUBST(cross_compiling)
+AC_SUBST(WIDGET_SET)
+AC_SUBST(WX_RELEASE)
+AC_SUBST(WX_VERSION)
+AC_SUBST(WX_SUBVERSION)
+AC_SUBST(WX_CHARTYPE)
+AC_SUBST(WX_DEBUGTYPE)
 AC_SUBST(WXCONFIG_EXTRALIBS)
-AC_SUBST(WXCONFIG_LIBS)
-AC_SUBST(WXCONFIG_LIBS_GL)
-AC_SUBST(WXCONFIG_LIBS_STATIC)
-AC_SUBST(WXCONFIG_LIBS_STATIC_GL)
 AC_SUBST(WXCONFIG_INCLUDE)
 AC_SUBST(WXCONFIG_RPATH)
 AC_SUBST(WXCONFIG_LDFLAGS_GUI)
 AC_SUBST(WX_LARGEFILE_FLAGS)
+AC_SUBST(GCC_PRAGMA_FLAGS)
 AC_SUBST(CODE_GEN_FLAGS)
 AC_SUBST(CODE_GEN_FLAGS_CXX)
-
-dnl the list of files to compile/install
-AC_SUBST(ALL_OBJECTS)
-AC_SUBST(ALL_HEADERS)
-AC_SUBST(ALL_SOURCES)
+AC_SUBST(EXE_LINKER)
 
 dnl distribution vars
 AC_SUBST(GUIDIST)
-AC_SUBST(PORT_FILES)
 AC_SUBST(DISTDIR)
 
 dnl additional subdirectories where we will build
@@ -6196,8 +6157,6 @@ AC_SUBST(SAMPLES_SUBDIRS)
 dnl additional libraries and linker settings
 AC_SUBST(LDFLAGS)
 AC_SUBST(LDFLAGS_GL)
-AC_SUBST(LDFLAGS_VERSIONING)
-AC_SUBST(LDFLAGS_EXE)
 AC_SUBST(OPENGL_LIBS)
 AC_SUBST(DMALLOC_LIBS)
 AC_SUBST(WX_VERSION_TAG)
@@ -6218,14 +6177,7 @@ AC_SUBST(MACRESWXCONFIG)
 
 dnl other tools
 AC_SUBST(GCC)
-AC_SUBST(GCC_SEARCHES_USR_LOCAL_INCLUDE)
 AC_SUBST(DLLTOOL)
-AC_SUBST(AS)
-AC_SUBST(NM)
-AC_SUBST(LD)
-AC_SUBST(MAKEINFO)
-AC_SUBST(INSTALL_LIBRARY)
-AC_SUBST(INSTALL_DIR)
 
 
 dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
@@ -6233,61 +6185,34 @@ dnl itself (this macro is required if SUBDIRS variable is used in Makefile.am
 dnl - and we do use it)
 AC_PROG_MAKE_SET
 
-dnl move setup.h back if available
-if test -f lib/wx/include/${TOOLCHAIN_NAME}/wx/setup.h; then
-    mv -f lib/wx/include/${TOOLCHAIN_NAME}/wx/setup.h setup.h
-fi
 
-AC_CONFIG_HEADERS([setup.h])
+AC_CONFIG_HEADERS([lib/wx/include/${TOOLCHAIN_FULLNAME}/wx/setup.h:setup.h.in])
 
-dnl create each of the files in the space separated list from the file.in
-dnl (the original file name may be overriden by appending another name after a
-dnl colon)
-AC_CONFIG_FILES([
-            wx-config
-            version-script
-            Makefile
-          ])
+AC_CONFIG_FILES([ lib/wx/config/${TOOLCHAIN_FULLNAME}:wx-config.in ],
+                [ chmod +x lib/wx/config/${TOOLCHAIN_FULLNAME} ],
+                [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}" ])
 
-AC_CONFIG_COMMANDS([default],
-          [
-            dnl This test is required to make the following idempotent.
-            dnl Otherwise running config.status or rerunning configure
-            dnl would stomp the wx-config link or try to move it onto
-            dnl itself.
-            dnl Use -h instead of -L to test for link (GD)
-            dnl   -h is documented as obsolete under Mac OS X but works
-            dnl   -L is obsolete under Solaris8
-            if test ! -h wx-config; then
-                chmod +x wx-config
-                mv wx-config wx${TOOLCHAIN_NAME}-config
-                ${LN_S} wx${TOOLCHAIN_NAME}-config wx-config
-            fi
+AC_CONFIG_FILES([ lib/wx/config/inplace-${TOOLCHAIN_FULLNAME}:wx-config-inplace.in ],
+                [ chmod +x lib/wx/config/inplace-${TOOLCHAIN_FULLNAME} ],
+                [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}" ])
 
-            if test ! -d lib; then
-              mkdir lib
-            fi
-            if test ! -d lib/wx; then
-              mkdir lib/wx
-            fi
-            if test ! -d lib/wx/include; then
-              mkdir lib/wx/include
-            fi
-            if test ! -d lib/wx/include/${TOOLCHAIN_NAME}; then
-              mkdir lib/wx/include/${TOOLCHAIN_NAME}
-            fi
-            if test ! -d lib/wx/include/${TOOLCHAIN_NAME}/wx; then
-              mkdir lib/wx/include/${TOOLCHAIN_NAME}/wx
-            fi
-            if test -f setup.h; then
-              mv -f setup.h lib/wx/include/${TOOLCHAIN_NAME}/wx/setup.h
-            fi
-          ],
-          [
-            TOOLCHAIN_NAME="${TOOLCHAIN_NAME}"
-            LN_S="${LN_S}"
-          ]
-         )
+AC_CONFIG_FILES([ version-script Makefile ])
+
+AC_CONFIG_COMMANDS([ wx-config
+                   ],
+                   [ rm -f wx-config
+                     ${LN_S} lib/wx/config/inplace-${TOOLCHAIN_FULLNAME} wx-config
+                   ],
+                   [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}"
+                     LN_S="${LN_S}"
+                   ])
+
+dnl This would give us us build dir that in every significant way
+dnl resembles an installed wx in prefix=$builddir.  It is troublesome
+dnl though in this form because AC_CONFIG_LINKS will fail for directories
+dnl on platforms that do not have symlinks.
+dnl AC_CONFIG_LINKS([ include/wx-$WX_RELEASE$WX_FLAVOUR:include ])
+dnl AC_CONFIG_LINKS([ contrib/include ])
 
 
 dnl Configure samples, contrib etc. directories, but only if they are present:
@@ -6340,11 +6265,11 @@ done
 
 AC_OUTPUT
 
-dnl report on what we decided to do
+dnl report how we have been configured
 echo
 echo "Configured wxWidgets ${WX_VERSION} for \`${host}'"
 echo ""
-echo "  Which GUI toolkit should wxWidgets use?                 ${TOOLKIT_LOWERCASE:-base only}"
+echo "  Which GUI toolkit should wxWidgets use?                 ${TOOLKIT_USER:-base only}"
 echo "  Should wxWidgets be compiled into single library?       ${wxUSE_MONOLITHIC:-yes}"
 
 echo "  Should wxWidgets be compiled in debug mode?             ${wxUSE_DEBUG:-no}"