]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
Fix for decoding of utf-16 surrogates. Also remove #include that's not needed
[wxWidgets.git] / configure.in
index a85b48fc4b123bee802b90b3b61b0bdd0105c759..b2f779d35ecc0d3c35c930a9c007bcbb73334eca 100644 (file)
@@ -17,7 +17,7 @@ dnl ---------------------------------------------------------------------------
 dnl initialization
 dnl ---------------------------------------------------------------------------
 
-AC_INIT([wxWidgets], [2.5.4], [wx-dev@lists.wxwidgets.org])
+AC_INIT([wxWidgets], [2.5.5], [wx-dev@lists.wxwidgets.org])
 
 dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package
 AC_CONFIG_SRCDIR([wx-config.in])
@@ -55,7 +55,7 @@ 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=4
+wx_release_number=5
 wx_subrelease_number=0
 
 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
@@ -64,9 +64,9 @@ WX_SUBVERSION=$WX_VERSION.$wx_subrelease_number
 
 WX_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number
 
-WX_CURRENT=4
+WX_CURRENT=5
 WX_REVISION=0
-WX_AGE=4
+WX_AGE=5
 
 
 dnl ------------------------------------------------------------------------
@@ -328,7 +328,6 @@ case "${host}" in
     SO_SUFFIX=dylib
     AC_DEFINE(__BSD__)
     AC_DEFINE(__DARWIN__)
-    AC_DEFINE(__POWERPC__)
     AC_DEFINE(TARGET_CARBON)
     DEFAULT_DEFAULT_wxUSE_MAC=1
   ;;
@@ -418,6 +417,7 @@ if test $DEBUG_CONFIGURE = 1; then
 
   DEFAULT_wxUSE_ON_FATAL_EXCEPTION=no
   DEFAULT_wxUSE_STACKWALKER=no
+  DEFAULT_wxUSE_DEBUGREPORT=no
   DEFAULT_wxUSE_SNGLINST_CHECKER=no
   DEFAULT_wxUSE_STD_IOSTREAM=no
   DEFAULT_wxUSE_CMDLINE_PARSER=no
@@ -426,6 +426,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_STOPWATCH=no
   DEFAULT_wxUSE_FILE=no
   DEFAULT_wxUSE_FFILE=no
+  DEFAULT_wxUSE_STDPATHS=no
   DEFAULT_wxUSE_TEXTBUFFER=no
   DEFAULT_wxUSE_TEXTFILE=no
   DEFAULT_wxUSE_SOUND=no
@@ -611,6 +612,7 @@ else
 
   DEFAULT_wxUSE_ON_FATAL_EXCEPTION=yes
   DEFAULT_wxUSE_STACKWALKER=yes
+  DEFAULT_wxUSE_DEBUGREPORT=yes
   DEFAULT_wxUSE_SNGLINST_CHECKER=yes
   DEFAULT_wxUSE_STD_IOSTREAM=no
   DEFAULT_wxUSE_CMDLINE_PARSER=yes
@@ -619,11 +621,12 @@ else
   DEFAULT_wxUSE_STOPWATCH=yes
   DEFAULT_wxUSE_FILE=yes
   DEFAULT_wxUSE_FFILE=yes
+  DEFAULT_wxUSE_STDPATHS=yes
   DEFAULT_wxUSE_TEXTBUFFER=yes
   DEFAULT_wxUSE_TEXTFILE=yes
   DEFAULT_wxUSE_SOUND=yes
   DEFAULT_wxUSE_MEDIACTRL=no
-  DEFAULT_wxUSE_DIRECTSHOW=no  
+  DEFAULT_wxUSE_DIRECTSHOW=no
   DEFAULT_wxUSE_INTL=yes
   DEFAULT_wxUSE_CONFIG=yes
   DEFAULT_wxUSE_FONTMAP=yes
@@ -837,6 +840,7 @@ 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)
 if test "$USE_OS2" = "1"; then
+    DEFAULT_wxUSE_OMF=no
     WX_ARG_ENABLE(omf,     [  --enable-omf            use OMF object format], wxUSE_OMF)
 fi
 
@@ -887,10 +891,11 @@ WX_ARG_ENABLE(ipc,           [  --enable-ipc            use interprocess communi
 dnl please keep the settings below in alphabetical order
 WX_ARG_ENABLE(apple_ieee,    [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
 WX_ARG_ENABLE(arcstream,     [  --enable-arcstream      use wxArchive streams], wxUSE_ARCHIVE_STREAMS)
-WX_ARG_ENABLE(catch_segvs,   [  --enable-catch_segvs    catch signals in wxApp::OnFatalException (Unix only)], wxUSE_ON_FATAL_EXCEPTION)
 WX_ARG_ENABLE(backtrace,     [  --enable-backtrace      use wxStackWalker class for getting backtraces], wxUSE_STACKWALKER)
+WX_ARG_ENABLE(catch_segvs,   [  --enable-catch_segvs    catch signals in wxApp::OnFatalException (Unix only)], wxUSE_ON_FATAL_EXCEPTION)
 WX_ARG_ENABLE(cmdline,       [  --enable-cmdline        use wxCmdLineParser class], wxUSE_CMDLINE_PARSER)
 WX_ARG_ENABLE(datetime,      [  --enable-datetime       use wxDateTime class], wxUSE_DATETIME)
+WX_ARG_ENABLE(debugreport,   [  --enable-debugreport    use wxDebugReport class], wxUSE_DEBUGREPORT)
 WX_ARG_ENABLE(dialupman,     [  --enable-dialupman      use dialup network classes], wxUSE_DIALUP_MANAGER)
 WX_ARG_ENABLE(dynlib,        [  --enable-dynlib         use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS)
 WX_ARG_ENABLE(dynamicloader, [  --enable-dynamicloader  use (new) wxDynamicLibrary class], wxUSE_DYNAMIC_LOADER)
@@ -907,9 +912,10 @@ WX_ARG_ENABLE(longlong,      [  --enable-longlong       use wxLongLong class], w
 WX_ARG_ENABLE(mimetype,      [  --enable-mimetype       use wxMimeTypesManager], wxUSE_MIMETYPE)
 WX_ARG_ENABLE(mslu,          [  --enable-mslu           use MS Layer for Unicode on Windows 9x (Win32 only)], wxUSE_UNICODE_MSLU)
 WX_ARG_ENABLE(snglinst,      [  --enable-snglinst       use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER)
-WX_ARG_ENABLE(streams,       [  --enable-streams        use wxStream etc classes], wxUSE_STREAMS)
 WX_ARG_ENABLE(std_iostreams, [  --enable-std_iostreams  use standard C++ stream classes], wxUSE_STD_IOSTREAM)
+WX_ARG_ENABLE(stdpaths,      [  --enable-stdpaths       use wxStandardPaths class], wxUSE_STDPATHS)
 WX_ARG_ENABLE(stopwatch,     [  --enable-stopwatch      use wxStopWatch class], wxUSE_STOPWATCH)
+WX_ARG_ENABLE(streams,       [  --enable-streams        use wxStream etc classes], wxUSE_STREAMS)
 WX_ARG_ENABLE(system_options,[  --enable-sysoptions     use wxSystemOptions], wxUSE_SYSTEM_OPTIONS)
 WX_ARG_ENABLE(textbuf,       [  --enable-textbuf        use wxTextBuffer class], wxUSE_TEXTBUFFER)
 WX_ARG_ENABLE(textfile,      [  --enable-textfile       use wxTextFile class], wxUSE_TEXTFILE)
@@ -1142,7 +1148,7 @@ WX_ARG_ENABLE(tooltips,    [  --enable-tooltips       use wxToolTip class], wxUS
 WX_ARG_ENABLE(splines,     [  --enable-splines        use spline drawing code], wxUSE_SPLINES)
 WX_ARG_ENABLE(validators,  [  --enable-validators     use wxValidator and derived classes], wxUSE_VALIDATORS)
 WX_ARG_ENABLE(busyinfo,    [  --enable-busyinfo       use wxBusyInfo], wxUSE_BUSYINFO)
-WX_ARG_ENABLE(joystick,    [  --enable-joystick       use wxJoystick (Linux only)], wxUSE_JOYSTICK)
+WX_ARG_ENABLE(joystick,    [  --enable-joystick       use wxJoystick], wxUSE_JOYSTICK)
 WX_ARG_ENABLE(metafile,    [  --enable-metafiles      use wxMetaFile (Windows only)], wxUSE_METAFILE)
 WX_ARG_ENABLE(dragimage,   [  --enable-dragimage      use wxDragImage], wxUSE_DRAGIMAGE)
 WX_ARG_ENABLE(accessibility,[  --enable-accessibility  enable accessibility support], wxUSE_ACCESSIBILITY)
@@ -1361,8 +1367,7 @@ dnl this magic incantation is needed to prevent AC_PROG_CC from setting the
 dnl default CFLAGS (something like "-g -O2") -- we don't need this as we add
 dnl -g and -O flags ourselves below
 CFLAGS=${CFLAGS:=}
-AC_PROG_CC
-AC_BAKEFILE_PROG_MWCC
+AC_BAKEFILE_PROG_CC
 
 dnl is -traditional needed for correct compilations
 dnl   adds -traditional for gcc if needed
@@ -1379,8 +1384,7 @@ dnl   defines CXXFLAGS
 dnl
 dnl see CFLAGS line above
 CXXFLAGS=${CXXFLAGS:=}
-AC_PROG_CXX
-AC_BAKEFILE_PROG_MWCXX
+AC_BAKEFILE_PROG_CXX
 
 AC_LANG_RESTORE
 
@@ -1495,6 +1499,46 @@ dnl ------------------------------------------------------------------------
 dnl Platform specific tests
 dnl ------------------------------------------------------------------------
 
+dnl xlC needs -qunique (at least on AIX) so that one source file can be
+dnl compiled to multiple object files and safely linked together.
+if test "x$XLCXX" = "xyes"; then
+    CXXFLAGS="$CXXFLAGS -qunique"
+fi
+
+
+dnl This case is for OS X vs. everything else
+case "${host}" in
+  powerpc-*-darwin* )
+    AC_MSG_CHECKING([if __POWERPC__ is already defined])
+    AC_TRY_COMPILE([],[#ifndef __POWERPC__
+        choke me for lack of PowerPC
+#endif
+],
+        [AC_MSG_RESULT([yes])],
+        [AC_MSG_RESULT([no])
+        AC_DEFINE(__POWERPC__)
+    ])
+    AC_MSG_CHECKING([if CoreFoundation/CFBase.h is usable])
+    AC_TRY_COMPILE([#include <CoreFoundation/CFBase.h>
+],[],
+        [AC_MSG_RESULT([yes])],
+        [AC_MSG_RESULT([no])
+        AC_MSG_CHECKING([if __CF_USE_FRAMEWORK_INCLUDES__ is required])
+        AC_TRY_COMPILE([#define __CF_USE_FRAMEWORK_INCLUDES__
+#include <CoreFoundation/CFBase.h>
+        ],[],
+        [AC_MSG_RESULT([yes])
+        dnl We must use -D so source files that don't include wx/setup.h
+        dnl but do include CFBase will work.
+        CPPFLAGS="$CPPFLAGS -D__CF_USE_FRAMEWORK_INCLUDES__"],
+        [AC_MSG_FAILURE([no.  CoreFoundation not available.])]
+        )
+        ]
+    )
+  ;;
+esac
+
+dnl This case is for OS/2 vs. everything else
 case "${host}" in
   *-pc-os2_emx | *-pc-os2-emx )
       dnl ---------------------------------------------------------------------
@@ -1518,7 +1562,7 @@ case "${host}" in
       dnl wx_cv_gccversion = EMX3 -> EMX with gcc-3.0.3 or gcc-3.2.1
       dnl wx_cv_gccversion = Innotek5 -> gcc-3.2.2 with Innotek libc5
       dnl wx_cv_gccversion = Innotek6 -> gcc-3.3.5 with Innotek libc6.
-      AC_CACHE_CHECK([for gcc version], wx_cv_gccversion,[
+      AC_CACHE_CHECK([for gcc/libc version], wx_cv_gccversion,[
           AC_TRY_RUN(
               dnl Check the gcc version macro.  
               [
@@ -1559,8 +1603,10 @@ case "${host}" in
               LIBS="$LIBS -lstdc++"
           fi
       fi
-      if test "$wxUSE_OMF" = "yes"; then
-        LDFLAGS="$LDFLAGS -Zomf -Zlinker /PMTYPE:PM -Zlinker /EXEPACK"
+      if test "$wxUSE_SHARED" = "yes" -a "$wxUSE_OMF" = "no"; then
+        AC_MSG_WARN([Building DLLs requires OMF mode, enabled])
+        wxUSE_OMF=yes
+       enable_omf=yes
       fi
       dnl (end of OS/2-only piece)
   ;;
@@ -1703,51 +1749,26 @@ case "${host}" in
         AC_CHECK_SIZEOF(long long, 0)
 esac
 
-dnl we have to do it ourselves because SGI/Irix's stdio.h does not include
-dnl wchar_t and AC_CHECK_SIZEOF only includes stdio.h
-dnl Mac OS X does not provide wchar.h and wchar_t is defined by stdlib.h (GD)
-AC_CACHE_CHECK([size of wchar_t], wx_cv_sizeof_wchar_t,
-[
-    AC_TRY_RUN(
-        [
-            /* DJGPP only has fake wchar_t: */
-            #ifdef __DJGPP__
-            #  error "fake wchar_t"
-            #endif
-            #ifdef HAVE_WCHAR_H
-            #  ifdef __CYGWIN__
-            #    include <stddef.h>
-            #  endif
-            #  include <wchar.h>
-            #endif
-            #ifdef HAVE_STDLIB_H
-            #  include <stdlib.h>
-            #endif
-            #include <stdio.h>
-            int main()
-            {
-                FILE *f=fopen("conftestval", "w");
-                if (!f) exit(1);
-                fprintf(f, "%i", sizeof(wchar_t));
-                exit(0);
-            }
-        ],
-        wx_cv_sizeof_wchar_t=`cat conftestval`,
-        wx_cv_sizeof_wchar_t=0,
-        [
-            case "${host}" in
-              *-pc-msdosdjgpp )
-                wx_cv_sizeof_wchar_t=0
-                ;;
-              * )
-                wx_cv_sizeof_wchar_t=4
-                ;;
-            esac
-        ]
-    )
-])
-
-AC_DEFINE_UNQUOTED(SIZEOF_WCHAR_T, $wx_cv_sizeof_wchar_t)
+dnl SGI/Irix's stdio.h does not include wchar_t. Mac OS X does not provide
+dnl wchar.h and wchar_t is defined by stdlib.h (GD)
+AC_CHECK_SIZEOF(wchar_t, 0,
+    [
+        /* DJGPP only has fake wchar_t: */
+        #ifdef __DJGPP__
+        #  error "fake wchar_t"
+        #endif
+        #ifdef HAVE_WCHAR_H
+        #  ifdef __CYGWIN__
+        #    include <stddef.h>
+        #  endif
+        #  include <wchar.h>
+        #endif
+        #ifdef HAVE_STDLIB_H
+        #  include <stdlib.h>
+        #endif
+        #include <stdio.h>
+    ]
+)
 
 dnl checks needed to define wxVaCopy
 AC_CACHE_CHECK([for va_copy],
@@ -1851,6 +1872,8 @@ dnl check whether C++ compiler supports C++ casts
 AC_CXX_CONST_CAST
 AC_CXX_REINTERPRET_CAST
 AC_CXX_STATIC_CAST
+dnl we don't use HAVE_DYNAMIC_CAST anywhere right now...
+dnl AC_CXX_DYNAMIC_CAST
 
 dnl check various STL features
 if test "$wxUSE_STL" = "yes"; then
@@ -2006,8 +2029,9 @@ dnl be found before the ones in lib64 for 32bit compilation -- of course, this
 dnl probably/surely breaks 64bit compilation... IMO the only real solution is to
 dnl stop using WX_PATH_FIND_LIBRARIES() at all and use AC_CHECK_LIB() instead
 dnl
-dnl add 64 bit versions for Linux on AMD (this is not perfect but well...)
-SEARCH_LIB="/usr/lib /usr/lib32 `echo "$SEARCH_INCLUDE" | sed s/include/lib/g` /usr/lib64 /usr/X11R6/lib64"
+dnl also put 64 bit versions for Linux on AMD, they must come before the usual
+dnl locations or 64 bit compilation failed
+SEARCH_LIB="/usr/lib /usr/lib32 /usr/lib64 /usr/X11R6/lib64 `echo "$SEARCH_INCLUDE" | sed s/include/lib/g`"
 
 dnl ------------------------------------------------------------------------
 dnl Check for libraries
@@ -2573,8 +2597,8 @@ equivalent variable and GTK+ is version 1.2.3 or above.
         if test "$WXGTK20" = 1; then
             save_CFLAGS="$CFLAGS"
             save_LIBS="$LIBS"
-            CFLAGS="$CFLAGS $GTK_CFLAGS"
-            LIBS="$LIBS $GTK_LIBS"
+            CFLAGS="$CFLAGS $wx_cv_cflags_gtk"
+            LIBS="$LIBS $wx_cv_lib_gtk"
             
             AC_CHECK_FUNCS([pango_font_family_is_monospace])
             
@@ -3174,18 +3198,19 @@ if test "$TOOLKIT" != "MSW" ; then
             wxUSE_ODBC=sys
         fi
     fi
-    if test "$wxUSE_ODBC" != "no" ; then
-        AC_DEFINE(wxUSE_ODBC)
-        if test "$wxUSE_ODBC" = "builtin" ; then
-            AC_DEFINE(wxUSE_BUILTIN_IODBC)
-        fi
-        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
-    
-        dnl is this still necessary in 2.5?
-        WXODBCFLAG="-D_IODBC_"
+
+    if test "$wxUSE_ODBC" = "builtin" ; then
+        AC_DEFINE(wxUSE_BUILTIN_IODBC)
     fi
 fi
 
+if test "$wxUSE_ODBC" != "no" ; then
+    AC_DEFINE(wxUSE_ODBC)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
+
+    dnl is this still necessary?
+    WXODBCFLAG="-D_IODBC_"
+fi
 
 dnl ---------------------------------------------------------------------------
 dnl wxDisplay Sanity checks
@@ -3271,6 +3296,8 @@ if test "$wxUSE_OPENGL" = "yes"; then
                 AC_MSG_CHECKING([for -lGL])
                 WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GL)
                 if test "$ac_find_libraries" != "" ; then
+                    AC_MSG_RESULT([yes])
+
                     WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
                     if test "$ac_path_to_link" != " -L/usr/lib" ; then
                         LDFLAGS_GL="$ac_path_to_link"
@@ -3279,6 +3306,7 @@ if test "$wxUSE_OPENGL" = "yes"; then
                     dnl don't suppose that libGL and libGLU are always in the
                     dnl same directory -- this is not true for some common
                     dnl distributions
+                    AC_MSG_CHECKING([for -lGLU])
                     WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GLU)
                     if test "$ac_find_libraries" != "" ; then
                         WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
@@ -3290,11 +3318,14 @@ if test "$wxUSE_OPENGL" = "yes"; then
                         found_gl=1
                         OPENGL_LIBS="-lGL -lGLU"
                         AC_MSG_RESULT([yes])
+                    else
+                        AC_MSG_RESULT([no])
                     fi
+                else
+                    AC_MSG_RESULT([no])
                 fi
 
                 if test "$found_gl" != 1; then
-                    AC_MSG_RESULT([no])
                     AC_MSG_CHECKING([for -lMesaGL])
                     WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],MesaGL)
                     if test "$ac_find_libraries" != "" ; then
@@ -3479,6 +3510,35 @@ WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_u
 
 
 
+if test "$wxUSE_COCOA" = 1; then
+    AC_LANG_SAVE
+    AC_WX_LANG_OBJECTIVEC
+dnl Recent AppKit/NSEvent.h include parts of IOKit which eventually
+dnl gets IOKit/graphics/IOGraphicsTypes.h included which typedefs
+dnl Point but only if MacTypes.h was not included first.  Of course,
+dnl if MacTypes.h is included later then you're screwed when it
+dnl tries to typedef Point.  Defining __Point__ will cause IOGraphicsTypes.h
+dnl to not typedef Point and thus fix the problem.
+    AC_MSG_CHECKING([if AppKit/NSEvent.h conflicts with CoreFoundation])
+    AC_TRY_COMPILE([#include <AppKit/NSEvent.h>
+#include <CoreFoundation/CoreFoundation.h>
+        ],[],
+        [AC_MSG_RESULT([no])],
+        [AC_MSG_RESULT([yes])
+        AC_MSG_CHECKING([if defining __Point__ will fix it])
+        AC_TRY_COMPILE([#define __Point__ 1
+#include <AppKit/NSEvent.h>
+#include <CoreFoundation/CoreFoundation.h>
+            ],[],
+            [AC_MSG_RESULT([yes])
+            AC_DEFINE(__Point__)
+            ],
+            [AC_MSG_FAILURE([no])]
+        )]
+    )
+    AC_LANG_RESTORE
+fi
+
 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)
@@ -3622,7 +3682,7 @@ dnl Check for functions
 dnl ---------------------------------------------------------------------------
 
 dnl don't check for wchar_t functions if we haven't got wchar_t itself
-if test "$wx_cv_sizeof_wchar_t" != "0"; then
+if test "$ac_cv_sizeof_wchar_t" != "0"; then
     AC_DEFINE(wxUSE_WCHAR_T)
 
     dnl check for wcslen in all possible places
@@ -3810,7 +3870,7 @@ if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
     else
         AC_CACHE_CHECK([for __cxa_demangle() in <cxxabi.h>], wx_cv_func_cxa_demangle,
             [
-                AC_TRY_COMPILE([#include <cxxabi.h>],
+                AC_TRY_LINK([#include <cxxabi.h>],
                     [
                         int rc;
                         __cxxabiv1::__cxa_demangle("foo", 0, 0, &rc);
@@ -3829,6 +3889,12 @@ if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
     AC_LANG_RESTORE
 fi
 
+if test "$wxUSE_STACKWALKER" = "yes" -a "$USE_WIN32" != "1" -a "$USE_UNIX" != "1"; then 
+    AC_MSG_WARN([wxStackWalker is only available on Win32 and UNIX... disabled])
+    wxUSE_STACKWALKER=no
+fi
+
+
 dnl check for the function for temp files creation
 AC_CHECK_FUNCS(mkstemp mktemp, break)
 
@@ -4802,6 +4868,16 @@ if test "$wxUSE_STACKWALKER" = "yes"; then
     AC_DEFINE(wxUSE_STACKWALKER)
 fi
 
+if test "$wxUSE_DEBUGREPORT" = "yes"; then
+    if test "$USE_OS2" = "1"; then
+        AC_MSG_WARN([Creating debug reports not supported under OS/2 yet, disabled])
+        wxUSE_DEBUGREPORT=no
+    else
+        AC_DEFINE(wxUSE_DEBUGREPORT)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS debugrpt"
+    fi
+fi
+
 if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
   AC_DEFINE(wxUSE_SNGLINST_CHECKER)
 fi
@@ -4814,6 +4890,10 @@ if test "$wxUSE_STD_IOSTREAM" = "yes"; then
   AC_DEFINE(wxUSE_STD_IOSTREAM)
 fi
 
+if test "$wxUSE_STDPATHS" = "yes"; then
+  AC_DEFINE(wxUSE_STDPATHS)
+fi
+
 if test "$wxUSE_TEXTBUFFER" = "yes"; then
     AC_DEFINE(wxUSE_TEXTBUFFER)
 fi
@@ -4860,6 +4940,9 @@ if test "$wxUSE_LOG" = "yes"; then
     if test "$wxUSE_LOGDIALOG" = "yes"; then
       AC_DEFINE(wxUSE_LOG_DIALOG)
     fi
+
+    dnl the keyboard sample requires wxUSE_LOG
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS keyboard"
 fi
 
 if test "$wxUSE_LONGLONG" = "yes"; then
@@ -5233,27 +5316,29 @@ dnl Joystick support
 dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_GUI" = "yes"; then
-
-    if test "$TOOLKIT" = "MAC" -o "$TOOLKIT" = "COCOA"; then
-        AC_MSG_WARN([Joystick not yet supported under Mac OS X... disabled])
-        wxUSE_JOYSTICK=no
-     fi
-    
      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
+     if test "$wxUSE_JOYSTICK" = "yes"; then
+         
+        dnl joystick support is only for Linux 2.1.x or greater
+        if test "$TOOLKIT" != "MAC" -a "$TOOLKIT" != "COCOA" -a "$TOOLKIT" != "MSW"; then
             AC_CHECK_HEADERS(linux/joystick.h)
             if test "$ac_cv_header_linux_joystick_h" != "yes"; then
                 wxUSE_JOYSTICK=no
                 AC_MSG_WARN(Joystick not supported by this system... disabled)
             fi
+        else
+           dnl mac only available on darwin
+           if test "$USE_DARWIN" != 1 -a "$TOOLKIT" != "MSW"; then
+                wxUSE_JOYSTICK=no
+                AC_MSG_WARN(Joystick not supported by this system... disabled)           
+           fi            
         fi
-    fi
 
-    if test "$wxUSE_JOYSTICK" = "yes"; then
-        AC_DEFINE(wxUSE_JOYSTICK)
-        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
+
+        if test "$wxUSE_JOYSTICK" = "yes"; then
+            AC_DEFINE(wxUSE_JOYSTICK)
+            SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
+        fi
     fi
 fi
 
@@ -5389,6 +5474,7 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ"       = "yes" \
             LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS"
             if test "$wxUSE_OLE" = "yes" ; then
                 AC_DEFINE(wxUSE_OLE)
+                SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS oleauto"
             fi
         fi
 
@@ -5414,11 +5500,15 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ"       = "yes" \
 fi
 
 if test "$wxUSE_IPC" = "yes"; then
-    if test "$wxUSE_SOCKETS" != "yes"; then
+    if test "$wxUSE_SOCKETS" != "yes" -a "$USE_WIN32" != 1; then
         AC_MSG_WARN(wxWidgets IPC classes require sockets... disabled)
+        wxUSE_IPC=no
     fi
 
-    AC_DEFINE(wxUSE_IPC)
+    if test "$wxUSE_IPC" = "yes"; then
+        AC_DEFINE(wxUSE_IPC)
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS ipc"
+    fi
 fi
 
 if test "$wxUSE_CLIPBOARD" = "yes"; then
@@ -5541,7 +5631,7 @@ fi
 
 if test "$wxUSE_DISPLAY" = "yes"; then
     AC_DEFINE(wxUSE_DISPLAY)
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display"
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display multimon"
 fi
 
 if test "$wxUSE_GAUGE" = "yes"; then
@@ -5567,6 +5657,7 @@ fi
 if test "$wxUSE_LISTBOX" = "yes"; then
     AC_DEFINE(wxUSE_LISTBOX)
     USES_CONTROLS=1
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listbox"
 fi
 
 if test "$wxUSE_LISTCTRL" = "yes"; then
@@ -5745,6 +5836,7 @@ if test "$wxUSE_POPUPWIN" = "yes"; then
             AC_MSG_WARN([wxPopupWindow not yet supported under PM... disabled])
         else
             AC_DEFINE(wxUSE_POPUPWIN)
+            SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS popup"
 
             USES_CONTROLS=1
         fi
@@ -6132,6 +6224,9 @@ fi
 if test "$wxUSE_HTML" = "yes" ; then
     CORE_GUI_LIBS="html $CORE_GUI_LIBS"
 fi
+if test "$wxUSE_DEBUGREPORT" = "yes" ; then
+    CORE_GUI_LIBS="qa $CORE_GUI_LIBS"
+fi
 if test "$wxUSE_XRC" = "yes" ; then
     CORE_GUI_LIBS="xrc $CORE_GUI_LIBS"
 fi
@@ -6168,7 +6263,7 @@ if test "$wxUSE_MAC" = 1 ; then
     fi
 fi
 if test "$wxUSE_COCOA" = 1 ; then
-    LDFLAGS="$LDFLAGS -framework Cocoa"
+    LDFLAGS="$LDFLAGS -framework IOKit -framework Cocoa"
     if test "$wxUSE_MEDIACTRL" = "yes"; then
         LDFLAGS="$LDFLAGS -framework QuickTime"
     fi
@@ -6226,15 +6321,24 @@ if test "$wxUSE_GUI" = "yes"; then
     dnl TODO add checks that these samples will really compile (i.e. all the
     dnl      library features they need are present)
 
-    dnl TODO some samples are never built so far:
-    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 render"
+    dnl TODO some samples are never built so far: mfc (requires VC++)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs drawing \
+                     dynamic erase event exec font image minimal mobile \
+                     mobile/wxedit mobile/styles propsize render \
+                     richedit rotate shaped vscroll widgets"
 
     if test "$wxUSE_MONOLITHIC" != "yes"; then
         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS console"
     fi
+    if test "$TOOLKIT" = "MSW"; then
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS regtest"
+        if test "$wxUSE_UNIVERSAL" != "yes"; then
+            SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS ownerdrw nativdlg"
+        fi
+    fi
+    if test "$TOOLKIT" = "PM" -a "$wxUSE_UNIVERSAL" != "yes"; then
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS ownerdrw"
+    fi
 else
     SAMPLES_SUBDIRS="console"
 fi
@@ -6367,6 +6471,12 @@ else
     USE_ODBC=0
 fi
 
+if test "$wxUSE_DEBUGREPORT" = "yes" ; then
+    USE_QA=1
+else
+    USE_QA=0
+fi
+
 if test $wxUSE_OFFICIAL_BUILD = "yes" ; then
     OFFICIAL_BUILD=1
 else
@@ -6447,6 +6557,15 @@ else
     EXE_LINKER="$CXX -o"
 
 fi
+if test "$wxUSE_OMF" = "yes"; then
+    case "${host}" in
+      *-pc-os2_emx | *-pc-os2-emx )
+        LDFLAGS="$LDFLAGS -Zlinker /EXEPACK"
+        LDFLAGS_GUI="-Zlinker /PMTYPE:PM"
+        WXCONFIG_LDFLAGS_GUI="-Zlinker /PMTYPE:PM"
+      ;;
+    esac
+fi
 
 dnl According to Vaclav, if NO_GCC_PRAGMA is used for any reason it needs to
 dnl be in wx-config output.  Not doing so could result in link problems.