]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
Added forgotten(?) wxMutexGuiEnter.
[wxWidgets.git] / configure.in
index 9b9378a228034a5677aceb95c4a397dbb0a01e3f..ae9be08ae7b9265d0dbd59dbc262ace75b0d0f5a 100644 (file)
@@ -349,7 +349,6 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_MEM_TRACING=no
   DEFAULT_wxUSE_DEBUG_CONTEXT=no
   DEFAULT_wxUSE_DMALLOC=no
-  DEFAULT_wxUSE_PRECOMP=no
   DEFAULT_wxUSE_APPLE_IEEE=no
 
   DEFAULT_wxUSE_LOG=yes
@@ -361,6 +360,8 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_CONTROLS=no
 
   DEFAULT_wxUSE_REGEX=no
+  DEFAULT_wxUSE_XML=no
+  DEFAULT_wxUSE_EXPAT=no
   DEFAULT_wxUSE_ZLIB=no
   DEFAULT_wxUSE_LIBPNG=no
   DEFAULT_wxUSE_LIBJPEG=no
@@ -502,7 +503,8 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_ICO_CUR=no
   DEFAULT_wxUSE_ACCESSIBILITY=no
   
-  DEFAULT_wxUSE_MONOLITHIC=yes
+  DEFAULT_wxUSE_MONOLITHIC=no
+  DEFAULT_wxUSE_OFFICIAL_BUILD=no
 else
   DEFAULT_wxUSE_UNIVERSAL=no
   DEFAULT_wxUSE_STL=no
@@ -524,7 +526,6 @@ else
   DEFAULT_wxUSE_MEM_TRACING=no
   DEFAULT_wxUSE_DEBUG_CONTEXT=no
   DEFAULT_wxUSE_DMALLOC=no
-  DEFAULT_wxUSE_PRECOMP=no
   DEFAULT_wxUSE_APPLE_IEEE=yes
 
   DEFAULT_wxUSE_LOG=yes
@@ -535,6 +536,8 @@ else
   DEFAULT_wxUSE_GUI=yes
 
   DEFAULT_wxUSE_REGEX=yes
+  DEFAULT_wxUSE_XML=yes
+  DEFAULT_wxUSE_EXPAT=yes
   DEFAULT_wxUSE_ZLIB=yes
   DEFAULT_wxUSE_LIBPNG=yes
   DEFAULT_wxUSE_LIBJPEG=yes
@@ -676,7 +679,8 @@ else
   DEFAULT_wxUSE_ICO_CUR=yes
   DEFAULT_wxUSE_ACCESSIBILITY=no
   
-  DEFAULT_wxUSE_MONOLITHIC=yes
+  DEFAULT_wxUSE_MONOLITHIC=no
+  DEFAULT_wxUSE_OFFICIAL_BUILD=no
 fi
 
 dnl WX_ARG_WITH should be used to select whether an external package will be
@@ -738,6 +742,7 @@ WX_ARG_WITH(dmalloc,       [  --with-dmalloc          use dmalloc library (http:
 WX_ARG_SYS_WITH(regex,     [  --with-regex            enable support for wxRegEx class], wxUSE_REGEX)
 WX_ARG_SYS_WITH(zlib,      [  --with-zlib             use zlib for LZW compression], wxUSE_ZLIB)
 WX_ARG_SYS_WITH(odbc,      [  --with-odbc             use the IODBC and wxODBC classes], wxUSE_ODBC)
+WX_ARG_SYS_WITH(expat,     [  --with-expat            enable XML support using expat parser], wxUSE_EXPAT)
 
 dnl ---------------------------------------------------------------------------
 dnl compile options
@@ -748,15 +753,14 @@ WX_ARG_ENABLE(optimise,    [  --enable-optimise       create optimised code], wx
 WX_ARG_ENABLE(debug,       [  --enable-debug          same as debug_flag and debug_info], wxUSE_DEBUG)
 WX_ARG_ENABLE(stl,         [  --enable-stl            use STL for containers], wxUSE_STL)
 
-dnl allow the precompiled header option to be disabled under Mac OS X/Darwin
-WX_ARG_ENABLE(precomp,     [  --enable-precomp        enable use of precompiled headers (Mac OS X/Darwin)], wxUSE_PRECOMP)
-
 if test "$wxUSE_DEBUG" = "yes"; then
   DEFAULT_wxUSE_DEBUG_FLAG=yes
   DEFAULT_wxUSE_DEBUG_INFO=yes
+  BUILD=debug
 elif test "$wxUSE_DEBUG" = "no"; then
   DEFAULT_wxUSE_DEBUG_FLAG=no
   DEFAULT_wxUSE_DEBUG_INFO=no
+  BUILD=release
 fi
 
 WX_ARG_ENABLE(debug_flag,    [  --enable-debug_flag     set __WXDEBUG__ flag (recommended for developers!)], wxUSE_DEBUG_FLAG)
@@ -977,22 +981,13 @@ fi
 ## FIXME: This is a blatant hack
 if test "x$wxUSE_COCOA" != "x" -a "$wxUSE_COCOA" != "0" ; then
   wxUSE_PRINTING_ARCHITECTURE=no
-  wxUSE_HELP=no
-  wxUSE_CLIPBOARD=no
   wxUSE_DRAG_AND_DROP=no
-  wxUSE_DATAOBJ=no
   # Generic notebook requires tab dialog
   DEFAULT_wxUSE_TABDIALOG=yes
   DEFAULT_wxUSE_TOOLBAR_NATIVE=no
-  DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_SCROLLBAR=no
-  DEFAULT_wxUSE_COMBOBOX=no
-  DEFAULT_wxUSE_CALCTRL=no
-  DEFAULT_wxUSE_SPINBTN=no
-  DEFAULT_wxUSE_SPINCTRL=no
   DEFAULT_wxUSE_TOOLTIPS=no
   DEFAULT_wxUSE_DRAGIMAGE=no
-  DEFAULT_wxUSE_PROGRESSDLG=no
 fi
 
 WX_ARG_ENABLE(accel,       [  --enable-accel          use accelerators], wxUSE_ACCEL)
@@ -1083,6 +1078,16 @@ WX_ARG_ENABLE(ico_cur,     [  --enable-icocur         use Windows ICO and CUR fo
 
 fi
 
+dnl ---------------------------------------------------------------------------
+dnl some win32 settings
+dnl ---------------------------------------------------------------------------
+
+WX_ARG_ENABLE(official_build,  [  --enable-official_build official build of wxWindows (win32 DLL only)], wxUSE_OFFICIAL_BUILD)
+AC_ARG_ENABLE(vendor,  [  --enable-vendor=VENDOR  vendor name (win32 DLL only)], [VENDOR="$enableval"])
+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
 dnl Stem for flex output; lexyy for OS/2, lex.yy otherwise
@@ -1619,6 +1624,51 @@ WX_CPP_EXPLICIT
 dnl check whether C++ compiler supports C++ casts
 AC_CXX_CONST_CAST
 
+dnl check various STL features
+if test "$wxUSE_STL" = "yes"; then
+    AC_LANG_PUSH(C++)
+
+    dnl check for basic STL functionality
+    AC_MSG_CHECKING([for basic STL functionality])
+    AC_TRY_COMPILE([#include <string>
+                    #include <functional>
+                    #include <algorithm>
+                    #include <vector>
+                    #include <list>],
+                    [std::vector<int> moo;
+                     std::list<int> foo;
+                     std::vector<int>::iterator it = 
+                         std::find_if(moo.begin(), moo.end(),
+                                      std::bind2nd(std::less<int>(), 3));],
+                    [AC_MSG_RESULT([yes])],
+                    [AC_MSG_RESULT([no])
+                     AC_MSG_ERROR([Basic STL functionality missing])])
+
+    dnl check if <string> declares std::wstring
+    AC_MSG_CHECKING([for std::wstring in <string>])
+    AC_TRY_COMPILE([#include <string>],
+                   [std::wstring foo;],
+                   [AC_MSG_RESULT(yes)
+                    AC_DEFINE(HAVE_STD_WSTRING)],
+                   [AC_MSG_RESULT(no)])
+
+    dnl check for compliant std::string::compare
+    AC_MSG_CHECKING([for compliant std::string::compare])
+    AC_TRY_COMPILE([#include <string>],
+                   [std::string foo, bar;
+                    foo.compare(bar);
+                    foo.compare(1, 1, bar);
+                    foo.compare(1, 1, bar, 1, 1);
+                    foo.compare("");
+                    foo.compare(1, 1, "");
+                    foo.compare(1, 1, "", 2);],
+                   [AC_MSG_RESULT(yes)
+                    AC_DEFINE(HAVE_STD_STRING_COMPARE)],
+                   [AC_MSG_RESULT(no)])
+
+    AC_LANG_POP
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl Define search path for includes and libraries: all headers and libs will be
 dnl looked for in all directories of this path
@@ -2051,6 +2101,54 @@ if test "$wxUSE_LIBTIFF" != "no" ; then
     fi
 fi
 
+dnl ------------------------------------------------------------------------
+dnl Check for expat libraries
+dnl ------------------------------------------------------------------------
+
+if test "$wxUSE_EXPAT" != "no"; then
+    wxUSE_XML=1
+    AC_DEFINE(wxUSE_EXPAT)
+    AC_DEFINE(wxUSE_XML)
+    
+    if test "$wxUSE_EXPAT" = "sys" -o "$wxUSE_EXPAT" = "yes" ; then           
+        AC_CHECK_HEADER([expat.h], [found_expat_h=1])
+        if test "x$found_expat_h" = "x1"; then
+            dnl Expat 1.95.6 comes with broken expat.h:
+            AC_CACHE_CHECK([if expat.h is valid C++ header],
+                wx_cv_expat_is_not_broken,
+                [
+                AC_LANG_SAVE
+                AC_LANG_CPLUSPLUS
+                AC_TRY_COMPILE([#include <expat.h>],[],
+                    wx_cv_expat_is_not_broken=yes,
+                    wx_cv_expat_is_not_broken=no
+                )
+                AC_LANG_RESTORE
+                ]
+            )
+            if test "$wx_cv_expat_is_not_broken" = "yes" ; then
+                AC_CHECK_LIB(expat, XML_ParserCreate, EXPAT_LINK=" -lexpat")
+            fi
+        fi
+        if test "x$EXPAT_LINK" = "x" ; then
+            if test "$wxUSE_EXPAT" = "sys" ; then
+                AC_MSG_ERROR([system expat library not found! Use --with-expat=builtin to use built-in version])
+            else
+                AC_MSG_WARN([system expat library not found, will use built-in instead])
+                wxUSE_EXPAT=builtin
+            fi
+        else
+            dnl we are using the system library
+            wxUSE_EXPAT=sys
+        fi
+    fi
+    if test "$wxUSE_EXPAT" = "builtin" ; then
+        dnl Expat needs this:
+        AC_CONFIG_SUBDIRS([src/expat])
+    fi
+fi
+
+
 dnl ----------------------------------------------------------------
 dnl search for toolkit (widget sets)
 dnl ----------------------------------------------------------------
@@ -2071,29 +2169,6 @@ if test "$USE_WIN32" = 1 ; then
         AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
     ])
 
-    dnl check if can use _WIN32_IE macro
-    AC_CACHE_CHECK([if w32api has good enough MSIE support], wx_cv_w32api_win32_ie,
-    [
-      AC_TRY_COMPILE([#include <w32api.h>],
-                     [
-                       #define wxCHECK_W32API_VERSION( major, minor ) \
-                       ( defined( __W32API_MAJOR_VERSION ) && defined( __W32API_MINOR_VERSION ) \
-                       && ( ( __W32API_MAJOR_VERSION > (major) ) \
-                       || ( __W32API_MAJOR_VERSION == (major) && __W32API_MINOR_VERSION >= (minor))))
-
-                       #if !wxCHECK_W32API_VERSION(1,1)
-                       #error You need w32api 1.1 or newer
-                       #endif
-                     ], [
-                        wx_cv_w32api_win32_ie=yes
-                     ], [
-                        wx_cv_w32api_win32_ie=no
-                     ])
-    ])
-    if test "$wx_cv_w32api_win32_ie" = "yes" ; then
-        CPPFLAGS="$CPPFLAGS -D_WIN32_IE=0x400"
-    fi
-
     dnl --- FIXME: This is still a somewhat random list of libs,
     dnl ---        some of them should probably be included conditionally.
     LIBS="$LIBS -lwinspool -lwinmm -lshell32 -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32"
@@ -2126,16 +2201,6 @@ if test "$USE_WIN32" = 1 ; then
     WIN32INSTALL=win32install
 fi
 
-if test "$USE_DARWIN" = 1; then
-    dnl Mac OS X/Darwin GCC uses precompiled headers by default
-    dnl this can cause problems both when compiling wxMac and wxBase
-    if test "$wxUSE_PRECOMP" = "yes"; then
-        CPPFLAGS="$CPPFLAGS -cpp-precomp"
-    else
-        CPPFLAGS="$CPPFLAGS -no-cpp-precomp"
-    fi
-fi
-
 if test "$wxUSE_GUI" = "yes"; then
     USE_GUI=1
 
@@ -2676,6 +2741,9 @@ equivalent variable and GTK+ is version 1.2.3 or above.
         TOOLKIT=MAC
         dnl we can't call this MAC_DIST or autoconf thinks its a macro
         GUIDIST=MACX_DIST
+        dnl wxMac version of wxBase and wxCocoa or wxBase-only built on Darwin
+        dnl are different, so they need different names:
+        WXBASEPORT="_carbon"
     fi
 
     if test "$wxUSE_COCOA" = 1; then
@@ -2792,31 +2860,39 @@ IODBC_C_SRC=""
 dnl ODBC is handled seperately for MSW 
 if test "$TOOLKIT" != "MSW" ; then
 
+    if test "$wxUSE_ODBC" = "sys" -o "$wxUSE_ODBC" = "yes" ; then
+        dnl This is not ideal we really ough to use the unixodbc-config
+        dnl  or iodbc-config if they exist.
+
+        AC_CHECK_HEADER([sql.h], [found_sql_h=1])
+        if test "x$found_sql_h" = "x1" ; then
+            AC_CHECK_LIB(SQLAllocEnv, iodbc, ODBC_LINK=" -liodbc",
+            [
+                AC_CHECK_LIB(SQLAllocEnv, unixodbc, ODBC_LINK=" -lunixodbc",
+                [
+                    AC_CHECK_LIB(SQLAllocEnv, odbc, ODBC_LINK=" -lodbc")
+                ])
+            ])
+        fi 
+        if test "x$ODBC_LINK" = "x" ; then
+            if test "$wxUSE_ODBC" = "sys" ; then
+                AC_MSG_ERROR([system ODBC library not found! Use --with-odbc=builtin to use built-in version])
+            else
+                AC_MSG_WARN([system ODBC library not found, will use built-in instead])
+                wxUSE_ODBC=builtin
+            fi
+        else
+            dnl we are using the system library
+            wxUSE_ODBC=sys
+        fi
+    fi
     if test "$wxUSE_ODBC" != "no" ; then
         AC_DEFINE(wxUSE_ODBC)
         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
     
         dnl is this still necessary in 2.5?
         WXODBCFLAG="-D_IODBC_"
-
-
-        if test "$wxUSE_ODBC" = "sys" ; then
-            dnl This is not ideal we really ough to use the unixodbc-config
-            dnl  or iodbc-config if they exist.
-
-            AC_CHECK_HEADER(sql.h)
-            AC_SEARCH_LIBS(SQLAllocEnv,iodbc unixodbc odbc , , [ 
-                wxUSE_ODBC=builtin; 
-                AC_MSG_WARN( [ can't find system Odbc library falling back to builtin ])
-            ] )
-        fi
-        dnl Not "no" either...
-        if test "$wxUSE_ODBC" != "sys" ; then
-            ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)"
-        fi
-
     fi
-    
 fi
 
 if test "$wxUSE_REGEX" = "builtin" ; then
@@ -2830,6 +2906,7 @@ dnl ---------------------------------------------------------------------------
 dnl OpenGL libraries
 dnl ---------------------------------------------------------------------------
 
+USE_OPENGL=0
 if test "$wxUSE_OPENGL" = "yes"; then
     if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then
         OPENGL_LIBS="-framework OpenGL -framework AGL"
@@ -2843,10 +2920,8 @@ if test "$wxUSE_OPENGL" = "yes"; then
         WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, GL/gl.h)
         if test "$ac_find_includes" != "" ; then
             AC_MSG_RESULT(found in $ac_find_includes)
-            set -x
             WX_INCLUDE_PATH_EXIST($ac_find_includes, $CPPFLAGS)
             CPPFLAGS="$CPPFLAGS$ac_path_to_include"
-            set +x
         fi
 
         AC_CHECK_HEADER(GL/gl.h,
@@ -2878,7 +2953,7 @@ if test "$wxUSE_OPENGL" = "yes"; then
                     fi
                 fi
 
-                if "$found_gl" != 1; then
+                if test "$found_gl" != 1; then
                     AC_MSG_RESULT([no])
                     AC_MSG_CHECKING([for -lMesaGL])
                     WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],MesaGL)
@@ -2902,9 +2977,10 @@ if test "$wxUSE_OPENGL" = "yes"; then
     fi
 
     if test "$wxUSE_OPENGL" = "yes"; then
+        USE_OPENGL=1
         AC_DEFINE(wxUSE_OPENGL)
         AC_DEFINE(wxUSE_GLCANVAS)
-        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS opengl"
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS opengl opengl/cube opengl/penguin opengl/isosurf"
     fi
 fi
 
@@ -2925,13 +3001,18 @@ if test "$wxUSE_UNICODE" = "yes"; then
 fi
 
 lib_debug_suffix=
-BUILD=release
+DEBUG_FLAG=0
 if test "$wxUSE_DEBUG_FLAG" = "yes"; then
     lib_debug_suffix=d
-    BUILD=debug
+    DEBUG_FLAG=1
+fi
+
+DEBUG_INFO=0
+if test "$wxUSE_DEBUG_INFO" = "yes"; then
+    DEBUG_INFO=1
 fi
 
-WX_VERSION_TAG=`echo WX${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}_${WX_RELEASE} | tr "[[a-z]]" "[[A-Z]]"`
+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}"
@@ -2939,12 +3020,14 @@ TOOLCHAIN_NAME_GL="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_su
 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="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}"
+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}"
@@ -2958,22 +3041,8 @@ WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
 
 case "${host}" in
     *-*-cygwin* | *-*-mingw32* )
-
-        dnl If we are cross compiling we want to use the 'full' unix type name for the
-        dnl lib, but for a native install use the windows style naming convention.
-        dnl (excepting again that we strip the ELF style version numbers off it).
-
-        dnl FIXME: is this GL stuff actually even used for wxMSW?  should it be??
-
-        if test "$cross_compiling" != "yes" -a "$TOOLKIT_DIR" = "msw"; then
-            WX_LIBRARY="wxmsw${WX_MSW_VERSION}${lib_unicode_suffix}${lib_debug_suffix}"
-            WX_LIBRARY_GL="wxmsw_gl${WX_MSW_VERSION}${lib_unicode_suffix}${lib_debug_suffix}"
-            WX_LIBRARY_NAME_SHARED="${WX_LIBRARY}.${SO_SUFFIX}"
-            WX_LIBRARY_NAME_SHARED_GL="${WX_LIBRARY_GL}.${SO_SUFFIX}"
-        else
-            WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${SO_SUFFIX}"
-            WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
-        fi
+        WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${SO_SUFFIX}"
+        WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
         ;;
 
     *-*-darwin* )
@@ -3075,16 +3144,6 @@ if test "$wxUSE_SHARED" = "yes"; then
             SAMPLES_RPATH_FLAG="-R\$(top_builddir)lib"
         fi
       ;;
-
-      *-*-cygwin* | *-*-mingw32* )
-        dnl Don't build seperate GL library
-        WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED}"
-        WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
-
-        if test "$wxUSE_OPENGL" = "yes"; then
-            LIBS="${LIBS} ${OPENGL_LIBS}"
-        fi
-      ;;
     esac
 
     dnl set target to shared if not explicitly chose static before
@@ -3613,12 +3672,13 @@ dnl Checks specific to contrib libs (MMedia)
 dnl ------------------------------------------
 
 dnl Check for ESD:
-ESD_LINK=
-AC_CHECK_HEADER([esd.h], [
-  AC_CHECK_LIB(esd, esd_close, [
-    ESD_LINK="-lesd"
+EXTRALIBS_ESD=
+AC_CHECK_LIB(esd, esd_close, [
+    AC_CHECK_HEADERS([esd.h], [
+    EXTRALIBS_ESD="-lesd"
   ])
 ])
+AC_SUBST(EXTRALIBS_ESD)
 
 
 dnl ===========================================================================
@@ -4039,12 +4099,6 @@ if test "$GCC" = "yes" ; then
     if test "$wxUSE_PERMISSIVE" = "yes" ; then
         CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fpermissive"
     fi
-    if test "$USE_WIN32" = 1 ; then
-        # I'm not even really sure what this was ever added to solve,
-        # but someone added it for mingw native builds, so I guess
-        # they had a reason, right??
-        CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fno-pcc-struct-return"
-    fi
 
     dnl Ian Brown <ian.brown@printsoft.de> reports that versions of gcc before
     dnl 3.0 overflow the table of contents on rs6000 as they create an entry
@@ -4183,10 +4237,6 @@ if test "$wxUSE_FILESYSTEM" = "yes"; then
   AC_DEFINE(wxUSE_FILESYSTEM)
 fi
 
-if test "$wxUSE_FS_INET" = "yes"; then
-  AC_DEFINE(wxUSE_FS_INET)
-fi
-
 if test "$wxUSE_FS_ZIP" = "yes"; then
   AC_DEFINE(wxUSE_FS_ZIP)
 fi
@@ -4421,12 +4471,16 @@ dnl ------------------------------------------------------------------------
 dnl wxSocket
 dnl ------------------------------------------------------------------------
 
-dnl VZ: the GUI hooks wxSocket needs are not implemented yet in wxMGL
+dnl VZ: the GUI hooks wxSocket needs are not implemented yet in some toolkits
 if test "$wxUSE_SOCKETS" = "yes"; then
     if test "$wxUSE_MGL" = "1"; then
         AC_MSG_WARN([wxSocket not yet supported under MGL... disabled])
         wxUSE_SOCKETS="no"
     fi
+    if test "$wxUSE_COCOA" = "1"; then
+        AC_MSG_WARN([wxSocket not yet supported under Cocoa... disabled])
+        wxUSE_SOCKETS="no"
+    fi
 fi
 
 if test "$wxUSE_SOCKETS" = "yes"; then
@@ -4521,6 +4575,46 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sockets"
 fi
 
+if test "$wxUSE_PROTOCOL" = "yes"; then
+    if test "$wxUSE_SOCKETS" != "yes"; then
+        AC_MSG_WARN(Protocol classes require sockets... disabled)
+        wxUSE_PROTOCOL=no
+    fi
+fi
+
+if test "$wxUSE_PROTOCOL" = "yes"; then
+    AC_DEFINE(wxUSE_PROTOCOL)
+
+    if test "$wxUSE_PROTOCOL_HTTP" = "yes"; then
+        AC_DEFINE(wxUSE_PROTOCOL_HTTP)
+    fi
+    if test "$wxUSE_PROTOCOL_FTP" = "yes"; then
+        AC_DEFINE(wxUSE_PROTOCOL_FTP)
+    fi
+    if test "$wxUSE_PROTOCOL_FILE" = "yes"; then
+        AC_DEFINE(wxUSE_PROTOCOL_FILE)
+    fi
+else
+    if test "$wxUSE_FS_INET" = "yes"; then
+        AC_MSG_WARN([HTTP filesystem require protocol classes... disabled])   
+        wxUSE_FS_INET="no"
+    fi
+fi
+
+if test "$wxUSE_URL" = "yes"; then
+    if test "$wxUSE_PROTOCOL" != "yes"; then
+        AC_MSG_WARN(wxURL class requires wxProtocol... disabled)
+        wxUSE_URL=no
+    fi
+    if test "$wxUSE_URL" = "yes"; then
+        AC_DEFINE(wxUSE_URL)
+    fi
+fi
+
+if test "$wxUSE_FS_INET" = "yes"; then
+  AC_DEFINE(wxUSE_FS_INET)
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl Joystick support
 dnl ---------------------------------------------------------------------------
@@ -4531,16 +4625,8 @@ if test "$wxUSE_GUI" = "yes"; then
         AC_MSG_WARN([Joystick not yet supported under Mac OS X... disabled])
         wxUSE_JOYSTICK=no
      fi
-    if test "$TOOLKIT" = "MOTIF"; then
-        AC_MSG_WARN([Joystick not yet supported under Motif... disabled])
-        wxUSE_JOYSTICK=no
-     fi
-    if test "$TOOLKIT" = "X11"; then
-        AC_MSG_WARN([Joystick not yet supported under X11... disabled])
-        wxUSE_JOYSTICK=no
-     fi
-
-    dnl under MSW we always have joystick support
+    
+     dnl under MSW we always have joystick support
     if test "$TOOLKIT" != "MSW"; then
         if test "$wxUSE_JOYSTICK" = "yes"; then
             dnl joystick support is only for Linux 2.1.x or greater
@@ -4627,7 +4713,8 @@ fi
 
 if test "$wxUSE_DYNAMIC_LOADER" = "yes" ; then
     AC_DEFINE(wxUSE_DYNAMIC_LOADER)
-elif test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
+fi
+if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
     AC_DEFINE(wxUSE_DYNLIB_CLASS)
 fi
 
@@ -4642,11 +4729,11 @@ fi
 if test "$wxUSE_UNICODE" = "yes" ; then
   AC_DEFINE(wxUSE_UNICODE)
 
-  if test "$wxUSE_MSW" != 1; then
+  if test "$USE_WIN32" != 1; then
       wxUSE_UNICODE_MSLU=no
   fi
 
-  if test "$wxUSE_MSW" = 1 -a "$wxUSE_UNICODE_MSLU" = "yes"; then
+  if test "$USE_WIN32" = 1 -a "$wxUSE_UNICODE_MSLU" = "yes"; then
         AC_CHECK_LIB(unicows,main,
             [
                 AC_DEFINE(wxUSE_UNICODE_MSLU)
@@ -4685,17 +4772,8 @@ if test "$wxUSE_CONSTRAINTS" = "yes"; then
 fi
 
 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
-
-dnl     There is now experimental generic MDI support
-dnl     if test "$wxUSE_UNIVERSAL" = "yes"; then
-dnl         AC_MSG_WARN(MDI not yet supported for wxUniversal... disabled)
-dnl         wxUSE_MDI_ARCHITECTURE=no
-dnl     fi
-
-   if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
-       AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
-       SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
-   fi
+   AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
+   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
 fi
 
 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
@@ -5153,50 +5231,22 @@ fi
 
 if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
     AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
-if test "$TOOLKIT" = "MSW"; then
+if test "$TOOLKIT" = "MSW" -o "$TOOLKIT" = "GTK" -o "$TOOLKIT" = "X11" -o \
+        "$TOOLKIT" = "MOTIF"; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar"
 fi
 
 fi
 
-if test "$wxUSE_PROTOCOL" = "yes"; then
-    if test "$wxUSE_SOCKETS" != "yes"; then
-        AC_MSG_WARN(Protocol classes require sockets... disabled)
-        wxUSE_PROTOCOL=no
-    fi
-
-    if test "$wxUSE_PROTOCOL" = "yes"; then
-        AC_DEFINE(wxUSE_PROTOCOL)
-
-        if test "$wxUSE_PROTOCOL_HTTP" = "yes"; then
-            AC_DEFINE(wxUSE_PROTOCOL_HTTP)
-        fi
-        if test "$wxUSE_PROTOCOL_FTP" = "yes"; then
-            AC_DEFINE(wxUSE_PROTOCOL_FTP)
-        fi
-        if test "$wxUSE_PROTOCOL_FILE" = "yes"; then
-            AC_DEFINE(wxUSE_PROTOCOL_FILE)
-        fi
-    fi
-fi
-
-if test "$wxUSE_URL" = "yes"; then
-    if test "$wxUSE_PROTOCOL" != "yes"; then
-        AC_MSG_WARN(wxURL class requires wxProtocol... disabled)
-        wxUSE_URL=no
-    fi
-    if test "$wxUSE_URL" = "yes"; then
-        AC_DEFINE(wxUSE_URL)
-    fi
-fi
-
 if test "$wxUSE_MINIFRAME" = "yes"; then
     AC_DEFINE(wxUSE_MINIFRAME)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
 fi
 
+USE_HTML=0
 if test "$wxUSE_HTML" = "yes"; then
     AC_DEFINE(wxUSE_HTML)
+    USE_HTML=1
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html html/about html/help html/helpview html/printing html/test html/virtual html/widget html/zip htlbox"
 fi
 
@@ -5341,6 +5391,29 @@ 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
+dnl ---------------------------------------------------------------------------
+
+CORE_BASE_LIBS="net base"
+CORE_GUI_LIBS="adv core"
+
+if test "$wxUSE_XML" = "yes" ; then
+    CORE_BASE_LIBS="xml $CORE_BASE_LIBS"
+fi
+if test "$wxUSE_ODBC" != "no" ; then
+    CORE_BASE_LIBS="odbc $CORE_BASE_LIBS"
+    CORE_GUI_LIBS="dbgrid $CORE_GUI_LIBS"
+fi
+if test "$wxUSE_HTML" = "yes" ; then
+    CORE_GUI_LIBS="html $CORE_GUI_LIBS"
+fi
+
+AC_SUBST(CORE_BASE_LIBS)
+AC_SUBST(CORE_GUI_LIBS)
+
+
 dnl ---------------------------------------------------------------------------
 dnl Output the makefiles and such from the results found above
 dnl ---------------------------------------------------------------------------
@@ -5413,7 +5486,7 @@ if test "$wxUSE_GUI" = "yes"; then
     dnl      ipc, mfc, nativdlg, oleauto, ownerdrw
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs \
                      drawing dynamic erase event exec font image \
-                     minimal propsize rotate shaped widgets"
+                     minimal propsize rotate shaped widgets render"
 
     if test "$wxUSE_MONOLITHIC" != "yes"; then
         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS console"
@@ -5453,9 +5526,14 @@ CXXFLAGS=`echo $CODE_GEN_FLAGS $CODE_GEN_FLAGS_CXX $EXTRA_CFLAGS $CXXFLAGS $CXXW
 
 LIBS=`echo $LIBS | sed 's/ \+/ /g'`
 EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS"
+EXTRALIBS_XML="$EXPAT_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'`
 fi
+if test "$wxUSE_OPENGL" = "yes"; then
+    EXTRALIBS_OPENGL="$LDFLAGS_GL $OPENGL_LIBS"
+fi
     
 LDFLAGS="$LDFLAGS $PROFILE"
 
@@ -5466,6 +5544,39 @@ else
     WXCONFIG_INCLUDE="$TOOLKIT_INCLUDE"
 fi
 
+WXCONFIG_EXTRALIBS="$LIBS"
+
+dnl wx-config must output builtin 3rd party libs in --libs in static build:
+if test "$wxUSE_REGEX" = "builtin" ; then
+    wxconfig_3rdparty="$wxconfig_3rdparty regex"
+fi
+if test "$wxUSE_EXPAT" = "builtin" ; then
+    wxconfig_3rdparty="$wxconfig_3rdparty expat"
+fi
+if test "$wxUSE_ODBC" = "builtin" ; then
+    wxconfig_3rdparty="$wxconfig_3rdparty odbc"
+fi
+if test "$wxUSE_LIBTIFF" = "builtin" ; then
+    wxconfig_3rdparty="$wxconfig_3rdparty tiff"
+fi
+if test "$wxUSE_LIBJPEG" = "builtin" ; then
+    wxconfig_3rdparty="$wxconfig_3rdparty jpeg"
+fi
+if test "$wxUSE_LIBPNG" = "builtin" ; then
+    wxconfig_3rdparty="$wxconfig_3rdparty png"
+fi
+if test "$wxUSE_ZLIB" = "builtin" ; then
+    wxconfig_3rdparty="$wxconfig_3rdparty zlib"
+fi
+if test "$wxUSE_ODBC" = "builtin" ; then
+    wxconfig_3rdparty="$wxconfig_3rdparty odbc"
+fi
+
+for i in $wxconfig_3rdparty ; do
+    WXCONFIG_EXTRALIBS="$WXCONFIG_EXTRALIBS -lwx${i}${lib_debug_suffix}${HOST_SUFFIX}"
+done
+
+
 if test "x$wxUSE_UNIVERSAL" = "xyes" ; then
     WXUNIV=1
 else
@@ -5474,6 +5585,7 @@ fi
 
 AC_SUBST(wxUSE_ZLIB)
 AC_SUBST(wxUSE_REGEX)
+AC_SUBST(wxUSE_EXPAT)
 AC_SUBST(wxUSE_ODBC)
 AC_SUBST(wxUSE_LIBJPEG)
 AC_SUBST(wxUSE_LIBPNG)
@@ -5485,27 +5597,58 @@ else
     MONOLITHIC=0
 fi
 
-dnl FIXME -- make configurable!
-VENDOR="custom"
-OFFICIAL_BUILD=0
+if test $wxUSE_ODBC != "no" ; then
+    USE_ODBC=1
+else
+    USE_ODBC=0
+fi
+
+if test $wxUSE_OFFICIAL_BUILD = "yes" ; then
+    OFFICIAL_BUILD=1
+else
+    OFFICIAL_BUILD=0
+fi
+
 AC_SUBST(VENDOR)
 AC_SUBST(OFFICIAL_BUILD)
 
 AC_SUBST(WXUNIV)
 AC_SUBST(MONOLITHIC)
+AC_SUBST(LIBS)
 AC_SUBST(EXTRALIBS)
+AC_SUBST(EXTRALIBS_XML)
+AC_SUBST(EXTRALIBS_ODBC)
 AC_SUBST(EXTRALIBS_GUI)
+AC_SUBST(EXTRALIBS_OPENGL)
 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)
 AC_SUBST(SAMPLES_RPATH_FLAG)
+AC_SUBST(HOST_SUFFIX)
 
 AC_BAKEFILE
 
 
+dnl Find out if we have to define NO_GCC_PRAGMA and WX_PRECOMP:
+if test $GCC_PCH = 1 ; then
+    CPPFLAGS="-DWX_PRECOMP -DNO_GCC_PRAGMA $CPPFLAGS"
+else
+    case "${host}" in
+        powerpc-*-darwin* )
+            dnl Some Apple's GCC version are broken and can't handle the
+            dnl pragmas:
+            CPPFLAGS="-DNO_GCC_PRAGMA $CPPFLAGS"
+            ;;
+        *)
+            ;;
+    esac
+fi
+
 
 dnl for convenience, sort the samples in alphabetical order
 dnl
@@ -5527,7 +5670,8 @@ 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)
+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)
@@ -5570,6 +5714,7 @@ dnl wx-config options
 AC_SUBST(top_builddir_wxconfig)
 AC_SUBST(host_alias)
 AC_SUBST(cross_compiling)
+AC_SUBST(WXCONFIG_EXTRALIBS)
 AC_SUBST(WXCONFIG_LIBS)
 AC_SUBST(WXCONFIG_LIBS_GL)
 AC_SUBST(WXCONFIG_LIBS_STATIC)
@@ -5627,9 +5772,6 @@ AC_SUBST(MAKEINFO)
 AC_SUBST(INSTALL_LIBRARY)
 AC_SUBST(INSTALL_DIR)
 
-dnl contrib tests results:
-AC_SUBST(ESD_LINK)
-
 
 dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
 dnl itself (this macro is required if SUBDIRS variable is used in Makefile.am
@@ -5707,6 +5849,7 @@ for subdir in `echo $SUBDIRS`; do
             if test ${subdir} = "samples"; then
                 dnl only take those samples which compile in the current
                 dnl configuration and which exist
+                makefiles="samples/Makefile.in $makefiles"
                 for sample in `echo $SAMPLES_SUBDIRS`; do
                     if test -d $srcdir/samples/$sample; then
                         makefiles="samples/$sample/Makefile.in $makefiles"
@@ -5719,7 +5862,7 @@ for subdir in `echo $SUBDIRS`; do
             dnl don't take all samples/utils, just those which build with
             dnl wxBase
             if test ${subdir} = "samples"; then
-                makefiles="samples/console/Makefile.in"
+                makefiles="samples/Makefile.in samples/console/Makefile.in"
             else dnl utils
                 makefiles="utils/HelpGen/Makefile.in \
                            utils/HelpGen/src/Makefile.in \
@@ -5760,6 +5903,7 @@ echo "                                       regex              ${wxUSE_REGEX}"
 echo "                                       tiff               ${wxUSE_LIBTIFF-none}"
 echo "                                       zlib               ${wxUSE_ZLIB}"
 echo "                                       odbc               ${wxUSE_ODBC}"
+echo "                                       expat              ${wxUSE_EXPAT}"
 
 echo ""