]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
linking fix (removed unused virtual methods declarations)
[wxWidgets.git] / configure.in
index 47ed6316fee1f3b249035d797d0be054ca9a2b27..a8b6fc907bd51076ad507e00de3287ed5747ddcb 100644 (file)
@@ -17,7 +17,7 @@ dnl ---------------------------------------------------------------------------
 dnl initialization
 dnl ---------------------------------------------------------------------------
 
-AC_INIT([wxWindows], [2.5.0], [wx-dev@lists.wxwindows.org])
+AC_INIT([wxWindows], [2.5.1], [wx-dev@lists.wxwindows.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=0
+WX_RELEASE_NUMBER=1
 
 WX_VERSION=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER.$WX_RELEASE_NUMBER
 WX_RELEASE=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER
@@ -73,6 +73,7 @@ dnl ------------------------------------------------------------------------
 
 dnl OS (assume Unix)
 USE_UNIX=1
+USE_OS2=0
 USE_WIN32=0
 USE_DOS=0
 USE_BEOS=0
@@ -288,12 +289,34 @@ case "${host}" in
 
   *-pc-os2_emx | *-pc-os2-emx )
     AC_DEFINE(__EMX__)
+    USE_OS2=1
     PROGRAM_EXT=".exe"
     DEFAULT_DEFAULT_wxUSE_PM=1
     dnl "c++" wrapper is not always available, so always use plain gcc.
     CXX=gcc
-    dnl Explicitly link -lstdcpp, since we are using "gcc" not "g++"/"c++".
-    LIBS="$LIBS -lstdcpp"
+    LDFLAGS="$LDFLAGS -Zcrtdll -Zsysv-signals"
+    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.
+    dnl For now however, we still need it to make sure the configure script
+    dnl works on OS/2 no matter what platform it is generated on.
+    ac_executable_extensions=".exe"
+    export ac_executable_extensions
+    dnl This strange code is necessary to deal with handling of
+    dnl backslashes by ksh and pdksh's sh variant.
+    ac_save_IFS="$IFS"
+    IFS='\\'
+    ac_TEMP_PATH=
+    for ac_dir in $PATH; do
+      IFS=$ac_save_IFS
+      if test -z "$ac_TEMP_PATH"; then
+        ac_TEMP_PATH="$ac_dir"
+      else
+        ac_TEMP_PATH="$ac_TEMP_PATH/$ac_dir"
+      fi
+    done
+    export PATH="$ac_TEMP_PATH"
+    unset ac_TEMP_PATH
   ;;
 
   powerpc-*-darwin* )
@@ -356,6 +379,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_DMALLOC=no
   DEFAULT_wxUSE_APPLE_IEEE=no
 
+  DEFAULT_wxUSE_EXCEPTIONS=no
   DEFAULT_wxUSE_LOG=yes
   DEFAULT_wxUSE_LOGWINDOW=no
   DEFAULT_wxUSE_LOGGUI=no
@@ -468,6 +492,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_GRID=no
   DEFAULT_wxUSE_IMAGLIST=no
+  DEFAULT_wxUSE_LISTBOOK=no
   DEFAULT_wxUSE_LISTBOX=no
   DEFAULT_wxUSE_LISTCTRL=no
   DEFAULT_wxUSE_NOTEBOOK=no
@@ -533,6 +558,7 @@ else
   DEFAULT_wxUSE_DMALLOC=no
   DEFAULT_wxUSE_APPLE_IEEE=yes
 
+  DEFAULT_wxUSE_EXCEPTIONS=yes
   DEFAULT_wxUSE_LOG=yes
   DEFAULT_wxUSE_LOGWINDOW=yes
   DEFAULT_wxUSE_LOGGUI=yes
@@ -644,6 +670,7 @@ else
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
   DEFAULT_wxUSE_IMAGLIST=yes
+  DEFAULT_wxUSE_LISTBOOK=yes
   DEFAULT_wxUSE_LISTBOX=yes
   DEFAULT_wxUSE_LISTCTRL=yes
   DEFAULT_wxUSE_NOTEBOOK=yes
@@ -801,45 +828,44 @@ WX_ARG_ENABLE(ftp,           [  --enable-ftp            use wxFTP (requires wxPr
 WX_ARG_ENABLE(http,          [  --enable-http           use wxHTTP (requires wxProtocol], wxUSE_PROTOCOL_HTTP)
 WX_ARG_ENABLE(fileproto,     [  --enable-fileproto      use wxFileProto class (requires wxProtocol], wxUSE_PROTOCOL_FILE)
 WX_ARG_ENABLE(sockets,       [  --enable-sockets        use socket/network classes], wxUSE_SOCKETS)
-WX_ARG_ENABLE(ole,           [  --enable-ole            use OLE classes], wxUSE_OLE)
+WX_ARG_ENABLE(ole,           [  --enable-ole            use OLE classes (Win32 only)], wxUSE_OLE)
 WX_ARG_ENABLE(dataobj,       [  --enable-dataobj        use data object classes], wxUSE_DATAOBJ)
 
 WX_ARG_ENABLE(ipc,           [  --enable-ipc            use interprocess communication (wxSocket etc.)], wxUSE_IPC)
 
+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(cmdline,       [  --enable-cmdline        use wxCmdLineParser class], wxUSE_CMDLINE_PARSER)
 WX_ARG_ENABLE(datetime,      [  --enable-datetime       use wxDateTime class], wxUSE_DATETIME)
-WX_ARG_ENABLE(stopwatch,     [  --enable-stopwatch      use wxStopWatch class], wxUSE_STOPWATCH)
 WX_ARG_ENABLE(dialupman,     [  --enable-dialupman      use dialup network classes], wxUSE_DIALUP_MANAGER)
-WX_ARG_ENABLE(apple_ieee,    [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
-WX_ARG_ENABLE(timer,         [  --enable-timer          use wxTimer class], wxUSE_TIMER)
-WX_ARG_ENABLE(wave,          [  --enable-wave           use wxWave class], wxUSE_WAVE)
-WX_ARG_ENABLE(fraction,      [  --enable-fraction       use wxFraction class], wxUSE_FRACTION)
 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)
-WX_ARG_ENABLE(longlong,      [  --enable-longlong       use wxLongLong class], wxUSE_LONGLONG)
+WX_ARG_ENABLE(exceptions,    [  --enable-exceptions     build exception-safe library], wxUSE_EXCEPTIONS)
+WX_ARG_ENABLE(ffile,         [  --enable-ffile          use wxFFile class], wxUSE_FFILE)
+WX_ARG_ENABLE(file,          [  --enable-file           use wxFile class], wxUSE_FILE)
+WX_ARG_ENABLE(filesystem,    [  --enable-filesystem     use virtual file systems classes], wxUSE_FILESYSTEM)
+WX_ARG_ENABLE(fontmap,       [  --enable-fontmap        use font encodings conversion classes], wxUSE_FONTMAP)
+WX_ARG_ENABLE(fs_inet,       [  --enable-fs_inet        use virtual HTTP/FTP filesystems], wxUSE_FS_INET)
+WX_ARG_ENABLE(fs_zip,        [  --enable-fs_zip         use virtual ZIP filesystems], wxUSE_FS_ZIP)
 WX_ARG_ENABLE(geometry,      [  --enable-geometry       use geometry class], wxUSE_GEOMETRY)
 WX_ARG_ENABLE(log,           [  --enable-log            use logging system], wxUSE_LOG)
+WX_ARG_ENABLE(longlong,      [  --enable-longlong       use wxLongLong class], wxUSE_LONGLONG)
+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(file,          [  --enable-file           use wxFile classes], wxUSE_FILE)
-WX_ARG_ENABLE(ffile,         [  --enable-ffile          use wxFFile classes], wxUSE_FFILE)
+WX_ARG_ENABLE(std_iostreams, [  --enable-std_iostreams  use standard C++ stream classes], wxUSE_STD_IOSTREAM)
+WX_ARG_ENABLE(stopwatch,     [  --enable-stopwatch      use wxStopWatch class], wxUSE_STOPWATCH)
+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)
-WX_ARG_ENABLE(fontmap,       [  --enable-fontmap        use font encodings conversion classes], wxUSE_FONTMAP)
+WX_ARG_ENABLE(timer,         [  --enable-timer          use wxTimer class], wxUSE_TIMER)
 WX_ARG_ENABLE(unicode,       [  --enable-unicode        compile wxString with Unicode support], wxUSE_UNICODE)
-WX_ARG_ENABLE(mslu,          [  --enable-mslu           use MS Layer for Unicode on Windows 9x (win32 only)], wxUSE_UNICODE_MSLU)
+WX_ARG_ENABLE(wave,          [  --enable-wave           use wxWave class], wxUSE_WAVE)
 WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
-WX_ARG_ENABLE(std_iostreams, [  --enable-std_iostreams  use standard C++ stream classes], wxUSE_STD_IOSTREAM)
-WX_ARG_ENABLE(filesystem,    [  --enable-filesystem     use virtual file systems classes], wxUSE_FILESYSTEM)
-WX_ARG_ENABLE(fs_inet,       [  --enable-fs_inet        use virtual HTTP/FTP filesystems], wxUSE_FS_INET)
-WX_ARG_ENABLE(fs_zip,        [  --enable-fs_zip         use virtual ZIP filesystems], wxUSE_FS_ZIP)
 WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZipInputStream], wxUSE_ZIPSTREAM)
 
-WX_ARG_ENABLE(catch_segvs,   [  --enable-catch_segvs    catch signals and pass them to wxApp::OnFatalException], wxUSE_ON_FATAL_EXCEPTION)
-WX_ARG_ENABLE(snglinst,      [  --enable-snglinst       use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER)
-
-WX_ARG_ENABLE(mimetype,      [  --enable-mimetype       use wxMimeTypesManager], wxUSE_MIMETYPE)
-WX_ARG_ENABLE(system_options,[  --enable-sysoptions     use wxSystemOptions], wxUSE_SYSTEM_OPTIONS)
-
 WX_ARG_ENABLE(url,           [  --enable-url            use wxURL class], wxUSE_URL)
 WX_ARG_ENABLE(protocol,      [  --enable-protocol       use wxProtocol class], wxUSE_PROTOCOL)
 WX_ARG_ENABLE(protocol_http, [  --enable-protocol-http  HTTP support in wxProtocol], wxUSE_PROTOCOL_HTTP)
@@ -919,6 +945,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
   DEFAULT_wxUSE_IMAGLIST=yes
+  DEFAULT_wxUSE_LISTBOOK=yes
   DEFAULT_wxUSE_LISTBOX=yes
   DEFAULT_wxUSE_LISTCTRL=yes
   DEFAULT_wxUSE_NOTEBOOK=yes
@@ -956,6 +983,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_GRID=no
   DEFAULT_wxUSE_IMAGLIST=no
+  DEFAULT_wxUSE_LISTBOOK=no
   DEFAULT_wxUSE_LISTBOX=no
   DEFAULT_wxUSE_LISTCTRL=no
   DEFAULT_wxUSE_NOTEBOOK=no
@@ -1007,6 +1035,7 @@ WX_ARG_ENABLE(display,     [  --enable-display        use wxDisplay class], wxUS
 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(imaglist,    [  --enable-imaglist       use wxImageList class], wxUSE_IMAGLIST)
+WX_ARG_ENABLE(listbook,    [  --enable-listbook       use wxListbook class], wxUSE_LISTBOOK)
 WX_ARG_ENABLE(listbox,     [  --enable-listbox        use wxListBox class], wxUSE_LISTBOX)
 WX_ARG_ENABLE(listctrl,    [  --enable-listctrl       use wxListCtrl class], wxUSE_LISTCTRL)
 WX_ARG_ENABLE(notebook,    [  --enable-notebook       use wxNotebook class], wxUSE_NOTEBOOK)
@@ -1421,6 +1450,8 @@ AC_PROG_LN_S
 dnl ---------------------------------------------------------------------------
 dnl When we are using gcc on OS/2, we want to be either using resources (PM)
 dnl or a more complete POSIX emulation for Motif/GTK+/X11
+dnl Moreover we need to link explicitly against either stdcpp.a or stdcxx.a
+dnl (depending on compiler version), since we are using "gcc", not "g++/c++".
 dnl ---------------------------------------------------------------------------
 dnl (OS/2-only piece)
 case "${host}" in
@@ -1433,6 +1464,26 @@ 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_TRY_COMPILE([#include <features.h>],
+              [
+                  #if (__GNUC__ < 3)
+                      #error old gcc
+                  #endif
+              ],
+              [
+                  wx_cv_gcc3=yes
+              ],
+              [
+                  wx_cv_gcc3=no
+              ]
+          )
+      ])
+      if test "$wx_cv_gcc3" = "no"; then
+          LIBS="$LIBS -lstdcpp"
+      else
+          LIBS="$LIBS -lstdcxx"
+      fi
   ;;
 esac
 dnl (end of OS/2-only piece)
@@ -1498,7 +1549,7 @@ case "${host}" in
 esac
 
 if test "$wxUSE_GUI" = "yes"; then
-    if test "$wxUSE_UNIX" = "yes"; then
+    if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_PM" != 1; then
         dnl defines HAVE_X11_XKBLIB_H
         AC_CHECK_HEADERS(X11/Xlib.h)
         AC_CHECK_HEADERS([X11/XKBlib.h], [], [], 
@@ -2074,10 +2125,12 @@ if test "$wxUSE_LIBTIFF" != "no" ; then
             TIFF_PREREQ_LINKS="$TIFF_PREREQ_LINKS $ZLIB_LINK"
         fi
         AC_CHECK_HEADER(tiffio.h,
-                        AC_CHECK_LIB(tiff, TIFFError,
-                                     TIFF_LINK=" -ltiff",
-                                     ,
-                                     $TIFF_PREREQ_LINKS)
+                        [
+                            AC_CHECK_LIB(tiff, TIFFError,
+                                         TIFF_LINK=" -ltiff",
+                                         ,
+                                         $TIFF_PREREQ_LINKS)
+                        ]
                        )
 
         if test "x$TIFF_LINK" = "x" ; then
@@ -2335,13 +2388,16 @@ equivalent variable and GTK+ is version 1.2.3 or above.
 
         AC_MSG_CHECKING(for libmgl location)
         dnl Find MGL library that we want
-        dnl FIXME_MGL - test for MGL variants for freebsd etc.
+        dnl FIXME_MGL - test for MGL variants for freebsd etc.;
+        dnl             and for non-x86 versions
         case "${host}" in
             *-*-linux* )
+              dnl glibc.so, glibc are for older versions of MGL,
+              dnl x86/a, x86/so are used by >= 5.0 R11
               if test "x$wxUSE_SHARED" = xyes ; then
-                  mgl_os_candidates="linux/gcc/glibc.so linux/gcc/glibc"
+                  mgl_os_candidates="linux/gcc/x86/so linux/gcc/x86/a linux/gcc/glibc.so linux/gcc/glibc"
               else
-                  mgl_os_candidates="linux/gcc/glibc linux/gcc/glibc.so"
+                  mgl_os_candidates="linux/gcc/x86/a linux/gcc/x86/so linux/gcc/glibc linux/gcc/glibc.so"
               fi
               ;;
             *-pc-msdosdjgpp )
@@ -2760,8 +2816,6 @@ equivalent variable and GTK+ is version 1.2.3 or above.
     if test "$wxUSE_PM" = 1; then
         TOOLKIT=PM
         GUIDIST=GTK_DIST
-        AC_MSG_WARN([OS/2 threads are not yet supported... disabled])
-        wxUSE_THREADS="no"
     fi
 
     dnl the name of the directory where the files for this toolkit live
@@ -2871,11 +2925,11 @@ if test "$TOOLKIT" != "MSW" ; then
 
         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(iodbc, SQLAllocEnv, ODBC_LINK=" -liodbc",
             [
-                AC_CHECK_LIB(SQLAllocEnv, unixodbc, ODBC_LINK=" -lunixodbc",
+                AC_CHECK_LIB(unixodbc, SQLAllocEnv, ODBC_LINK=" -lunixodbc",
                 [
-                    AC_CHECK_LIB(SQLAllocEnv, odbc, ODBC_LINK=" -lodbc")
+                    AC_CHECK_LIB(odbc, SQLAllocEnv, ODBC_LINK=" -lodbc")
                 ])
             ])
         fi 
@@ -2893,6 +2947,9 @@ if test "$TOOLKIT" != "MSW" ; then
     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?
@@ -3661,12 +3718,16 @@ AC_CHECK_FUNCS(inet_addr,
     [
         AC_CHECK_LIB(nsl, inet_addr,
             INET_LINK="nsl",
-            AC_CHECK_LIB(resolv, inet_addr,
-                INET_LINK="resolv",
-                AC_CHECK_LIB(socket, inet_addr,
-                    INET_LINK="socket"
+            [
+                AC_CHECK_LIB(resolv, inet_addr,
+                    INET_LINK="resolv",
+                    [
+                        AC_CHECK_LIB(socket, inet_addr,
+                            INET_LINK="socket"
+                        )
+                    ]
                 )
-            )
+            ]
         )
     ]
 )
@@ -3700,6 +3761,19 @@ AC_CHECK_LIB(esd, esd_close, [
 ])
 AC_SUBST(EXTRALIBS_ESD)
 
+dnl check for known CD-ROM interface
+AC_MSG_CHECKING([for known CD-ROM interface])
+AC_TRY_COMPILE([#ifdef __linux__
+                #include <linux/cdrom.h>
+                #else
+                /* For Solaris */
+                #include <sys/cdio.h>
+                #endif
+                ],
+               [struct cdrom_tocentry entry, old_entry;],
+               [AC_MSG_RESULT([yes])
+                AC_DEFINE(HAVE_KNOWN_CDROM_INTERFACE)],
+               [AC_MSG_RESULT([no])])
 
 dnl ===========================================================================
 dnl Now we have all the info we need - use it!
@@ -3709,12 +3783,13 @@ dnl flush the cache
 AC_CACHE_SAVE
 
 dnl ---------------------------------------------------------------------------
-dnl thread support for Unix (for Win32 see past the next matching "else")
+dnl thread support for Unix (for Win32 and OS/2 see past
+dnl                          the next matching "else")
 dnl ---------------------------------------------------------------------------
 
 dnl under MSW (except mingw32) we always have thread support
 CPP_MT_FLAG=
-if test "$TOOLKIT" != "MSW"; then
+if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
 
     dnl the code below:
     dnl
@@ -3941,22 +4016,26 @@ if test "$TOOLKIT" != "MSW"; then
                     AC_DEFINE(HAVE_PTHREAD_CANCEL),
                     AC_MSG_WARN([wxThread::Kill() will not work properly]))
 
-      AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push,
-      [
-        AC_TRY_COMPILE([#include <pthread.h>],
-                     [
-                        pthread_cleanup_push(NULL, NULL);
-                        pthread_cleanup_pop(0);
-                     ], [
-                        wx_cv_func_pthread_cleanup_push=yes
-                     ], [
-                        wx_cv_func_pthread_cleanup_push=no
-                     ])
-      ])
-
-      if test "$wx_cv_func_pthread_cleanup_push" = "yes"; then
-          AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
-      fi
+      dnl we don't use pthread_cleanup_push/pop() any more in the code, but I
+      dnl the code here for now in case we need it again soon; otherwise it
+      dnl should be removed in a couple of months (VZ in Sep 2003)
+      dnl
+      dnl AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push,
+      dnl [
+      dnl   AC_TRY_COMPILE([#include <pthread.h>],
+      dnl                [
+      dnl                   pthread_cleanup_push(NULL, NULL);
+      dnl                   pthread_cleanup_pop(0);
+      dnl                ], [
+      dnl                   wx_cv_func_pthread_cleanup_push=yes
+      dnl                ], [
+      dnl                   wx_cv_func_pthread_cleanup_push=no
+      dnl                ])
+      dnl ])
+      dnl 
+      dnl if test "$wx_cv_func_pthread_cleanup_push" = "yes"; then
+      dnl     AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
+      dnl fi
 
       dnl mutexattr_t initialization is done in quite different ways on different
       dnl platforms, so check for a few things:
@@ -4035,6 +4114,11 @@ else
                 CFLAGS="$CFLAGS_OLD"
             fi
         ;;
+        *-pc-os2*emx )
+            CFLAGS="$CFLAGS -Zmt -D__ST_MT_ERRNO__"
+            CXXFLAGS="$CXXFLAGS -Zmt -D__ST_MT_ERRNO__"
+            LDFLAGS="$LDFLAGS -Zmt"
+        ;;
       esac
     fi
 fi
@@ -4502,15 +4586,17 @@ if test "$wxUSE_SOCKETS" = "yes"; then
     if test "$TOOLKIT" != "MSW"; then
         dnl under Solaris and OS/2, socket functions live in -lsocket
         AC_CHECK_FUNC(socket,,
-            AC_CHECK_LIB(socket, socket,
-                if test "$INET_LINK" != " -lsocket"; then
-                    INET_LINK="$INET_LINK -lsocket"
-                fi,
-                [
-                    AC_MSG_WARN([socket library not found - sockets will be disabled])
-                    wxUSE_SOCKETS=no
-                ]
-            )
+            [
+                AC_CHECK_LIB(socket, socket,
+                    if test "$INET_LINK" != " -lsocket"; then
+                        INET_LINK="$INET_LINK -lsocket"
+                    fi,
+                    [
+                        AC_MSG_WARN([socket library not found - sockets will be disabled])
+                        wxUSE_SOCKETS=no
+                    ]
+                )
+            ]
         )
     fi
 fi
@@ -4663,7 +4749,7 @@ dnl DLL support
 dnl ------------------------------------------------------------------------
 
 dnl under MSW we always have LoadLibrary/GetProcAddress
-if test "$TOOLKIT" != "MSW"; then
+if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
 
     HAVE_DL_FUNCS=0
     HAVE_SHL_FUNCS=0
@@ -4706,8 +4792,11 @@ if test "$TOOLKIT" != "MSW"; then
         dnl check also for dlerror()
         if test "$HAVE_DL_FUNCS" = 1; then
             AC_CHECK_FUNCS(dlerror,
-                           AC_DEFINE(HAVE_DLERROR),
-                           AC_CHECK_LIB(dl, dlerror, AC_DEFINE(HAVE_DLERROR)))
+                AC_DEFINE(HAVE_DLERROR),
+                [
+                    AC_CHECK_LIB(dl, dlerror, AC_DEFINE(HAVE_DLERROR))
+                ]
+            )
         fi
         fi
 
@@ -5014,6 +5103,11 @@ if test "$wxUSE_IMAGLIST" = "yes"; then
     AC_DEFINE(wxUSE_IMAGLIST)
 fi
 
+if test "$wxUSE_LISTBOOK" = "yes"; then
+    AC_DEFINE(wxUSE_LISTBOOK)
+    USES_CONTROLS=1
+fi
+
 if test "$wxUSE_LISTBOX" = "yes"; then
     AC_DEFINE(wxUSE_LISTBOX)
     USES_CONTROLS=1
@@ -5215,19 +5309,26 @@ dnl ---------------------------------------------------------------------------
 dnl misc options
 dnl ---------------------------------------------------------------------------
 
-dnl if test "$wxUSE_TREELAYOUT" = "yes"; then
-dnl     AC_DEFINE(wxUSE_TREELAYOUT)
-dnl     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treelay"
-dnl fi
+dnl please keep the settings below in alphabetical order
+if test "$wxUSE_ACCESSIBILITY" = "yes"; then
+    AC_DEFINE(wxUSE_ACCESSIBILITY)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS access"
+fi
 
 if test "$wxUSE_DRAGIMAGE" = "yes"; then
     AC_DEFINE(wxUSE_DRAGIMAGE)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dragimag"
 fi
 
-if test "$wxUSE_ACCESSIBILITY" = "yes"; then
-    AC_DEFINE(wxUSE_ACCESSIBILITY)
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS access"
+if test "$wxUSE_EXCEPTIONS" = "yes"; then
+    AC_DEFINE(wxUSE_EXCEPTIONS)
+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
 
 if test "$wxUSE_MENUS" = "yes"; then
@@ -5243,27 +5344,20 @@ if test "$wxUSE_MIMETYPE" = "yes"; then
     AC_DEFINE(wxUSE_MIMETYPE)
 fi
 
-if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
-    AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
-if test "$TOOLKIT" = "MSW" -o "$TOOLKIT" = "GTK" -o "$TOOLKIT" = "X11" -o \
-        "$TOOLKIT" = "MOTIF"; then
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar"
-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"
+if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
+    AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
+    if test "$TOOLKIT" = "MSW" -o "$TOOLKIT" = "GTK" -o "$TOOLKIT" = "X11" -o \
+        "$TOOLKIT" = "MOTIF"; then
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar"
+    fi
 fi
 
+
 if test "$wxUSE_VALIDATORS" = "yes"; then
     AC_DEFINE(wxUSE_VALIDATORS)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
@@ -5273,41 +5367,45 @@ if test "$wxUSE_PALETTE" = "yes" ; then
   AC_DEFINE(wxUSE_PALETTE)
 fi
 
-if test "$wxUSE_IMAGE" = "yes" ; then
-  AC_DEFINE(wxUSE_IMAGE)
+if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_MSLU" = "yes" ; then
+  dnl Must be done this late because -lunicows must be before all the other libs
+  LIBS=" -lunicows $LIBS"
 fi
 
-if test "$wxUSE_GIF" = "yes" ; then
-  AC_DEFINE(wxUSE_GIF)
-fi
+dnl ---------------------------------------------------------------------------
+dnl wxImage options
+dnl ---------------------------------------------------------------------------
 
-if test "$wxUSE_PCX" = "yes" ; then
-  AC_DEFINE(wxUSE_PCX)
-fi
+if test "$wxUSE_IMAGE" = "yes" ; then
+    AC_DEFINE(wxUSE_IMAGE)
 
-if test "$wxUSE_IFF" = "yes" ; then
-  AC_DEFINE(wxUSE_IFF)
-fi
+    if test "$wxUSE_GIF" = "yes" ; then
+      AC_DEFINE(wxUSE_GIF)
+    fi
 
-if test "$wxUSE_PNM" = "yes" ; then
-  AC_DEFINE(wxUSE_PNM)
-fi
+    if test "$wxUSE_PCX" = "yes" ; then
+      AC_DEFINE(wxUSE_PCX)
+    fi
 
-if test "$wxUSE_XPM" = "yes" ; then
-  AC_DEFINE(wxUSE_XPM)
-fi
+    if test "$wxUSE_IFF" = "yes" ; then
+      AC_DEFINE(wxUSE_IFF)
+    fi
 
-if test "$wxUSE_ICO_CUR" = "yes" ; then
-  AC_DEFINE(wxUSE_ICO_CUR)
-fi
+    if test "$wxUSE_PNM" = "yes" ; then
+      AC_DEFINE(wxUSE_PNM)
+    fi
 
-if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_MSLU" = "yes" ; then
-  dnl Must be done this late because -lunicows must be before all the other libs
-  LIBS=" -lunicows $LIBS"
+    if test "$wxUSE_XPM" = "yes" ; then
+      AC_DEFINE(wxUSE_XPM)
+    fi
+
+    if test "$wxUSE_ICO_CUR" = "yes" ; then
+      AC_DEFINE(wxUSE_ICO_CUR)
+    fi
 fi
 
 dnl ---------------------------------------------------------------------------
-dnl common dialog
+dnl common dialogs
 dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_CHOICEDLG" = "yes"; then
@@ -5886,8 +5984,7 @@ for subdir in `echo $SUBDIRS`; do
                 makefiles="samples/Makefile.in samples/console/Makefile.in"
             else dnl utils
                 makefiles="utils/HelpGen/Makefile.in \
-                           utils/HelpGen/src/Makefile.in \
-                           utils/makegen/Makefile.in"
+                           utils/HelpGen/src/Makefile.in"
             fi
         fi