]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
Split some of the recent code out to make it more reusable.
[wxWidgets.git] / configure.in
index 1b29502ff2d235841d8f296e4cfa4e9cd539933d..b14e520d57e6aefbededb04633a7995cc6c317c7 100644 (file)
@@ -56,7 +56,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=3
 wx_major_version_number=2
 wx_minor_version_number=5
 wx_release_number=3
-wx_subrelease_number=2
+wx_subrelease_number=3
 
 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
 WX_VERSION=$WX_RELEASE.$wx_release_number
 
 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
 WX_VERSION=$WX_RELEASE.$wx_release_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_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number
 
-WX_CURRENT=4
+WX_CURRENT=3
 WX_REVISION=0
 WX_REVISION=0
-WX_AGE=1
+WX_AGE=3
 
 
 dnl ------------------------------------------------------------------------
 
 
 dnl ------------------------------------------------------------------------
@@ -332,6 +332,17 @@ case "${host}" in
     AC_DEFINE(TARGET_CARBON)
     DEFAULT_DEFAULT_wxUSE_MAC=1
   ;;
     AC_DEFINE(TARGET_CARBON)
     DEFAULT_DEFAULT_wxUSE_MAC=1
   ;;
+  powerpc-apple-macos* )
+    dnl Classic Mac OS (< X)
+    USE_UNIX=0
+    dnl For some reason the test that should be cross-compiler capable fails
+    dnl However, there is no doubt that MacOS PowerPC is big endian.
+    ac_cv_c_bigendian=yes
+    SO_SUFFIX=shlib
+    dnl AC_DEFINE(TARGET_CARBON)
+    dnl platform.h needs TARGET_CARBON before setup.h, we'll add it to CPPFLAGS
+    DEFAULT_DEFAULT_wxUSE_MAC=1
+  ;;
 
   *-*-beos* )
     dnl leave USE_UNIX on - BeOS is sufficiently Unix-like for this
 
   *-*-beos* )
     dnl leave USE_UNIX on - BeOS is sufficiently Unix-like for this
@@ -417,6 +428,8 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_TEXTBUFFER=no
   DEFAULT_wxUSE_TEXTFILE=no
   DEFAULT_wxUSE_SOUND=no
   DEFAULT_wxUSE_TEXTBUFFER=no
   DEFAULT_wxUSE_TEXTFILE=no
   DEFAULT_wxUSE_SOUND=no
+  DEFAULT_wxUSE_MEDIACTRL=no  
+  DEFAULT_wxUSE_DIRECTSHOW=no  
   DEFAULT_wxUSE_INTL=no
   DEFAULT_wxUSE_CONFIG=no
   DEFAULT_wxUSE_FONTMAP=no
   DEFAULT_wxUSE_INTL=no
   DEFAULT_wxUSE_CONFIG=no
   DEFAULT_wxUSE_FONTMAP=no
@@ -605,6 +618,8 @@ else
   DEFAULT_wxUSE_TEXTBUFFER=yes
   DEFAULT_wxUSE_TEXTFILE=yes
   DEFAULT_wxUSE_SOUND=yes
   DEFAULT_wxUSE_TEXTBUFFER=yes
   DEFAULT_wxUSE_TEXTFILE=yes
   DEFAULT_wxUSE_SOUND=yes
+  DEFAULT_wxUSE_MEDIACTRL=no
+  DEFAULT_wxUSE_DIRECTSHOW=no  
   DEFAULT_wxUSE_INTL=yes
   DEFAULT_wxUSE_CONFIG=yes
   DEFAULT_wxUSE_FONTMAP=yes
   DEFAULT_wxUSE_INTL=yes
   DEFAULT_wxUSE_CONFIG=yes
   DEFAULT_wxUSE_FONTMAP=yes
@@ -795,7 +810,7 @@ WX_ARG_SYS_WITH(libtiff,   [  --with-libtiff          use libtiff (TIFF file for
 WX_ARG_SYS_WITH(libxpm,    [  --with-libxpm           use libxpm (XPM file format)], wxUSE_LIBXPM)
 WX_ARG_WITH(libmspack,     [  --with-libmspack        use libmspack (CHM help files loading)], wxUSE_LIBMSPACK)
 WX_ARG_WITH(sdl,           [  --with-sdl              use SDL for audio on Unix], wxUSE_LIBSDL)
 WX_ARG_SYS_WITH(libxpm,    [  --with-libxpm           use libxpm (XPM file format)], wxUSE_LIBXPM)
 WX_ARG_WITH(libmspack,     [  --with-libmspack        use libmspack (CHM help files loading)], wxUSE_LIBMSPACK)
 WX_ARG_WITH(sdl,           [  --with-sdl              use SDL for audio on Unix], wxUSE_LIBSDL)
-WX_ARG_WITH(gnomeprint,    [  --with-gnomeprint       use GNOME print for audio printing under Unix], wxUSE_LIBGNOMEPRINT)
+WX_ARG_WITH(gnomeprint,    [  --with-gnomeprint       use GNOME print for printing under Unix], wxUSE_LIBGNOMEPRINT)
 WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
 
 fi
 WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
 
 fi
@@ -893,6 +908,7 @@ WX_ARG_ENABLE(textfile,      [  --enable-textfile       use wxTextFile class], w
 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(sound,         [  --enable-sound          use wxSound class], wxUSE_SOUND)
 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(sound,         [  --enable-sound          use wxSound class], wxUSE_SOUND)
+WX_ARG_ENABLE(mediactrl,     [  --enable-mediactrl      use wxMediaCtrl class], wxUSE_MEDIACTRL)
 WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWidgets implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
 WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZipInputStream], wxUSE_ZIPSTREAM)
 
 WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWidgets implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
 WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZipInputStream], wxUSE_ZIPSTREAM)
 
@@ -1309,7 +1325,7 @@ AC_CACHE_SAVE
 dnl cross-compiling support: we're cross compiling if the build system is
 dnl different from the target one (assume host and target be always the same)
 if test "$build" != "$host" ; then
 dnl cross-compiling support: we're cross compiling if the build system is
 dnl different from the target one (assume host and target be always the same)
 if test "$build" != "$host" ; then
-    if test "$USE_WIN32" = 1 -o "$USE_DOS" = 1 -o "$USE_UNIX"; then
+    if test "$USE_WIN32" = 1 -o "$USE_DOS" = 1 -o "$USE_UNIX" = 1; then
         CC=$host_alias-gcc
         CXX=$host_alias-c++
         AR=$host_alias-ar
         CC=$host_alias-gcc
         CXX=$host_alias-c++
         AR=$host_alias-ar
@@ -1317,6 +1333,8 @@ if test "$build" != "$host" ; then
         DLLTOOL=$host_alias-dlltool
         RESCOMP=$host_alias-windres
         STRIP=$host_alias-strip
         DLLTOOL=$host_alias-dlltool
         RESCOMP=$host_alias-windres
         STRIP=$host_alias-strip
+    elif test "x$CC" '!=' "x"; then
+        echo "You set CC, I assume you know what you are doing."
     else
         AC_MSG_ERROR($build_alias -> $host_alias cross compilation not supported yet.)
     fi
     else
         AC_MSG_ERROR($build_alias -> $host_alias cross compilation not supported yet.)
     fi
@@ -1719,6 +1737,11 @@ AC_CACHE_CHECK([for va_copy],
                 va_copy(ap2, ap1);
                 va_end(ap2);
                 va_end(ap1);
                 va_copy(ap2, ap1);
                 va_end(ap2);
                 va_end(ap1);
+            }
+            int main()
+            {
+                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
@@ -1779,6 +1802,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
 
@@ -2521,7 +2549,27 @@ equivalent variable and GTK+ is version 1.2.3 or above.
             save_LIBS="$LIBS"
             CFLAGS="$CFLAGS $GTK_CFLAGS"
             LIBS="$LIBS $GTK_LIBS"
             save_LIBS="$LIBS"
             CFLAGS="$CFLAGS $GTK_CFLAGS"
             LIBS="$LIBS $GTK_LIBS"
+            
             AC_CHECK_FUNCS([pango_font_family_is_monospace])
             AC_CHECK_FUNCS([pango_font_family_is_monospace])
+            
+            dnl test if we have at least GTK+ 2.4:
+            AC_MSG_CHECKING([if GTK+ is version >= 2.4])
+            AC_TRY_COMPILE([
+                            #include <gtk/gtk.h>
+                           ],
+                           [
+                            #if !GTK_CHECK_VERSION(2,4,0)
+                            #error "Not GTK+ 2.4"
+                            #endif
+                           ],
+                           [
+                            AC_DEFINE(__WXGTK24__)
+                            AC_MSG_RESULT([yes])
+                           ],
+                           [
+                            AC_MSG_RESULT([no])
+                           ])
+            
             CFLAGS="$save_CFLAGS"
             LIBS="$save_LIBS"
         else
             CFLAGS="$save_CFLAGS"
             LIBS="$save_LIBS"
         else
@@ -2725,6 +2773,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"
                     ],
@@ -2979,7 +3028,12 @@ equivalent variable and GTK+ is version 1.2.3 or above.
             AC_MSG_RESULT([none])
         fi
 
             AC_MSG_RESULT([none])
         fi
 
-        CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon"
+        if test "x$wxUSE_UNIX" = "xyes"; then
+            CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon"
+        else
+            dnl platform.h needs TARGET_CARBON before setup.h
+            CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -DTARGET_CARBON"
+        fi
 
         TOOLKIT=MAC
         dnl we can't call this MAC_DIST or autoconf thinks its a macro
 
         TOOLKIT=MAC
         dnl we can't call this MAC_DIST or autoconf thinks its a macro
@@ -3153,11 +3207,40 @@ 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
+
+dnl ---------------------------------------------------------------------------
+dnl wxMediaCtrl 
+dnl ---------------------------------------------------------------------------
+
+if test "$wxUSE_MEDIACTRL" = "yes"; then
+    if test "$wxUSE_MSW" = 1; then
+dnl ---------------------------------------------------------------------------
+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])
+            ],
+            [#include <windows.h>])
+
+       if test "$wxUSE_DIRECTSHOW" = "yes"; then
+            AC_DEFINE(wxUSE_DIRECTSHOW)
+            LIBS="$LIBS -lstrmiids"
+       fi
     fi
     fi
+
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer"
+    AC_DEFINE(wxUSE_MEDIACTRL)
 fi
 
 dnl ---------------------------------------------------------------------------
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -3448,6 +3531,9 @@ AC_TYPE_SIZE_T
 dnl   defines uid_t and gid_t if not already defined
 AC_TYPE_UID_T
 
 dnl   defines uid_t and gid_t if not already defined
 AC_TYPE_UID_T
 
+dnl sets HAVE_SSIZE_T if ssize_t is defined
+AC_CHECK_TYPES(ssize_t)
+
 dnl check what exactly size_t is on this machine - this is necessary to avoid
 dnl ambiguous overloads in several places, notably wx/string.h and wx/array.h
 AC_LANG_SAVE
 dnl check what exactly size_t is on this machine - this is necessary to avoid
 dnl ambiguous overloads in several places, notably wx/string.h and wx/array.h
 AC_LANG_SAVE
@@ -4088,10 +4174,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*)
@@ -4584,9 +4666,10 @@ if test "$WXGTK20" = 1; then
     if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
         if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
         
     if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
         if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
         
-                PKG_CHECK_MODULES(LIBGNOMEPRINTUI, libgnomeprintui-2.2,
+                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)
                     ],
@@ -4956,6 +5039,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
@@ -5568,7 +5712,7 @@ if test "$wxUSE_HTML" = "yes"; then
     fi
 fi
 if test "$wxUSE_WEBKIT" = "yes"; then
     fi
 fi
 if test "$wxUSE_WEBKIT" = "yes"; then
-    if test "$wxUSE_MAC" = 1; then
+    if test "$wxUSE_MAC" = 1 -a "$USE_DARWIN" = 1; then
         old_CPPFLAGS="$CPPFLAGS"
         CPPFLAGS="$CPPFLAGS -x objective-c++"
         AC_CHECK_HEADER([WebKit/HIWebView.h],
         old_CPPFLAGS="$CPPFLAGS"
         CPPFLAGS="$CPPFLAGS -x objective-c++"
         AC_CHECK_HEADER([WebKit/HIWebView.h],
@@ -5811,13 +5955,18 @@ dnl note that we always link with -lm except for Mac OS X
 dnl extended.c uses floor() and is always linked in
 
 if test "$wxUSE_MAC" = 1 ; then
 dnl extended.c uses floor() and is always linked in
 
 if test "$wxUSE_MAC" = 1 ; then
-    if test "$wxUSE_SOUND" = "yes"; then
-       LDFLAGS="$LDFLAGS -framework QuickTime"
+    if test "$wxUSE_SOUND" = "yes" || test "$wxUSE_MEDIACTRL" = "yes"; then
+        if test "$USE_DARWIN" = 1; then
+            LDFLAGS="$LDFLAGS -framework QuickTime"
+        else
+            LDFLAGS="$LDFLAGS -lQuickTimeLib"
+        fi
     fi
     if test "$USE_DARWIN" = 1; then
     fi
     if test "$USE_DARWIN" = 1; then
-       LDFLAGS="$LDFLAGS -framework IOKit"
+        LDFLAGS="$LDFLAGS -framework IOKit -framework Carbon -framework Cocoa -framework System"
+    else
+        LDFLAGS="$LDFLAGS -lCarbonLib"
     fi
     fi
-    LDFLAGS="$LDFLAGS -framework Carbon -framework Cocoa -framework System"
 fi
 if test "$wxUSE_COCOA" = 1 ; then
     LDFLAGS="$LDFLAGS -framework Cocoa"
 fi
 if test "$wxUSE_COCOA" = 1 ; then
     LDFLAGS="$LDFLAGS -framework Cocoa"
@@ -5901,7 +6050,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
@@ -5910,7 +6060,7 @@ 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`
     
 
@@ -6063,6 +6213,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.
@@ -6102,6 +6263,22 @@ else
                               [AC_MSG_RESULT([no])])
             fi
             ;;
                               [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"
+                               #endif
+                               ],
+                              [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
+                               AC_MSG_RESULT([yes])],
+                              [AC_MSG_RESULT([no])])
+            fi
+            ;;
     esac
 fi
 CPPFLAGS="$GCC_PRAGMA_FLAGS $CPPFLAGS"
     esac
 fi
 CPPFLAGS="$GCC_PRAGMA_FLAGS $CPPFLAGS"