]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
Added Mac OS support.
[wxWidgets.git] / configure.in
index afb68936116c163595007e3789bfb3714ac106f7..87eb7b55d1856f723a533f919064bd402b0868ea 100644 (file)
@@ -17,7 +17,7 @@ dnl ---------------------------------------------------------------------------
 dnl initialization
 dnl ---------------------------------------------------------------------------
 
-AC_INIT([wxWidgets], [2.5.2], [wx-dev@lists.wxwidgets.org])
+AC_INIT([wxWidgets], [2.5.3], [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,8 +55,8 @@ 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=2
-wx_subrelease_number=9
+wx_release_number=3
+wx_subrelease_number=3
 
 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_CURRENT=2
+WX_CURRENT=3
 WX_REVISION=0
-WX_AGE=0
+WX_AGE=3
 
 
 dnl ------------------------------------------------------------------------
@@ -332,6 +332,17 @@ case "${host}" in
     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
@@ -372,6 +383,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_NO_DEPS=no
   DEFAULT_wxUSE_NO_RTTI=no
   DEFAULT_wxUSE_NO_EXCEPTIONS=no
+  DEFAULT_wxUSE_RPATH=yes
   DEFAULT_wxUSE_PERMISSIVE=no
   DEFAULT_wxUSE_DEBUG_FLAG=yes
   DEFAULT_wxUSE_DEBUG_INFO=yes
@@ -400,6 +412,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_LIBXPM=no
   DEFAULT_wxUSE_LIBMSPACK=no
   DEFAULT_wxUSE_LIBSDL=no
+  DEFAULT_wxUSE_LIBGNOMEPRINT=no
   DEFAULT_wxUSE_ODBC=no
   DEFAULT_wxUSE_OPENGL=no
 
@@ -415,6 +428,8 @@ if test $DEBUG_CONFIGURE = 1; then
   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
@@ -559,6 +574,7 @@ else
   DEFAULT_wxUSE_NO_DEPS=no
   DEFAULT_wxUSE_NO_RTTI=no
   DEFAULT_wxUSE_NO_EXCEPTIONS=no
+  DEFAULT_wxUSE_RPATH=yes
   DEFAULT_wxUSE_PERMISSIVE=no
   DEFAULT_wxUSE_DEBUG_FLAG=no
   DEFAULT_wxUSE_DEBUG_INFO=no
@@ -586,6 +602,7 @@ else
   DEFAULT_wxUSE_LIBXPM=yes
   DEFAULT_wxUSE_LIBMSPACK=yes
   DEFAULT_wxUSE_LIBSDL=no
+  DEFAULT_wxUSE_LIBGNOMEPRINT=no
   DEFAULT_wxUSE_ODBC=no
   DEFAULT_wxUSE_OPENGL=no
 
@@ -601,6 +618,8 @@ else
   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
@@ -772,8 +791,8 @@ if test "$wxUSE_GUI" = "yes"; then
 WX_ARG_ENABLE(universal,   [  --enable-universal      use wxWidgets GUI controls instead of native ones], wxUSE_UNIVERSAL)
 AC_ARG_WITH(gtk,           [  --with-gtk              use GTK+], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
 AC_ARG_WITH(motif,         [  --with-motif            use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
-AC_ARG_WITH(mac,           [  --with-mac              use Mac OS X], [wxUSE_MAC="$withval" TOOLKIT_GIVEN=1])
-AC_ARG_WITH(cocoa,         [  --with-cocoa            use Cocoa], [wxUSE_COCOA="$withval" TOOLKIT_GIVEN=1])
+AC_ARG_WITH(mac,           [  --with-mac              use Mac OS X], [wxUSE_MAC="$withval" CACHE_MAC=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(cocoa,         [  --with-cocoa            use Cocoa], [wxUSE_COCOA="$withval" CACHE_COCOA=1 TOOLKIT_GIVEN=1])
 AC_ARG_WITH(wine,          [  --with-wine             use Wine], [wxUSE_WINE="$withval" CACHE_WINE=1])
 AC_ARG_WITH(msw,           [  --with-msw              use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW=1 TOOLKIT_GIVEN=1])
 AC_ARG_WITH(pm,            [  --with-pm               use OS/2 Presentation Manager], [wxUSE_PM="$withval" CACHE_PM=1 TOOLKIT_GIVEN=1])
@@ -791,6 +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_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
@@ -838,11 +858,7 @@ WX_ARG_ENABLE(no_deps,       [  --enable-no_deps        create code without depe
 WX_ARG_ENABLE(compat22,      [  --enable-compat22       enable wxWidgets 2.2 compatibility], WXWIN_COMPATIBILITY_2_2)
 WX_ARG_ENABLE(compat24,      [  --disable-compat24      disable wxWidgets 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, disable)
 
-AC_ARG_ENABLE(rpath,         [  --enable-rpath=DIR      output the rpath flag from wx-config], [wxRPATH_DIR="$enableval"])
-
-if test "$wxRPATH_DIR" != "" -a "$wxRPATH_DIR" != "disable" -a "$wxRPATH_DIR" != "no"; then
-   WXCONFIG_RPATH="-Wl,-rpath -Wl,$wxRPATH_DIR"
-fi
+WX_ARG_ENABLE(rpath,         [  --disable-rpath         disable use of rpath for uninstalled builds], wxUSE_RPATH)
 
 
 dnl ---------------------------------------------------------------------------
@@ -892,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(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)
 
@@ -1044,14 +1061,6 @@ elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_TIPWINDOW=no
 fi
 
-## FIXME: This is a blatant hack
-if test "x$wxUSE_COCOA" != "x" -a "$wxUSE_COCOA" != "0" ; then
-  wxUSE_PRINTING_ARCHITECTURE=no
-  wxUSE_DRAG_AND_DROP=no
-  DEFAULT_wxUSE_TOOLTIPS=no
-  DEFAULT_wxUSE_DRAGIMAGE=no
-fi
-
 WX_ARG_ENABLE(accel,       [  --enable-accel          use accelerators], wxUSE_ACCEL)
 WX_ARG_ENABLE(button,      [  --enable-button         use wxButton class], wxUSE_BUTTON)
 WX_ARG_ENABLE(bmpbutton,   [  --enable-bmpbutton      use wxBitmapButton class], wxUSE_BMPBUTTON)
@@ -1316,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
-    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
@@ -1324,6 +1333,8 @@ if test "$build" != "$host" ; then
         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
@@ -1713,6 +1724,65 @@ AC_CACHE_CHECK([size of wchar_t], wx_cv_sizeof_wchar_t,
 
 AC_DEFINE_UNQUOTED(SIZEOF_WCHAR_T, $wx_cv_sizeof_wchar_t)
 
+dnl checks needed to define wxVaCopy
+AC_CACHE_CHECK([for va_copy],
+    wx_cv_func_va_copy,
+    [
+        AC_LINK_IFELSE([
+            #include <stdarg.h>
+            void foo(char *f, ...)
+            {
+                va_list ap1, ap2;
+                va_start(ap1, f);
+                va_copy(ap2, ap1);
+                va_end(ap2);
+                va_end(ap1);
+            }],
+            wx_cv_func_va_copy=yes,
+            wx_cv_func_va_copy=no
+        )
+    ]
+)
+
+if test $wx_cv_func_va_copy = "yes"; then
+    AC_DEFINE(HAVE_VA_COPY)
+else
+    dnl try to understand how can we copy va_lists
+    AC_CACHE_CHECK([if va_list can be copied by value],
+        wx_cv_type_va_list_lvalue,
+        [
+            AC_RUN_IFELSE([
+                #include <stdarg.h>
+                int foo(char *f, ...)
+                {
+                    va_list ap1, ap2;
+                    va_start(ap1, f);
+                    ap2 = ap1;
+                    if ( va_arg(ap1, int) != 17 || va_arg(ap2, int) != 17 )
+                        return 1;
+                    va_end(ap2);
+                    va_end(ap1);
+                    return 0;
+                }
+                int main()
+                {
+                    return foo("hi", 17);
+                }],
+                wx_cv_type_va_list_lvalue=yes,
+                wx_cv_type_va_list_lvalue=no,
+                dnl assume most common case for cross-compiling...
+                wx_cv_type_va_list_lvalue=yes
+            )
+        ]
+    )
+
+    if test $wx_cv_type_va_list_lvalue != "yes"; then
+        dnl we suppose that the only thing which can't be copied like this
+        dnl are arrays... only experience will show whether this is really true
+        AC_DEFINE(VA_LIST_IS_ARRAY)
+    fi
+fi
+
 dnl check for large file support
 AC_SYS_LARGEFILE
 
@@ -1744,6 +1814,7 @@ WX_CPP_EXPLICIT
 
 dnl check whether C++ compiler supports C++ casts
 AC_CXX_CONST_CAST
+AC_CXX_REINTERPRET_CAST
 AC_CXX_STATIC_CAST
 
 dnl check various STL features
@@ -2370,6 +2441,21 @@ if test "$wxUSE_GUI" = "yes"; then
     WXGTK20=
     WXGPE=
 
+    if test "$wxUSE_COCOA" = 1 ; then
+        if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes"; then
+            AC_MSG_WARN([Printing not supported under wxCocoa yet, disabled])
+            wxUSE_PRINTING_ARCHITECTURE=no
+        fi
+        if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
+            AC_MSG_WARN([Drag and Drop not supported under wxCocoa yet, disabled])
+            wxUSE_DRAG_AND_DROP=no
+        fi
+        if test "$wxUSE_DRAGIMAGE" = "yes"; then
+            AC_MSG_WARN([Drag Image and DandD not supported under wxCocoa yet, disabled])
+            wxUSE_DRAGIMAGE=no
+        fi
+    fi
+
     if test "$wxUSE_MSW" = 1 ; then
         TOOLKIT=MSW
         GUIDIST=MSW_DIST
@@ -2449,24 +2535,6 @@ equivalent variable and GTK+ is version 1.2.3 or above.
         esac
 
         if test "$WXGTK20" = 1; then
-            if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
-                PKG_CHECK_MODULES(PANGOFT2, pangoft2,
-                    [
-                        CXXFLAGS="$CXXFLAGS $PANGOFT2_CFLAGS"
-                        # FIXME: GTK_LIBS already has a lot of what this is
-                        #        about to add, but we go ahead and just add
-                        #        it all again anyway.
-                        # This is not a good way to manage things.  And simply
-                        # uniq'ing the list later is hardly better.
-                        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS"
-                    ],
-                    [
-                        AC_MSG_WARN([pangoft2 library not found, library will be compiled without printing support])
-                        wxUSE_PRINTING_ARCHITECTURE="no"
-                    ]
-                )
-            fi
-                
             save_CFLAGS="$CFLAGS"
             save_LIBS="$LIBS"
             CFLAGS="$CFLAGS $GTK_CFLAGS"
@@ -2929,16 +2997,19 @@ equivalent variable and GTK+ is version 1.2.3 or above.
             AC_MSG_RESULT([none])
         fi
 
-        CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/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
         GUIDIST=MACX_DIST
         dnl wxMac version of wxBase and wxCocoa or wxBase-only built on Darwin
         dnl are different, so they need different names:
-        dnl FIXME: If we can do it like this, please do, and we can remove
-        dnl        BASEPORT from bakefiles and elsewhere
-        WX_FLAVOUR="carbon${WX_FLAVOUR:+_$WX_FLAVOUR}"
+        WXBASEPORT="_carbon"
     fi
 
     if test "$wxUSE_COCOA" = 1; then
@@ -3112,6 +3183,30 @@ dnl ---------------------------------------------------------------------------
     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])
+          ] )
+
+       if test "$wxUSE_DIRECTSHOW" = "yes"; then
+          AC_DEFINE(wxUSE_DIRECTSHOW)
+           LIBS="$LIBS -lstrmiids"          
+       fi
+    fi
+    
+    AC_DEFINE(wxUSE_MEDIACTRL)
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl OpenGL libraries
 dnl ---------------------------------------------------------------------------
@@ -3221,6 +3316,7 @@ if test "$wxUSE_SHARED" = "yes"; then
     case "${host}" in
       *-*-linux* | *-*-gnu* )
         SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
+        WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
        ;;
 
       *-*-solaris2* )
@@ -3239,23 +3335,25 @@ if test "$wxUSE_SHARED" = "yes"; then
                 [
                     AC_MSG_RESULT([yes])
                     SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
-                ],
-                [
+                    WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
+                ],[
                     AC_MSG_RESULT([no])
                     AC_MSG_CHECKING([if the linker accepts -R])
                     LDFLAGS="$saveLdflags -Wl,-R,/"
                     AC_TRY_LINK(
                         [],[],
                         [
-                             AC_MSG_RESULT([yes])
-                             SAMPLES_RPATH_FLAG="-Wl,-R,\$(top_builddir)lib"],
-                        [
+                            AC_MSG_RESULT([yes])
+                            SAMPLES_RPATH_FLAG="-Wl,-R,\$(top_builddir)lib"
+                            WXCONFIG_RPATH="-Wl,-R,\$libdir"
+                        ],[
                             AC_MSG_RESULT([no])
                         ])                    
                 ])
             LDFLAGS="$saveLdflags"
         else
             SAMPLES_RPATH_FLAG="-R\$(top_builddir)lib"
+            WXCONFIG_RPATH="-R\$libdir"
         fi
       ;;
       
@@ -3278,14 +3376,20 @@ EOF
        ;;
       
     esac
-fi
 
-dnl do not 'else' this, it may be changed in the above conditional.
-if test "$wxUSE_SHARED" = "no"; then
+    if test $wxUSE_RPATH = "no"; then
+        SAMPLES_RPATH_FLAG=''
+        SAMPLES_RPATH_POSTLINK=''
+        WXCONFIG_RPATH=''
+    fi
+
+    SHARED=1
+
+else
+
     config_linkage_component="-static"
     SHARED=0
-else
-    SHARED=1
+
 fi
 
 
@@ -3330,7 +3434,7 @@ fi
 dnl library link name
 dnl These just save us from exporting lib_{unicode,debug,flavour}_suffix.
 dnl If we ever need to do that, we won't need to keep these.
-WX_LIBRARY_BASENAME_NOGUI="wx_base${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
+WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
 WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
 
 
@@ -3338,8 +3442,8 @@ WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_u
 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)
-    WX_RESOURCES_MACOSX_ASCII="libwx_${TOOLCHAIN_NAME}.${WX_CURRENT}.r"
-    WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${WX_CURRENT}.rsrc"
+    WX_RESOURCES_MACOSX_ASCII="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.r"
+    WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.rsrc"
 
     dnl add the resources target for wxMac
     LIBWXMACRES="\$(top_builddir)lib/${WX_RESOURCES_MACOSX_ASCII}"
@@ -3364,14 +3468,14 @@ if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
     fi
 else
     dnl default value is to (silently) do nothing in the makefile
-    MACSETFILE="@#"
-    MACRESWXCONFIG="#"
+    MACSETFILE="@true"
+    MACRESWXCONFIG="@true"
 
     dnl confusingly, wxOS2 also uses MACRESCOMP in its post-link step
     if test "$wxUSE_PM" = 1; then
         MACRESCOMP="emxbind -ep"
     else
-        MACRESCOMP="@#"
+        MACRESCOMP="@true"
     fi
 fi
 
@@ -3391,6 +3495,9 @@ AC_TYPE_SIZE_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
@@ -4523,6 +4630,26 @@ if test "$wxUSE_SOUND" = "yes"; then
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sound"
 fi
 
+if test "$WXGTK20" = 1; then
+    if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
+        if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
+        
+                PKG_CHECK_MODULES(LIBGNOMEPRINTUI, libgnomeprintui-2.2,
+                    [
+                        EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS"
+                        CXXFLAGS="$CXXFLAGS $LIBGNOMEPRINTUI_CFLAGS"
+                        AC_DEFINE(wxUSE_LIBGNOMEPRINT)
+                    ],
+                    [
+                        AC_MSG_WARN([libgnomeprintui not found, library will use standard PostScript printing])
+                        wxUSE_LIBGNOMEPRINT="no"
+                    ]
+                )
+        fi
+    fi
+fi
+
+
 if test "$wxUSE_CMDLINE_PARSER" = "yes"; then
   AC_DEFINE(wxUSE_CMDLINE_PARSER)
 fi
@@ -5491,7 +5618,7 @@ if test "$wxUSE_HTML" = "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],
@@ -5514,9 +5641,14 @@ fi
 
 USE_XRC=0
 if test "$wxUSE_XRC" = "yes"; then
-    AC_DEFINE(wxUSE_XRC)
-    USE_XRC=1
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS xrc"
+    if test "$wxUSE_XML" != "yes"; then
+        AC_MSG_WARN([XML library not built, XRC resources disabled])
+        wxUSE_XRC=no
+    else
+        AC_DEFINE(wxUSE_XRC)
+        USE_XRC=1
+        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS xrc"
+    fi
 fi
 
 if test "$wxUSE_MENUS" = "yes"; then
@@ -5540,7 +5672,7 @@ 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
+        "$TOOLKIT" = "MOTIF" -o "$TOOLKIT" = "COCOA"; then
         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar"
     fi
 fi
@@ -5663,7 +5795,7 @@ if test "$wxUSE_WIZARDDLG" = "yes"; then
 fi
 
 dnl ---------------------------------------------------------------------------
-dnl get the string with OS info - used by wxGetOsDescription()
+dnl get the string with OS info - used by wxGetOsDescription() on MacOS X
 dnl ---------------------------------------------------------------------------
 
 if test "$cross_compiling" = "yes"; then
@@ -5729,13 +5861,21 @@ 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
-    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
+        LDFLAGS="$LDFLAGS -framework IOKit -framework Carbon -framework Cocoa -framework System"
+    else
+        LDFLAGS="$LDFLAGS -lCarbonLib"
     fi
-    LDFLAGS="$LDFLAGS -framework Carbon -framework Cocoa -framework System"
 fi
 if test "$wxUSE_COCOA" = 1 ; then
-    LDFLAGS="$LDFLAGS -framework Cocoa -framework System"
+    LDFLAGS="$LDFLAGS -framework Cocoa"
 fi
 
 dnl FIXME: should this be covered by the conditional above
@@ -5938,6 +6078,7 @@ AC_SUBST(EXTRALIBS_GUI)
 AC_SUBST(EXTRALIBS_OPENGL)
 AC_SUBST(EXTRALIBS_SDL)
 AC_SUBST(WITH_PLUGIN_SDL)
+AC_SUBST(EXTRALIBS_GNOMEPRINT)
 AC_SUBST(UNICODE)
 AC_SUBST(BUILD)
 AC_SUBST(DEBUG_INFO)
@@ -6134,18 +6275,12 @@ AC_CONFIG_COMMANDS([ wx-config
                      LN_S="${LN_S}"
                    ])
 
-dnl When contrib is gone, this is all we will need:
-dnl AC_CONFIG_LINKS([ include/wx-$WX_RELEASE$WX_FLAVOUR/wx:include/wx ])
-
-dnl Until then, we need to be a little more extravagent to create
-dnl a 'real' working $prefix subtree in each build dir.  Doing this
-dnl really does make them otherwise identical to an installed set.
-for c in `ls $srcdir/contrib/include/wx 2> /dev/null`; do
-    AC_CONFIG_LINKS([ include/wx-$WX_RELEASE$WX_FLAVOUR/wx/$c:contrib/include/wx/$c ])
-done
-for f in `ls $srcdir/include/wx 2> /dev/null`; do
-    AC_CONFIG_LINKS([ include/wx-$WX_RELEASE$WX_FLAVOUR/wx/$f:include/wx/$f ])
-done
+dnl This would give us us build dir that in every significant way
+dnl resembles an installed wx in prefix=$builddir.  It is troublesome
+dnl though in this form because AC_CONFIG_LINKS will fail for directories
+dnl on platforms that do not have symlinks.
+dnl AC_CONFIG_LINKS([ include/wx-$WX_RELEASE$WX_FLAVOUR:include ])
+dnl AC_CONFIG_LINKS([ contrib/include ])
 
 
 dnl Configure samples, contrib etc. directories, but only if they are present:
@@ -6179,10 +6314,14 @@ for subdir in `echo $SUBDIRS`; do
             if test ${subdir} = "samples"; then
                 makefiles="samples/Makefile.in samples/console/Makefile.in"
             elif test ${subdir} = "utils"; then
-                makefiles="utils/HelpGen/Makefile.in \
-                           utils/HelpGen/src/Makefile.in \
-                           utils/tex2rtf/Makefile.in \
-                           utils/tex2rtf/src/Makefile.in"
+                makefiles=""
+                for util in HelpGen tex2rtf ; do
+                    if test -d $srcdir/utils/$util ; then
+                        makefiles="utils/$util/Makefile.in \
+                                   utils/$util/src/Makefile.in \
+                                   $makefiles"
+                    fi
+                done
             else dnl assume that everything compiles for tests
                 makefiles=`(cd $srcdir ; find $subdir -name Makefile.in)`
             fi
@@ -6226,6 +6365,7 @@ echo "                                       odbc               ${wxUSE_ODBC}"
 echo "                                       expat              ${wxUSE_EXPAT}"
 echo "                                       libmspack          ${wxUSE_LIBMSPACK}"
 echo "                                       sdl                ${wxUSE_LIBSDL}"
+echo "                                       gnomeprint         ${wxUSE_LIBGNOMEPRINT}"
 
 echo ""