]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
invalidate cache when RefreshLine[s]() is called
[wxWidgets.git] / configure.in
index 84583ed3347299421285fe358d3ea2d72e6c6173..de2761229a0b53268d04b1a70697a968eebd908e 100644 (file)
@@ -417,6 +417,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_OPENGL=no
 
   DEFAULT_wxUSE_ON_FATAL_EXCEPTION=no
   DEFAULT_wxUSE_OPENGL=no
 
   DEFAULT_wxUSE_ON_FATAL_EXCEPTION=no
+  DEFAULT_wxUSE_STACKWALKER=no
   DEFAULT_wxUSE_SNGLINST_CHECKER=no
   DEFAULT_wxUSE_STD_IOSTREAM=no
   DEFAULT_wxUSE_CMDLINE_PARSER=no
   DEFAULT_wxUSE_SNGLINST_CHECKER=no
   DEFAULT_wxUSE_STD_IOSTREAM=no
   DEFAULT_wxUSE_CMDLINE_PARSER=no
@@ -512,6 +513,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_CHOICE=no
   DEFAULT_wxUSE_CHOICEBOOK=no
   DEFAULT_wxUSE_COMBOBOX=no
   DEFAULT_wxUSE_CHOICE=no
   DEFAULT_wxUSE_CHOICEBOOK=no
   DEFAULT_wxUSE_COMBOBOX=no
+  DEFAULT_wxUSE_DATEPICKCTRL=no
   DEFAULT_wxUSE_DISPLAY=no
   DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_GRID=no
   DEFAULT_wxUSE_DISPLAY=no
   DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_GRID=no
@@ -607,6 +609,7 @@ else
   DEFAULT_wxUSE_OPENGL=no
 
   DEFAULT_wxUSE_ON_FATAL_EXCEPTION=yes
   DEFAULT_wxUSE_OPENGL=no
 
   DEFAULT_wxUSE_ON_FATAL_EXCEPTION=yes
+  DEFAULT_wxUSE_STACKWALKER=yes
   DEFAULT_wxUSE_SNGLINST_CHECKER=yes
   DEFAULT_wxUSE_STD_IOSTREAM=no
   DEFAULT_wxUSE_CMDLINE_PARSER=yes
   DEFAULT_wxUSE_SNGLINST_CHECKER=yes
   DEFAULT_wxUSE_STD_IOSTREAM=no
   DEFAULT_wxUSE_CMDLINE_PARSER=yes
@@ -702,6 +705,7 @@ else
   DEFAULT_wxUSE_CHOICE=yes
   DEFAULT_wxUSE_CHOICEBOOK=yes
   DEFAULT_wxUSE_COMBOBOX=yes
   DEFAULT_wxUSE_CHOICE=yes
   DEFAULT_wxUSE_CHOICEBOOK=yes
   DEFAULT_wxUSE_COMBOBOX=yes
+  DEFAULT_wxUSE_DATEPICKCTRL=yes
   DEFAULT_wxUSE_DISPLAY=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
   DEFAULT_wxUSE_DISPLAY=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
@@ -881,6 +885,7 @@ WX_ARG_ENABLE(ipc,           [  --enable-ipc            use interprocess communi
 dnl please keep the settings below in alphabetical order
 WX_ARG_ENABLE(apple_ieee,    [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
 WX_ARG_ENABLE(catch_segvs,   [  --enable-catch_segvs    catch signals in wxApp::OnFatalException (Unix only)], wxUSE_ON_FATAL_EXCEPTION)
 dnl please keep the settings below in alphabetical order
 WX_ARG_ENABLE(apple_ieee,    [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
 WX_ARG_ENABLE(catch_segvs,   [  --enable-catch_segvs    catch signals in wxApp::OnFatalException (Unix only)], wxUSE_ON_FATAL_EXCEPTION)
+WX_ARG_ENABLE(backtrace,     [  --enable-backtrace      use wxStackWalker class for getting backtraces], wxUSE_STACKWALKER)
 WX_ARG_ENABLE(cmdline,       [  --enable-cmdline        use wxCmdLineParser class], wxUSE_CMDLINE_PARSER)
 WX_ARG_ENABLE(datetime,      [  --enable-datetime       use wxDateTime class], wxUSE_DATETIME)
 WX_ARG_ENABLE(dialupman,     [  --enable-dialupman      use dialup network classes], wxUSE_DIALUP_MANAGER)
 WX_ARG_ENABLE(cmdline,       [  --enable-cmdline        use wxCmdLineParser class], wxUSE_CMDLINE_PARSER)
 WX_ARG_ENABLE(datetime,      [  --enable-datetime       use wxDateTime class], wxUSE_DATETIME)
 WX_ARG_ENABLE(dialupman,     [  --enable-dialupman      use dialup network classes], wxUSE_DIALUP_MANAGER)
@@ -985,13 +990,14 @@ if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_ACCEL=yes
   DEFAULT_wxUSE_BMPBUTTON=yes
   DEFAULT_wxUSE_BUTTON=yes
   DEFAULT_wxUSE_ACCEL=yes
   DEFAULT_wxUSE_BMPBUTTON=yes
   DEFAULT_wxUSE_BUTTON=yes
-  DEFAULT_wxUSE_CALCTRL=no
+  DEFAULT_wxUSE_CALCTRL=yes
   DEFAULT_wxUSE_CARET=yes
   DEFAULT_wxUSE_COMBOBOX=yes
   DEFAULT_wxUSE_CHECKBOX=yes
   DEFAULT_wxUSE_CHECKLISTBOX=yes
   DEFAULT_wxUSE_CHOICE=yes
   DEFAULT_wxUSE_CHOICEBOOK=yes
   DEFAULT_wxUSE_CARET=yes
   DEFAULT_wxUSE_COMBOBOX=yes
   DEFAULT_wxUSE_CHECKBOX=yes
   DEFAULT_wxUSE_CHECKLISTBOX=yes
   DEFAULT_wxUSE_CHOICE=yes
   DEFAULT_wxUSE_CHOICEBOOK=yes
+  DEFAULT_wxUSE_DATEPICKCTRL=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
   DEFAULT_wxUSE_IMAGLIST=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
   DEFAULT_wxUSE_IMAGLIST=yes
@@ -1031,6 +1037,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_CHECKLISTBOX=no
   DEFAULT_wxUSE_CHOICE=no
   DEFAULT_wxUSE_CHOICEBOOK=no
   DEFAULT_wxUSE_CHECKLISTBOX=no
   DEFAULT_wxUSE_CHOICE=no
   DEFAULT_wxUSE_CHOICEBOOK=no
+  DEFAULT_wxUSE_DATEPICKCTRL=no
   DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_GRID=no
   DEFAULT_wxUSE_IMAGLIST=no
   DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_GRID=no
   DEFAULT_wxUSE_IMAGLIST=no
@@ -1071,6 +1078,7 @@ WX_ARG_ENABLE(checklst,    [  --enable-checklst       use wxCheckListBox (listbo
 WX_ARG_ENABLE(choice,      [  --enable-choice         use wxChoice class], wxUSE_CHOICE)
 WX_ARG_ENABLE(choicebook,  [  --enable-choicebook     use wxChoicebook class], wxUSE_CHOICEBOOK)
 WX_ARG_ENABLE(combobox,    [  --enable-combobox       use wxComboBox class], wxUSE_COMBOBOX)
 WX_ARG_ENABLE(choice,      [  --enable-choice         use wxChoice class], wxUSE_CHOICE)
 WX_ARG_ENABLE(choicebook,  [  --enable-choicebook     use wxChoicebook class], wxUSE_CHOICEBOOK)
 WX_ARG_ENABLE(combobox,    [  --enable-combobox       use wxComboBox class], wxUSE_COMBOBOX)
+WX_ARG_ENABLE(datepick,    [  --enable-datepick       use wxDatePickerCtrl class], wxUSE_DATEPICKCTRL)
 WX_ARG_ENABLE(display,     [  --enable-display        use wxDisplay class], wxUSE_DISPLAY)
 WX_ARG_ENABLE(gauge,       [  --enable-gauge          use wxGauge class], wxUSE_GAUGE)
 WX_ARG_ENABLE(grid,        [  --enable-grid           use wxGrid class], wxUSE_GRID)
 WX_ARG_ENABLE(display,     [  --enable-display        use wxDisplay class], wxUSE_DISPLAY)
 WX_ARG_ENABLE(gauge,       [  --enable-gauge          use wxGauge class], wxUSE_GAUGE)
 WX_ARG_ENABLE(grid,        [  --enable-grid           use wxGrid class], wxUSE_GRID)
@@ -1351,6 +1359,7 @@ dnl default CFLAGS (something like "-g -O2") -- we don't need this as we add
 dnl -g and -O flags ourselves below
 CFLAGS=${CFLAGS:=}
 AC_PROG_CC
 dnl -g and -O flags ourselves below
 CFLAGS=${CFLAGS:=}
 AC_PROG_CC
+AC_BAKEFILE_PROG_MWCC
 
 dnl is -traditional needed for correct compilations
 dnl   adds -traditional for gcc if needed
 
 dnl is -traditional needed for correct compilations
 dnl   adds -traditional for gcc if needed
@@ -1368,6 +1377,7 @@ dnl
 dnl see CFLAGS line above
 CXXFLAGS=${CXXFLAGS:=}
 AC_PROG_CXX
 dnl see CFLAGS line above
 CXXFLAGS=${CXXFLAGS:=}
 AC_PROG_CXX
+AC_BAKEFILE_PROG_MWCXX
 
 AC_LANG_RESTORE
 
 
 AC_LANG_RESTORE
 
@@ -1740,7 +1750,8 @@ AC_CACHE_CHECK([for va_copy],
             }
             int main()
             {
             }
             int main()
             {
-                return foo("hi", 17);
+                foo("hi", 17);
+                return 0;
             }],
             wx_cv_func_va_copy=yes,
             wx_cv_func_va_copy=no
             }],
             wx_cv_func_va_copy=yes,
             wx_cv_func_va_copy=no
@@ -1801,6 +1812,11 @@ if test "x$wx_largefile" = "xyes"; then
     else
         WX_LARGEFILE_FLAGS="-D_LARGE_FILES"
     fi
     else
         WX_LARGEFILE_FLAGS="-D_LARGE_FILES"
     fi
+    dnl AC_FUNC_FSEEKO sets HAVE_FSEEKO and $ac_cv_sys_largefile_source
+    AC_FUNC_FSEEKO
+    if test "$ac_cv_sys_largefile_source" != no; then
+        WX_LARGEFILE_FLAGS="$WX_LARGEFILE_FLAGS -D_LARGEFILE_SOURCE=$ac_cv_sys_largefile_source"
+    fi
     CPPFLAGS="$CPPFLAGS $WX_LARGEFILE_FLAGS"
 fi
 
     CPPFLAGS="$CPPFLAGS $WX_LARGEFILE_FLAGS"
 fi
 
@@ -2369,7 +2385,6 @@ dnl Check for libmspack
 dnl ------------------------------------------------------------------------
 
 if test "$wxUSE_LIBMSPACK" != "no"; then
 dnl ------------------------------------------------------------------------
 
 if test "$wxUSE_LIBMSPACK" != "no"; then
-    
     AC_CHECK_HEADER([mspack.h], [found_mspack_h=1])
     if test "x$found_mspack_h" = "x1"; then
         AC_CHECK_LIB(mspack, mspack_create_chm_decompressor,
     AC_CHECK_HEADER([mspack.h], [found_mspack_h=1])
     if test "x$found_mspack_h" = "x1"; then
         AC_CHECK_LIB(mspack, mspack_create_chm_decompressor,
@@ -2377,11 +2392,13 @@ if test "$wxUSE_LIBMSPACK" != "no"; then
     fi
     if test "x$MSPACK_LINK" = "x" ; then
         wxUSE_LIBMSPACK=no
     fi
     if test "x$MSPACK_LINK" = "x" ; then
         wxUSE_LIBMSPACK=no
-    else
-        AC_DEFINE(wxUSE_LIBMSPACK)
     fi
 fi
 
     fi
 fi
 
+if test "$wxUSE_LIBMSPACK" != "no"; then
+    AC_DEFINE(wxUSE_LIBMSPACK)
+fi
+
 
 dnl ----------------------------------------------------------------
 dnl search for toolkit (widget sets)
 
 dnl ----------------------------------------------------------------
 dnl search for toolkit (widget sets)
@@ -2767,6 +2784,7 @@ equivalent variable and GTK+ is version 1.2.3 or above.
                 )
                 PKG_CHECK_MODULES(PANGOXFT, pangoxft,
                     [
                 )
                 PKG_CHECK_MODULES(PANGOXFT, pangoxft,
                     [
+                        AC_DEFINE(HAVE_PANGO_XFT)
                         CXXFLAGS="$CXXFLAGS $PANGOXFT_CFLAGS"
                         GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS"
                     ],
                         CXXFLAGS="$CXXFLAGS $PANGOXFT_CFLAGS"
                         GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS"
                     ],
@@ -3200,10 +3218,12 @@ dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl DirectDraw  / Multimon for MSW
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl DirectDraw  / Multimon for MSW
 dnl ---------------------------------------------------------------------------
-        AC_CHECK_HEADERS([multimon.h ddraw.h], [], [
-            wxUSE_DISPLAY="no"
-            AC_MSG_WARN([ddraw.h or multimon.h not found; disabling wxDisplay])
-          ] )
+        AC_CHECK_HEADERS([multimon.h ddraw.h], [],
+            [
+                wxUSE_DISPLAY="no"
+                AC_MSG_WARN([ddraw.h or multimon.h not found; disabling wxDisplay])
+            ],
+            [#include <windows.h>])
     fi
 fi
 
     fi
 fi
 
@@ -3217,17 +3237,19 @@ dnl ---------------------------------------------------------------------------
 dnl DirectShow MSW
 dnl ---------------------------------------------------------------------------
         wxUSE_DIRECTSHOW="yes"
 dnl DirectShow MSW
 dnl ---------------------------------------------------------------------------
         wxUSE_DIRECTSHOW="yes"
-        AC_CHECK_HEADERS([dshow.h], [], [
-            wxUSE_DIRECTSHOW="no"
-            AC_MSG_WARN([DirectShow not installed; consider installing the DirectX7 SDK or higher])
-          ] )
+        AC_CHECK_HEADERS([dshow.h], [],
+            [
+                wxUSE_DIRECTSHOW="no"
+                AC_MSG_WARN([DirectShow not installed; consider installing the DirectX7 SDK or higher])
+            ],
+            [#include <windows.h>])
 
        if test "$wxUSE_DIRECTSHOW" = "yes"; then
 
        if test "$wxUSE_DIRECTSHOW" = "yes"; then
-          AC_DEFINE(wxUSE_DIRECTSHOW)
-           LIBS="$LIBS -lstrmiids"          
+            AC_DEFINE(wxUSE_DIRECTSHOW)
+            LIBS="$LIBS -lstrmiids"
        fi
     fi
        fi
     fi
-    
+
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer"
     AC_DEFINE(wxUSE_MEDIACTRL)
 fi
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer"
     AC_DEFINE(wxUSE_MEDIACTRL)
 fi
@@ -3673,7 +3695,27 @@ if test "$ac_cv_func_vsnprintf" = "yes"; then
                     vsnprintf(buf, 10u, "%s", ap);
                 ],
                 wx_cv_func_vsnprintf_decl=yes,
                     vsnprintf(buf, 10u, "%s", ap);
                 ],
                 wx_cv_func_vsnprintf_decl=yes,
-                wx_cv_func_vsnprintf_decl=no
+                [
+                    dnl Metrowerks does provide a vsnprintf declaration
+                    dnl but in C++ mode it's always in std namespace.
+                    dnl FIXME: Do we have any UNIX C++ compilers that would
+                    dnl fail this test if using namespace std; was
+                    dnl simply always included?
+                    AC_TRY_COMPILE(
+                        [
+                            #include <stdio.h>
+                            #include <stdarg.h>
+                            using namespace std;
+                        ],
+                        [
+                            char *buf;
+                            va_list ap;
+                            vsnprintf(buf, 10u, "%s", ap);
+                        ],
+                        wx_cv_func_vsnprintf_decl=yes,
+                        wx_cv_func_vsnprintf_decl=no
+                    )
+                ]
             )
         ]
     )
             )
         ]
     )
@@ -3747,6 +3789,53 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
     fi
 fi
 
     fi
 fi
 
+dnl backtrace() and backtrace_symbols() for wxStackWalker
+if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+
+    AC_CACHE_CHECK([for backtrace() in <execinfo.h>], wx_cv_func_backtrace,
+        [
+            AC_TRY_COMPILE([#include <execinfo.h>],
+                [
+                    void *trace[1];
+                    char **messages;
+
+                    backtrace(trace, 1);
+                    messages = backtrace_symbols(trace, 1);
+                ],
+                wx_cv_func_backtrace=yes,
+                wx_cv_func_backtrace=no
+            )
+        ]
+    )
+
+
+    if test "$wx_cv_func_backtrace" = "no"; then
+        AC_MSG_WARN([backtrace() is not available, wxStackWalker will not be available])
+        wxUSE_STACKWALKER=no
+    else
+        AC_CACHE_CHECK([for __cxa_demangle() in <cxxabi.h>], wx_cv_func_cxa_demangle,
+            [
+                AC_TRY_COMPILE([#include <cxxabi.h>],
+                    [
+                        int rc;
+                        __cxxabiv1::__cxa_demangle("foo", 0, 0, &rc);
+                    ],
+                    wx_cv_func_cxa_demangle=yes,
+                    wx_cv_func_cxa_demangle=no
+                )
+            ]
+        )
+
+        if test "$wx_cv_func_cxa_demangle" = "yes"; then
+            AC_DEFINE(HAVE_CXA_DEMANGLE)
+        fi
+    fi
+
+    AC_LANG_RESTORE
+fi
+
 dnl check for the function for temp files creation
 AC_CHECK_FUNCS(mkstemp mktemp, break)
 
 dnl check for the function for temp files creation
 AC_CHECK_FUNCS(mkstemp mktemp, break)
 
@@ -4163,10 +4252,6 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
                 if test "x$GCC" != "xyes"; then
                     dnl see http://docs.hp.com/hpux/onlinedocs/2213/threads.htm
                     flag="$flag -D_RWSTD_MULTI_THREAD"
                 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*)
                 fi
                 ;;
             *solaris* | alpha*-osf*)
@@ -4489,21 +4574,19 @@ dnl the library may be built without GUI classes at all
 dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_GUI" = "yes"; then
 dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_GUI" = "yes"; then
-  AC_DEFINE(wxUSE_GUI)
-
-  dnl the things we always pull in the GUI version of the library:
-  dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the
-  dnl    library really can't be built without those)
-  dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in
-  dnl    almost any program and the first 2 are needed to show a message box
-  dnl    which want to be always able to do)
-  dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice
-  dnl    to compile without them (if the app doesn't do any drawing, it doesn't
-  dnl    need the dcs, pens, brushes, ...), this just can't be done now
-  dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
-  dnl 5. misc stuff: timers, settings, message box
-else
-  AC_DEFINE(wxUSE_NOGUI)
+    AC_DEFINE(wxUSE_GUI)
+
+    dnl the things we always pull in the GUI version of the library:
+    dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the
+    dnl    library really can't be built without those)
+    dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in
+    dnl    almost any program and the first 2 are needed to show a message box
+    dnl    which want to be always able to do)
+    dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice
+    dnl    to compile without them (if the app doesn't do any drawing, it doesn't
+    dnl    need the dcs, pens, brushes, ...), this just can't be done now
+    dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
+    dnl 5. misc stuff: timers, settings, message box
 fi
 
 dnl ---------------------------------------------------------------------------
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -4662,7 +4745,7 @@ if test "$WXGTK20" = 1; then
                 PKG_CHECK_MODULES(LIBGNOMEPRINTUI, 
                                   [libgnomeprintui-2.2 >= 2.8],
                     [
                 PKG_CHECK_MODULES(LIBGNOMEPRINTUI, 
                                   [libgnomeprintui-2.2 >= 2.8],
                     [
-                        EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS"
+dnl                     EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS"
                         CXXFLAGS="$CXXFLAGS $LIBGNOMEPRINTUI_CFLAGS"
                         AC_DEFINE(wxUSE_LIBGNOMEPRINT)
                     ],
                         CXXFLAGS="$CXXFLAGS $LIBGNOMEPRINTUI_CFLAGS"
                         AC_DEFINE(wxUSE_LIBGNOMEPRINT)
                     ],
@@ -4712,6 +4795,10 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
   AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION)
 fi
 
   AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION)
 fi
 
+if test "$wxUSE_STACKWALKER" = "yes"; then
+    AC_DEFINE(wxUSE_STACKWALKER)
+fi
+
 if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
   AC_DEFINE(wxUSE_SNGLINST_CHECKER)
 fi
 if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
   AC_DEFINE(wxUSE_SNGLINST_CHECKER)
 fi
@@ -4741,6 +4828,7 @@ if test "$wxUSE_CONFIG" = "yes" ; then
     AC_MSG_WARN(wxConfig requires wxTextFile... disabled)
   else
     AC_DEFINE(wxUSE_CONFIG)
     AC_MSG_WARN(wxConfig requires wxTextFile... disabled)
   else
     AC_DEFINE(wxUSE_CONFIG)
+    AC_DEFINE(wxUSE_CONFIG_NATIVE)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
   fi
 fi
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
   fi
 fi
@@ -5032,6 +5120,67 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
         else
             AC_DEFINE_UNQUOTED(SOCKLEN_T, $wx_cv_type_getsockname3)
         fi
         else
             AC_DEFINE_UNQUOTED(SOCKLEN_T, $wx_cv_type_getsockname3)
         fi
+        dnl Do this again for getsockopt as it may be different
+        AC_CACHE_CHECK([what is the type of the fifth argument of getsockopt],
+                       wx_cv_type_getsockopt5,
+            [
+                AC_TRY_COMPILE(
+                    [
+                        #include <sys/types.h>
+                        #include <sys/socket.h>
+                    ],
+                    [
+                        socklen_t len;
+                        getsockopt(0, 0, 0, 0, &len);
+                    ],
+                    wx_cv_type_getsockopt5=socklen_t,
+                    [
+                        dnl the compiler will compile the version with size_t
+                        dnl even if the real type of the last parameter is int
+                        dnl but it should give at least a warning about
+                        dnl converting between incompatible pointer types, so
+                        dnl try to use it to get the correct behaviour at
+                        dnl least with gcc (otherwise we'd always use size_t)
+                        CFLAGS_OLD="$CFLAGS"
+                        if test "$GCC" = yes ; then
+                            CFLAGS="$CFLAGS -Werror"
+                        fi
+
+                        AC_TRY_COMPILE(
+                            [
+                                #include <sys/types.h>
+                                #include <sys/socket.h>
+                            ],
+                            [
+                                size_t len;
+                                getsockopt(0, 0, 0, 0, &len);
+                            ],
+                            wx_cv_type_getsockopt5=size_t,
+                            AC_TRY_COMPILE(
+                                [
+                                    #include <sys/types.h>
+                                    #include <sys/socket.h>
+                                ],
+                                [
+                                    int len;
+                                    getsockopt(0, 0, 0, 0, &len);
+                                ],
+                                wx_cv_type_getsockopt5=int,
+                                wx_cv_type_getsockopt5=unknown
+                            )
+                        )
+
+                        CFLAGS="$CFLAGS_OLD"
+                    ]
+                )
+            ])
+
+        if test "$wx_cv_type_getsockopt5" = "unknown"; then
+            wxUSE_SOCKETS=no
+            AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
+        else
+            AC_DEFINE_UNQUOTED(SOCKOPTLEN_T, $wx_cv_type_getsockopt5)
+        fi
         AC_LANG_POP
     fi
 fi
         AC_LANG_POP
     fi
 fi
@@ -5387,6 +5536,11 @@ if test "$wxUSE_CHECKLST" = "yes"; then
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
 fi
 
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
 fi
 
+if test "$wxUSE_DATEPICKCTRL" = "yes"; then
+  AC_DEFINE(wxUSE_DATEPICKCTRL)
+  USES_CONTROLS=1
+fi
+
 if test "$wxUSE_DISPLAY" = "yes"; then
     AC_DEFINE(wxUSE_DISPLAY)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display"
 if test "$wxUSE_DISPLAY" = "yes"; then
     AC_DEFINE(wxUSE_DISPLAY)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display"
@@ -5501,6 +5655,8 @@ if test "$wxUSE_STATLINE" = "yes"; then
 fi
 
 if test "$wxUSE_STATUSBAR" = "yes"; then
 fi
 
 if test "$wxUSE_STATUSBAR" = "yes"; then
+    dnl this will get undefined in wx/chkconf.h if it's not supported
+    AC_DEFINE(wxUSE_NATIVE_STATUSBAR)
     AC_DEFINE(wxUSE_STATUSBAR)
     USES_CONTROLS=1
 
     AC_DEFINE(wxUSE_STATUSBAR)
     USES_CONTROLS=1
 
@@ -5982,7 +6138,8 @@ INCLUDES="-I\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \
 dnl C/C++ compiler options used to compile wxWidgets
 if test "$GXX" = yes ; then
     dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
 dnl C/C++ compiler options used to compile wxWidgets
 if test "$GXX" = yes ; then
     dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
-    CXXWARNINGS="-Wall"
+    CWARNINGS="-Wall" 
+    CXXWARNINGS="$CWARNINGS -Wno-ctor-dtor-privacy" 
     dnl should enable this one day...
     dnl CXXWARNINGS="-Wall -Werror"
 fi
     dnl should enable this one day...
     dnl CXXWARNINGS="-Wall -Werror"
 fi
@@ -5991,9 +6148,24 @@ EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE"
 
 dnl remove the extra white space from the cc/c++/ld options
 CPPFLAGS=`echo $WXDEBUG_DEFINE $INCLUDES $CPPFLAGS`
 
 dnl remove the extra white space from the cc/c++/ld options
 CPPFLAGS=`echo $WXDEBUG_DEFINE $INCLUDES $CPPFLAGS`
-CFLAGS=`echo $CODE_GEN_FLAGS $EXTRA_CFLAGS $CFLAGS $CXXWARNINGS`
+CFLAGS=`echo $CODE_GEN_FLAGS $EXTRA_CFLAGS $CFLAGS $CWARNINGS`
 CXXFLAGS=`echo $CODE_GEN_FLAGS $CODE_GEN_FLAGS_CXX $EXTRA_CFLAGS $CXXFLAGS $CXXWARNINGS`
     
 CXXFLAGS=`echo $CODE_GEN_FLAGS $CODE_GEN_FLAGS_CXX $EXTRA_CFLAGS $CXXFLAGS $CXXWARNINGS`
     
+if test "x$MWCC" = "xyes"; then
+    dnl Correct MW 8.3 to be more similar to GCC.  In particular we
+    dnl must use <regex.h> from system not our local copy on OS X,
+    dnl but must use local not system on OS 9.
+    dnl The following should make all -I paths usable for <> includes
+    dnl while first checking in real system paths.  With 8.3 using
+    dnl -gccincludes it will actually check local paths before system
+    dnl even for <> which is totally wrong.
+
+    dnl Note that because this absolutely needs to be before any -I
+    dnl that we have to tack it on to the end of the compiler commandline.
+    CC="$CC -cwd source -I-"
+    CXX="$CXX -cwd source -I-"
+fi
+
 
 LIBS=`echo $LIBS`
 EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS"
 
 LIBS=`echo $LIBS`
 EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS"
@@ -6144,6 +6316,17 @@ if test "$wxUSE_SHARED" = "yes"; then
     sanitised_bakefile_mess=`echo "$SHARED_LD_CXX" | tr -d '()'`
     EXE_LINKER=`eval echo "$sanitised_bakefile_mess"`
 
     sanitised_bakefile_mess=`echo "$SHARED_LD_CXX" | tr -d '()'`
     EXE_LINKER=`eval echo "$sanitised_bakefile_mess"`
 
+    dnl Need addtional flag on OS/2, so override bakefiles value
+    dnl (there currently is no suitable variable to which the
+    dnl  missing flags could be added, AFAICS. SN, 18.12.2004. )
+    case "${host}" in
+      *-pc-os2_emx | *-pc-os2-emx )
+        SHARED_LD_CC="`pwd`/dllar.sh -name-mangler-script ./dllnames.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
+        SHARED_LD_CXX="`pwd`/dllar.sh -name-mangler-script ./dllnames.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
+       cp -p ${srcdir}/src/os2/dllnames.sh .
+       cp -p ${srcdir}/src/os2/dllar.sh .
+      ;;
+    esac
 else
 
     dnl No bakefile support for static builds, but this should be ok for most.
 else
 
     dnl No bakefile support for static builds, but this should be ok for most.
@@ -6151,10 +6334,14 @@ else
 
 fi
 
 
 fi
 
+dnl According to Vaclav, if NO_GCC_PRAGMA is used for any reason it needs to
+dnl be in wx-config output.  Not doing so could result in link problems.
 GCC_PRAGMA_FLAGS=""
 GCC_PRAGMA_FLAGS=""
+PCH_FLAGS=""
 dnl Find out if we have to define NO_GCC_PRAGMA and WX_PRECOMP:
 if test $GCC_PCH = 1 ; then
 dnl Find out if we have to define NO_GCC_PRAGMA and WX_PRECOMP:
 if test $GCC_PCH = 1 ; then
-    GCC_PRAGMA_FLAGS="-DWX_PRECOMP -DNO_GCC_PRAGMA"
+    GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
+    PCH_FLAGS="-DWX_PRECOMP"
 else
     case "${host}" in
         powerpc-*-darwin* )
 else
     case "${host}" in
         powerpc-*-darwin* )
@@ -6162,8 +6349,8 @@ else
             dnl pragmas:
             GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
             ;;
             dnl pragmas:
             GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
             ;;
-        *-*-mingw32* | *-pc-os2_emx | *-pc-os2-emx )
-            dnl MinGW and Innotek's GCC versions >= 3.2 have problems with
+        *-*-mingw32* )
+            dnl MinGW GCC versions >= 3.2 have problems with
             dnl static member of classes derived from templates
             dnl in combination with #pragma interface/implementation
             dnl (the test case uses 4 files)
             dnl static member of classes derived from templates
             dnl in combination with #pragma interface/implementation
             dnl (the test case uses 4 files)
@@ -6172,7 +6359,23 @@ else
             if test "$wxUSE_STL" = "yes" -o \
                     "$wxUSE_NO_EXCEPTIONS" != "yes" -o \
                     "$wxUSE_NO_RTTI" != "yes"; then
             if test "$wxUSE_STL" = "yes" -o \
                     "$wxUSE_NO_EXCEPTIONS" != "yes" -o \
                     "$wxUSE_NO_RTTI" != "yes"; then
-               AC_MSG_CHECKING([if this compiler version needs -DNO_GCC_PRAGMA])
+               AC_MSG_CHECKING([if this MinGW version needs -DNO_GCC_PRAGMA])
+               AC_TRY_COMPILE([],
+                              [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
+                               #error "Not GCC 3.2 or greater"
+                               #endif
+                               ],
+                              [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
+                               AC_MSG_RESULT([yes])],
+                              [AC_MSG_RESULT([no])])
+            fi
+            ;;
+       *-pc-os2_emx | *-pc-os2-emx )
+            dnl GCC versions ported to OS/2 have similar problems with
+            dnl static member of classes in combination with STL and
+            dnl pragma interface/implementation
+            if test "$wxUSE_STL" = "yes"; then
+               AC_MSG_CHECKING([if this gcc version needs -DNO_GCC_PRAGMA])
                AC_TRY_COMPILE([],
                               [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
                                #error "Not GCC 3.2 or greater"
                AC_TRY_COMPILE([],
                               [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
                                #error "Not GCC 3.2 or greater"
@@ -6185,7 +6388,7 @@ else
             ;;
     esac
 fi
             ;;
     esac
 fi
-CPPFLAGS="$GCC_PRAGMA_FLAGS $CPPFLAGS"
+CPPFLAGS="$PCH_FLAGS $GCC_PRAGMA_FLAGS $CPPFLAGS"
 
 
 dnl for convenience, sort the samples in alphabetical order
 
 
 dnl for convenience, sort the samples in alphabetical order
@@ -6391,7 +6594,7 @@ echo "                                       odbc               ${wxUSE_ODBC}"
 echo "                                       expat              ${wxUSE_EXPAT}"
 echo "                                       libmspack          ${wxUSE_LIBMSPACK}"
 echo "                                       sdl                ${wxUSE_LIBSDL}"
 echo "                                       expat              ${wxUSE_EXPAT}"
 echo "                                       libmspack          ${wxUSE_LIBMSPACK}"
 echo "                                       sdl                ${wxUSE_LIBSDL}"
-echo "                                       gnomeprint         ${wxUSE_LIBGNOMEPRINT}"
+echo "                                       gnomeprint         ${wxUSE_LIBGNOMEPRINT-none}"
 
 echo ""
 
 
 echo ""