]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
Patch 950002 after agreement from Markus Sinner
[wxWidgets.git] / configure.in
index b602ea4417c2cd3de1de38b6439e01ce38ef9353..097230bc13df452a4419951d25e2dd13e45e0b80 100644 (file)
@@ -165,9 +165,8 @@ case "${host}" in
     fi
     DEFAULT_DEFAULT_wxUSE_GTK=1
   ;;
-  *-*-gnu* )
+  *-*-gnu* | *-*-k*bsd*-gnu )
     USE_GNU=1
-    AC_DEFINE(__GNU__)
     TMP=`uname -m`
     if test "x$TMP" = "xalpha"; then
       USE_ALPHA=1
@@ -295,7 +294,7 @@ case "${host}" in
     DEFAULT_DEFAULT_wxUSE_PM=1
     dnl "c++" wrapper is not always available, so always use plain gcc.
     CXX=gcc
-    LDFLAGS="$LDFLAGS -Zcrtdll -Zsysv-signals"
+    LDFLAGS="$LDFLAGS -Zcrtdll"
     dnl
     dnl Some special code that's automatically added by autoconf-2.57 for OS/2
     dnl and hopefully also by autoconf-2.58 and newer on all other platforms.
@@ -438,6 +437,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_DRAGIMAGE=no
   DEFAULT_wxUSE_SPLINES=no
 
+  DEFAULT_wxUSE_MDI=no
   DEFAULT_wxUSE_MDI_ARCHITECTURE=no
   DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no
   DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no
@@ -481,7 +481,6 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_FS_ZIP=no
   DEFAULT_wxUSE_BUSYINFO=no
   DEFAULT_wxUSE_ZIPSTREAM=no
-  DEFAULT_wxUSE_GZSTREAM=no
   DEFAULT_wxUSE_VALIDATORS=no
 
   DEFAULT_wxUSE_ACCEL=no
@@ -621,6 +620,7 @@ else
   DEFAULT_wxUSE_DRAGIMAGE=yes
   DEFAULT_wxUSE_SPLINES=yes
 
+  DEFAULT_wxUSE_MDI=yes
   DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
   DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=yes
   DEFAULT_wxUSE_PRINTING_ARCHITECTURE=yes
@@ -664,7 +664,6 @@ else
   DEFAULT_wxUSE_FS_ZIP=yes
   DEFAULT_wxUSE_BUSYINFO=yes
   DEFAULT_wxUSE_ZIPSTREAM=yes
-  DEFAULT_wxUSE_GZSTREAM=yes
   DEFAULT_wxUSE_VALIDATORS=yes
 
   DEFAULT_wxUSE_ACCEL=yes
@@ -676,7 +675,7 @@ else
   DEFAULT_wxUSE_CHECKLST=yes
   DEFAULT_wxUSE_CHOICE=yes
   DEFAULT_wxUSE_COMBOBOX=yes
-  DEFAULT_wxUSE_DISPLAY=no
+  DEFAULT_wxUSE_DISPLAY=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
   DEFAULT_wxUSE_IMAGLIST=yes
@@ -773,6 +772,7 @@ AC_ARG_WITH(x11,           [  --with-x11              use X11], [wxUSE_X11="$wit
 WX_ARG_ENABLE(nanox,       [  --enable-nanox          use NanoX], wxUSE_NANOX)
 
 WX_ARG_ENABLE(gtk2,        [  --enable-gtk2           use GTK+ 2.0 if available (EXPERIMENTAL)], 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)
 WX_ARG_SYS_WITH(libjpeg,   [  --with-libjpeg          use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
@@ -799,6 +799,9 @@ WX_ARG_ENABLE(shared,      [  --enable-shared         create shared library code
 WX_ARG_ENABLE(optimise,    [  --enable-optimise       create optimised code], wxUSE_OPTIMISE)
 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)
+if test "$USE_OS2" = "1"; then
+    WX_ARG_ENABLE(omf,     [  --enable-omf            use OMF object format], wxUSE_OMF)
+fi
 
 if test "$wxUSE_DEBUG" = "yes"; then
   DEFAULT_wxUSE_DEBUG_FLAG=yes
@@ -880,7 +883,6 @@ WX_ARG_ENABLE(unicode,       [  --enable-unicode        compile wxString with Un
 WX_ARG_ENABLE(sound,         [  --enable-sound          use wxSound class], wxUSE_SOUND)
 WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
 WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZipInputStream], wxUSE_ZIPSTREAM)
-WX_ARG_ENABLE(gzstream,      [  --enable-gzstream       use wxGzipInputStream], wxUSE_GZSTREAM)
 
 WX_ARG_ENABLE(url,           [  --enable-url            use wxURL class], wxUSE_URL)
 WX_ARG_ENABLE(protocol,      [  --enable-protocol       use wxProtocol class], wxUSE_PROTOCOL)
@@ -908,7 +910,8 @@ WX_ARG_ENABLE(html,        [  --enable-html           use wxHTML sub-library], w
 WX_ARG_ENABLE(htmlhelp,    [  --enable-htmlhelp       use wxHTML-based help], wxUSE_WXHTML_HELP)
 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_ARCHITECTURE)
+WX_ARG_ENABLE(mdi,         [  --enable-mdi            use multiple document interface architecture], wxUSE_MDI)
+WX_ARG_ENABLE(mdidoc,      [  --enable-mdidoc         use docview architecture with MDI], wxUSE_MDI_ARCHITECTURE)
 WX_ARG_ENABLE(loggui,      [  --enable-loggui         use standard GUI logger], wxUSE_LOGGUI)
 WX_ARG_ENABLE(logwin,      [  --enable-logwin         use wxLogWindow], wxUSE_LOGWINDOW)
 WX_ARG_ENABLE(logdialog,   [  --enable-logdialog      use wxLogDialog], wxUSE_LOGDIALOG)
@@ -1347,6 +1350,18 @@ 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
@@ -1486,7 +1501,7 @@ case "${host}" in
           dnl Include resources for the "native" port (wxPM).
           RESPROGRAMOBJ="\${top_srcdir}/include/wx/os2/wx.res"
       fi
-      AC_CACHE_CHECK([for gcc 3 or later], wx_cv_gcc3,[
+      AC_CACHE_CHECK([for gcc version], wx_cv_gccversion,[
           AC_TRY_COMPILE([],
               [
                   #if (__GNUC__ < 3)
@@ -1494,17 +1509,38 @@ case "${host}" in
                   #endif
               ],
               [
-                  wx_cv_gcc3=yes
+                  AC_TRY_COMPILE([],
+                      [
+                          #if (__GNUC__==3) && ((__GNUC_MINOR__ < 2) || ((__GNUC_MINOR__==2) && (__GNUC_PATCHLEVEL__<2)))
+                              #error intermediate gcc
+                          #endif
+                      ],
+                      [
+                         wx_cv_gccversion=Innotek
+                      ],
+                      [
+                         wx_cv_gccversion=3
+                      ]
+                  )
               ],
               [
-                  wx_cv_gcc3=no
+                  wx_cv_gccversion=2
               ]
           )
       ])
-      if test "$wx_cv_gcc3" = "no"; then
+      if test "$wx_cv_gccversion" = "2"; then
           LIBS="$LIBS -lstdcpp"
+          LDFLAGS="$LDFLAGS -Zsysv-signals"
       else
-          LIBS="$LIBS -lstdcxx"
+          if test "$wx_cv_gccversion" = "3"; then
+              LIBS="$LIBS -lstdcxx"
+              LDFLAGS="$LDFLAGS -Zsysv-signals"
+          else
+              LIBS="$LIBS -lstdc++"
+          fi
+      fi
+      if test "$wxUSE_OMF" = "yes"; then
+        LDFLAGS="$LDFLAGS -Zomf -Zlinker /PMTYPE:PM -Zlinker /EXEPACK"
       fi
       dnl (end of OS/2-only piece)
   ;;
@@ -1764,6 +1800,31 @@ if test "$wxUSE_STL" = "yes"; then
                     AC_DEFINE(HAVE_STD_STRING_COMPARE)],
                    [AC_MSG_RESULT(no)])
 
+    dnl check for hash_map and hash_set headers
+    AC_CHECK_HEADER([hash_map],
+                    [AC_MSG_CHECKING([for hash_map and hash_set])
+                     AC_TRY_COMPILE([#include <hash_map>
+                                     #include <hash_set>],
+                                    [std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
+                                     std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;],
+                                    [AC_MSG_RESULT(yes)
+                                     AC_DEFINE(HAVE_HASH_MAP)
+                                     AC_DEFINE(HAVE_STD_HASH_MAP)],
+                                    [AC_MSG_RESULT(no)])
+                     ])
+
+    AC_CHECK_HEADER([ext/hash_map],
+                    [AC_MSG_CHECKING([for hash_map and hash_set])
+                     AC_TRY_COMPILE([#include <ext/hash_map>
+                                     #include <ext/hash_set>],
+                                    [__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
+                                     __gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;],
+                                    [AC_MSG_RESULT(yes)
+                                     AC_DEFINE(HAVE_EXT_HASH_MAP)
+                                     AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)],
+                                    [AC_MSG_RESULT(no)])
+                     ])
+
     AC_LANG_POP
 fi
 
@@ -1833,6 +1894,8 @@ SEARCH_INCLUDE="\
     /usr/include/qt           \
     /usr/local/include/qt     \
                               \
+    /usr/local/arm/3.3.2/include     \
+                              \
     /usr/include/windows      \
     /usr/include/wine         \
     /usr/local/include/wine   \
@@ -1926,7 +1989,7 @@ if test "$wxUSE_REGEX" != "no"; then
     AC_DEFINE(wxUSE_REGEX)
             
     if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_REGEX" = "yes"; then
-        AC_MSG_WARN([Unicode build requires built-in regex library, will use it instead])
+        AC_MSG_WARN([Defaulting to the the builtin regex library for Unicode build.])
         wxUSE_REGEX=builtin
     fi
 
@@ -1945,6 +2008,8 @@ if test "$wxUSE_REGEX" != "no"; then
         else
             dnl we are using the system library
             wxUSE_REGEX=sys
+            dnl only the built-in supports advanced REs
+            AC_DEFINE(WX_NO_REGEX_ADVANCED)
         fi
     fi
 fi
@@ -2073,7 +2138,7 @@ if test "$wxUSE_LIBPNG" != "no" ; then
             AC_CHECK_HEADER(png.h)
 
             if test "$ac_cv_header_png_h" = "yes"; then
-                AC_CHECK_LIB(png, png_check_sig, PNG_LINK=" -lpng", , [-lz -lm])
+                AC_CHECK_LIB(png, png_check_sig, PNG_LINK=" -lpng -lz", , [-lz -lm])
             fi
 
             if test "x$PNG_LINK" = "x" ; then
@@ -2315,6 +2380,7 @@ if test "$wxUSE_GUI" = "yes"; then
     WXGTK12=
     WXGTK127=
     WXGTK20=
+    WXGPE=
 
     if test "$wxUSE_MSW" = 1 ; then
         TOOLKIT=MSW
@@ -2431,6 +2497,33 @@ equivalent variable and GTK+ is version 1.2.3 or above.
 
         dnl test for XIM support in libgdk
         AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
+        
+        
+        dnl test for external libxpm if we're configured to use it
+        if test "$wxUSE_GPE" = "yes"; then
+            AC_MSG_CHECKING(for gpewidget library)
+            WX_PATH_FIND_LIBRARIES($SEARCH_LIB,gpewidget)
+            if test "$ac_find_libraries" != "" ; then
+                WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
+                dnl -lgpewidget must be before all GTK libs and
+                dnl we guess its path from the prefix
+                GUI_TK_LIBRARY="-L${prefix}/lib -lgpewidget $GUI_TK_LIBRARY"
+                WXGPE=1
+                AC_MSG_RESULT(found at $ac_find_libraries)
+            else
+                AC_MSG_RESULT(not found)
+            fi
+
+            dnl AC_MSG_CHECKING(for gpe library)
+            dnl WX_PATH_FIND_LIBRARIES($SEARCH_LIB,gpe)
+            dnl if test "$ac_find_libraries" != "" ; then
+            dnl     WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
+            dnl     GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lgpe"
+            dnl     AC_MSG_RESULT(found at $ac_find_libraries)
+            dnl else
+            dnl     AC_MSG_RESULT(not found)
+            dnl fi
+        fi
     fi
 
     if test "$wxUSE_MGL" = 1; then
@@ -2838,9 +2931,9 @@ 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/morefilex -I/Developer/Headers/FlatCarbon"
+        CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon"
 
-        TOOLKIT_VPATH="\${top_srcdir}/src/mac${PATH_IFS}\${top_srcdir}/src/mac/morefilex"
+        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
@@ -2857,7 +2950,27 @@ equivalent variable and GTK+ is version 1.2.3 or above.
 
     if test "$wxUSE_PM" = 1; then
         TOOLKIT=PM
-        GUIDIST=GTK_DIST
+        GUIDIST=PM_DIST
+        AC_CACHE_CHECK([for type SPBCDATA],
+            wx_cv_spbcdata,
+            [
+                AC_TRY_COMPILE(
+                    [
+                        #define INCL_PM
+                        #include <os2.h>
+                    ],
+                    [
+                        SPBCDATA test;
+                    ],
+                    wx_cv_spbcdata=yes,
+                    wx_cv_spbcdata=no
+                )
+            ]
+        )
+
+        if test $wx_cv_spbcdata = "yes"; then
+            AC_DEFINE(HAVE_SPBCDATA)
+        fi
     fi
 
     dnl the name of the directory where the files for this toolkit live
@@ -3007,9 +3120,13 @@ if test "$wxUSE_ZLIB" = "builtin" ; then
 fi
 
 dnl ---------------------------------------------------------------------------
-dnl Xinerama (for unix wxDisplay) - Brian Victor
+dnl wxDisplay Sanity checks
 dnl ---------------------------------------------------------------------------
+
 if test "$wxUSE_DISPLAY" = "yes"; then
+dnl ---------------------------------------------------------------------------
+dnl Xinerama (for unix ) - Brian Victor
+dnl ---------------------------------------------------------------------------
     if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_MAC" != 1; then
         AC_MSG_CHECKING([for Xinerama])
         WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xinerama)
@@ -3041,9 +3158,17 @@ if test "$wxUSE_DISPLAY" = "yes"; then
         
         else
             AC_MSG_RESULT([no])
-            AC_MSG_WARN("*** Xinerama not found; disabling wxDisplay")
+            AC_MSG_WARN([Xinerama not found; disabling wxDisplay])
             wxUSE_DISPLAY="no"
         fi
+    elif test "$wxUSE_MSW" = 1; then
+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])
+          ] )
     fi
 fi
 
@@ -3229,7 +3354,6 @@ dnl --- the marker for quick search, leave it here: SHARED_LIB_SETUP ---
 
 if test "$wxUSE_SHARED" = "yes"; then
     case "${host}" in
-      *-pc-os2_emx | *-pc-os2-emx | \
       *-pc-msdosdjgpp )
         dnl only static for now
         wxUSE_SHARED=no
@@ -3302,6 +3426,10 @@ EOF
         chmod +x change-install-names
       ;;
       
+      *-*-cygwin* | *-*-mingw32* )
+        TOOLCHAIN_DLL_DEFS="${TOOLCHAIN_DLL_DEFS} -DWXUSINGDLL=1"
+       ;;
+      
     esac
 
     dnl set target to shared if not explicitly chose static before
@@ -3508,6 +3636,11 @@ if test "$wx_cv_sizeof_wchar_t" != "0"; then
         AC_DEFINE(HAVE_WCSLEN)
     fi
 
+    dnl HP-UX aCC needs this define to find mbstrtowcs() &c
+    if test "$USE_HPUX" = 1 -a "x$GCC" != "xyes"; then
+        CPPFLAGS="$CPPFLAGS -D_INCLUDE__STDC_A1_SOURCE "
+    fi
+
     dnl try to use wcsrtombs instead of wcstombs which is buggy in old GNU
     dnl libc versions if possible
     AC_CHECK_FUNCS(wcsrtombs)
@@ -4036,6 +4169,10 @@ 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*)
@@ -4242,6 +4379,10 @@ if test "$WXGTK127" = 1 ; then
   AC_DEFINE_UNQUOTED(__WXGTK127__,$WXGTK127)
 fi
 
+if test "$WXGPE" = 1 ; then
+  AC_DEFINE_UNQUOTED(__WXGPE__,$WXGPE)
+fi
+
 WXDEBUG=
 
 if test "$wxUSE_DEBUG_INFO" = "yes" ; then
@@ -4552,10 +4693,6 @@ if test "$wxUSE_ZIPSTREAM" = "yes"; then
   AC_DEFINE(wxUSE_ZIPSTREAM)
 fi
 
-if test "$wxUSE_GZSTREAM" = "yes"; then
-  AC_DEFINE(wxUSE_GZSTREAM)
-fi
-
 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
   AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION)
 fi
@@ -4954,7 +5091,6 @@ if test "$wxUSE_GUI" = "yes"; then
 fi
 
 
-
 dnl ---------------------------------------------------------------------------
 dnl String stuff
 dnl ---------------------------------------------------------------------------
@@ -5008,9 +5144,13 @@ if test "$wxUSE_CONSTRAINTS" = "yes"; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS layout"
 fi
 
-if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
-   AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
-   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
+if test "$wxUSE_MDI" = "yes"; then
+    AC_DEFINE(wxUSE_MDI)
+
+    if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
+        AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
+    fi
 fi
 
 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
@@ -5154,11 +5294,14 @@ if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
 
     if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
         AC_DEFINE(wxUSE_DRAG_AND_DROP)
-        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
     fi
 
 fi
 
+if test "$wxUSE_DRAG_AND_DROP" = "yes" -o "$wxUSE_CLIPBOARD" = "yes"; then
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
+fi
+
 if test "$wxUSE_SPLINES" = "yes" ; then
   AC_DEFINE(wxUSE_SPLINES)
 fi
@@ -5352,9 +5495,14 @@ if test "$wxUSE_TEXTCTRL" = "yes"; then
 fi
 
 if test "$wxUSE_TOGGLEBTN" = "yes"; then
-    if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
+    if test "$wxUSE_COCOA" = 1 ; then
         AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
         wxUSE_TOGGLEBTN=no
+    else
+        if test "$wxUSE_PM" = 1; then
+            AC_MSG_WARN([Toggle button not yet supported under PM... disabled])
+            wxUSE_TOGGLEBTN=no
+        fi
     fi
     if test "$wxUSE_UNIVERSAL" = "yes"; then
         AC_MSG_WARN([Toggle button not yet supported under wxUniversal... disabled])
@@ -5795,7 +5943,7 @@ 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"
+    wxconfig_3rdparty="$wxconfig_3rdparty regex${lib_unicode_suffix}"
 fi
 if test "$wxUSE_EXPAT" = "builtin" ; then
     wxconfig_3rdparty="$wxconfig_3rdparty expat"
@@ -5888,6 +6036,8 @@ AC_SUBST(TOOLKIT_VERSION)
 AC_SUBST(SAMPLES_RPATH_FLAG)
 AC_SUBST(SAMPLES_RPATH_POSTLINK)
 AC_SUBST(HOST_SUFFIX)
+AC_SUBST(CPPUNIT_CFLAGS)
+AC_SUBST(CPPUNIT_LIBS)
 
 AC_BAKEFILE
 
@@ -5904,6 +6054,24 @@ else
             CODE_GEN_FLAGS="-DNO_GCC_PRAGMA $CODE_GEN_FLAGS"
             CPPFLAGS="-DNO_GCC_PRAGMA $CPPFLAGS"
             ;;
+        *-*-mingw32* )
+            dnl MinGW GCC versions >= 3.2 have problems with
+            dnl static member of classes derived from templates
+            dnl in combination with #pragme interface/implementation
+            dnl (the test case uses 4 files)
+            if test "$wxUSE_STL" = "yes"; then
+               AC_MSG_CHECKING([If this MinGW version needs -DNO_GCC_PRAGMA])
+               AC_TRY_COMPILE([],
+                              [#if !(__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
+                               #error "Not GCC 3.2 or greater"
+                               #endif
+                               ],
+                              [CODE_GEN_FLAGS="-DNO_GCC_PRAGMA $CODE_GEN_FLAGS"
+                               CPPFLAGS="-DNO_GCC_PRAGMA $CPPFLAGS"
+                               AC_MSG_RESULT([yes])],
+                              [AC_MSG_RESULT([no])])
+            fi
+            ;;
     esac
 fi
 
@@ -6021,6 +6189,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)
@@ -6099,6 +6268,8 @@ else dnl we build wxBase only
     dnl there are no wxBase programs in contrib nor demos
     SUBDIRS="samples utils"
 fi
+dnl Add tests to the list of subdirs if cppunit 1.8.0+ is detected
+AM_PATH_CPPUNIT(1.8.0, [SUBDIRS="$SUBDIRS tests"])
 
 for subdir in `echo $SUBDIRS`; do
     if test -d ${srcdir}/${subdir} ; then
@@ -6120,11 +6291,13 @@ for subdir in `echo $SUBDIRS`; do
             dnl wxBase
             if test ${subdir} = "samples"; then
                 makefiles="samples/Makefile.in samples/console/Makefile.in"
-            else dnl utils
+            elif test ${subdir} = "utils"; then
                 makefiles="utils/HelpGen/Makefile.in \
                            utils/HelpGen/src/Makefile.in \
                            utils/tex2rtf/Makefile.in \
                            utils/tex2rtf/src/Makefile.in"
+            else dnl assume that everything compiles for tests
+                makefiles=`(cd $srcdir ; find $subdir -name Makefile.in)`
             fi
         fi