changeset 5209:e4d443502bbb

OpenOffice: bump to ooo310-m8 -- and clean-build fixes. To be precise http://cgit.freedesktop.org/ooo-build/ooo-build/commit/?id=207309ec6d428c6a6698db061efb670b36d5df5a or possibly http://cgit.freedesktop.org/ooo-build/commit/?id=207309ec6d428c6a6698db061efb670b36d5df5a
author Jan Nieuwenhuizen <janneke@gnu.org>
date Mon, 06 Apr 2009 16:34:48 +0200
parents fc44e2ec2b64
children 028bfc152985
files gub/specs/openoffice.py patches/openoffice-accessibility-nojava.patch patches/openoffice-config_office-cross.patch patches/openoffice-config_office-gnu-make.patch patches/openoffice-config_office-mingw.patch patches/openoffice-cppunit-mingw.patch patches/openoffice-desktop-mingw.patch patches/openoffice-goodies-mingw.patch patches/openoffice-i18npool-mingw.patch patches/openoffice-icc-cross.patch patches/openoffice-postprocess-mingw.patch patches/openoffice-sal-mingw-c.patch patches/openoffice-scp2-mingw.patch patches/openoffice-shell-mingw.patch patches/openoffice-solenv-mingw.patch patches/openoffice-srcdir-build.patch patches/openoffice-sw-disable-vba-consistency.patch patches/openoffice-vbahelper-mingw.patch patches/openoffice-vcl-mingw.patch
diffstat 19 files changed, 390 insertions(+), 207 deletions(-) [+]
line wrap: on
line diff
--- a/gub/specs/openoffice.py	Mon Apr 06 16:27:20 2009 +0200
+++ b/gub/specs/openoffice.py	Mon Apr 06 16:34:48 2009 +0200
@@ -192,19 +192,23 @@
 '''
 
 class Openoffice (target.AutoBuild):
-#    source = 'svn://svn.gnome.org/svn/ooo-build&branch=trunk&revision=14327'
-#    source = 'svn://svn.gnome.org/svn/ooo-build&branch=trunk'
-
-    # fresh try.  wait for mingw dupes
     # source = 'svn://svn.gnome.org/svn/ooo-build&branch=trunk&revision=14412'
-
-    # fresh try2.  wait for mingw dupes
-#    source = 'git://anongit.freedesktop.org/git/ooo-build/ooo-build&revision=207309ec6d428c6a6698db061efb670b36d5df5a'
-
-    source = 'git+file://localhost/home/janneke/vc/ooo310-m8'
+    # source = 'git+file://localhost/home/janneke/vc/ooo310-m8'
+    source = 'git://anongit.freedesktop.org/git/ooo-build/ooo-build&revision=207309ec6d428c6a6698db061efb670b36d5df5a'
 
     patches = ['openoffice-srcdir-build.patch']
-    upstream_patches = ['openoffice-config_office-cross.patch', 'openoffice-config_office-gnu-make.patch', 'openoffice-solenv-cross.patch', 'openoffice-solenv.patch', 'openoffice-sal-cross.patch', 'openoffice-soltools-cross.patch', 'openoffice-icc-cross.patch', 'openoffice-i18npool-cross.patch', 'openoffice-lingucomponent-mingw.patch']
+    upstream_patches = [
+        'openoffice-config_office-cross.patch',
+        'openoffice-solenv-cross.patch',
+        'openoffice-solenv.patch',
+        'openoffice-sal-cross.patch',
+        'openoffice-soltools-cross.patch',
+        'openoffice-icc-cross.patch',
+        'openoffice-i18npool-cross.patch',
+        'openoffice-lingucomponent-mingw.patch',
+        'openoffice-accessibility-nojava.patch',
+        'openoffice-sw-disable-vba-consistency.patch'
+        ]
     def __init__ (self, settings, source):
         target.AutoBuild.__init__ (self, settings, source)
         # let's keep source tree around
@@ -223,8 +227,17 @@
         self.system ('cd %(builddir)s && ./download')
         self.system ('cd %(builddir)s && ln src/* %(downloads)s/openoffice-src || :')
     @context.subst_method
+    def bran (self):
+        return 'ooo'
+    @context.subst_method
+    def ver (self):
+        return '310'
+    @context.subst_method
+    def milestone (self):
+        return 'm8'
+    @context.subst_method
     def cvs_tag (self):
-        return 'ooo300-m9'
+        return '%(bran)s%(ver)s-%(milestone)s'
     @context.subst_method
     def upstream_dir (self):
         return '%(builddir)s/build/%(cvs_tag)s'
@@ -383,6 +396,9 @@
         for f in self.upstream_patched_files ():
             self.system ('cp -p %(upstream_dir)s/%(f)s.pristine %(upstream_dir)s/%(f)s || cp -p %(upstream_dir)s/%(f)s %(upstream_dir)s/%(f)s.pristine' % locals ())
     def patch_upstream (self):
+        # config_office is gone? but avoid rewriting everything for
+        # now -- how's upstream?
+        self.system ('cd %(upstream_dir)s && rm -f config_office && ln -s . config_office')
         self.upstream_patch_reset ()
         list (map (self.apply_upstream_patch, self.upstream_patches))
 
@@ -457,8 +473,37 @@
         
                 
 class Openoffice__mingw (Openoffice):
-    upstream_patches = Openoffice.upstream_patches + ['openoffice-config_office-mingw.patch', 'openoffice-solenv-mingw.patch', 'openoffice-sal-mingw.patch', 'openoffice-external-mingwheaders.patch', 'openoffice-cppunit-mingw.patch', 'openoffice-i18npool-mingw.patch', 'openoffice-tools-mingw.patch', 'openoffice-setup_native-mingw.patch', 'openoffice-pyuno-mingw.patch', 'openoffice-sysui-mingw.patch', 'openoffice-dtrans-mingw.patch', 'openoffice-fpicker-mingw.patch', 'openoffice-sccomp-mingw.patch', 'openoffice-vcl-mingw.patch', 'openoffice-connectivity-mingw.patch', 'openoffice-unotools-mingw.patch', 'openoffice-embeddedobj-mingw.patch', 'openoffice-shell-mingw.patch', 'openoffice-svx-mingw.patch', 'openoffice-dbaccess-mingw.patch', 'openoffice-desktop-mingw.patch', 'openoffice-scripting-mingw.patch', 'openoffice-postprocess-mingw.patch', 'openoffice-instsetoo_native-mingw.patch', 'openoffice-solenv-mingw-installer.patch', 'openoffice-scp2-mingw.patch']
-    # external/mingwheaders seems a badly misguided effort.  It
+    upstream_patches = Openoffice.upstream_patches + [
+        'openoffice-config_office-mingw.patch',
+        'openoffice-solenv-mingw.patch',
+        'openoffice-sal-mingw.patch',
+        'openoffice-external-mingwheaders.patch',
+        'openoffice-cppunit-mingw.patch',
+        'openoffice-i18npool-mingw.patch',
+        'openoffice-tools-mingw.patch',
+        'openoffice-setup_native-mingw.patch',
+        'openoffice-pyuno-mingw.patch',
+        'openoffice-sysui-mingw.patch',
+        'openoffice-dtrans-mingw.patch',
+        'openoffice-fpicker-mingw.patch',
+        'openoffice-sccomp-mingw.patch',
+        'openoffice-vcl-mingw.patch',
+        'openoffice-connectivity-mingw.patch',
+        'openoffice-unotools-mingw.patch',
+        'openoffice-goodies-mingw.patch',
+        'openoffice-embeddedobj-mingw.patch',
+        'openoffice-shell-mingw.patch',
+        'openoffice-svx-mingw.patch',
+        'openoffice-dbaccess-mingw.patch',
+        'openoffice-desktop-mingw.patch',
+        'openoffice-vbahelper-mingw.patch',
+        'openoffice-scripting-mingw.patch',
+        'openoffice-postprocess-mingw.patch',
+        'openoffice-instsetoo_native-mingw.patch',
+        'openoffice-solenv-mingw-installer.patch',
+        'openoffice-scp2-mingw.patch'
+        ]
+    # I do not understand anything about external/mingwheaders.  It
     # patches header files and is thus strictly tied to a gcc version;
     # that can never build.  How can patching header files ever work,
     # when not patching the corresponding libraries?  Some patches
@@ -468,23 +513,34 @@
     # code?
     upstream_patches += ['openoffice-sal-mingw-c.patch']
     # Kendy's MinGW patches are already applied
-    kendy = ['openoffice-transex3-mingw.patch', 'openoffice-soltools-mingw.patch']
+    kendy = [
+        'openoffice-transex3-mingw.patch',
+        'openoffice-soltools-mingw.patch'
+        ]
     def _get_build_dependencies (self):
-        return Openoffice._get_build_dependencies (self) + ['libunicows-devel']
+        return (Openoffice._get_build_dependencies (self)
+                + ['libunicows-devel', 'tools::pytt'])
     def patch (self):
         Openoffice.patch (self)
         # disable Kendy's patch for Cygwin version of mingw
-        self.file_sub ([('^(mingw-build-without-stlport-stlport.diff)', r'#\1')],
+        self.file_sub ([('^(mingw-build-without-stlport-stlport.diff)', r'#\1'),
+                        ('^(mingw-thread-wait-instead-of-sleep.diff)', r'#\1'),
+                        ('^(redirect-extensions.diff)', r'#\1'),
+                        ('^(slideshow-effect-rewind.diff)', r'#\1'),
+                        ('^(layout-simple-dialogs-svx).diff', r'\1-no-gtk.diff')],
                        '%(srcdir)s/patches/dev300/apply')
-        # setup wine hack
+        # setup wine hack -- TODO: CC_FOR_BUILD + SAL_DLL* for
+        # cpputools/source/registercomponent/registercomponent.cxx
         wine_userdef = os.path.join (os.environ['HOME'], '.wine/user.reg')
         s = file (wine_userdef).read ()
-        if not self.expand ('%(upstream_dir)s') in s:
+        if not self.expand ('%(upstream_dir)s/solver/%(ver)s') in s:
             self.dump ('''
 [Environment]
-"PATH"="%(upstream_dir)s/solver/300/wntgcci.pro/bin;%(system_prefix)s/bin;%(system_prefix)s/lib;"
+"PATH"="%(upstream_dir)s/solver/%(ver)s/wntgcci.pro/bin;%(system_prefix)s/bin;%(system_prefix)s/lib;"
 ''',
                    wine_userdef, mode='a')
+        # fixup gen_makefile disaster -- TODO: CC_FOR_BUILD
+        self.system ('''cp -pvf $OOO_TOOLS_DIR/../../../../sal/unx*/bin/gen_makefile $OOO_TOOLS_DIR/gen_makefile''')
     def configure_command (self):
         return (Openoffice.configure_command (self)
                 .replace ('--with-system-xrender-headers', '')
@@ -517,9 +573,8 @@
 ''',
              '%(upstream_dir)s/solenv/bin/wrc',
                    permissions=octal.o755)
-
-        self.system ('mkdir -p %(upstream_dir)s/solver/300/wntgcci.pro/inc')
-        self.system ('cp -pv %(sourcefiledir)s/mingw-headers/*.h %(upstream_dir)s/solver/300/wntgcci.pro/inc')
+        self.system ('mkdir -p %(upstream_dir)s/solver/%(ver)s/wntgcci.pro/inc')
+        self.system ('cp -pv %(sourcefiledir)s/mingw-headers/*.h %(upstream_dir)s/solver/%(ver)s/wntgcci.pro/inc')
 
 
 # Attempt at building a tiny fraction of openoffice for the build
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/openoffice-accessibility-nojava.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -0,0 +1,17 @@
+--- accessibility/bridge/source/java/makefile.mk.pristine	2009-04-05 11:23:45.847495404 +0200
++++ accessibility/bridge/source/java/makefile.mk	2009-04-05 11:26:04.051493710 +0200
+@@ -43,6 +43,7 @@ VERSIONOBJ=
+ 
+ # --- Files --------------------------------------------------------
+ 
++.IF "$(SOLAR_JAVA)"!=""
+ .IF "$(GUI)"=="WNT"
+ 
+ SLOFILES= $(SLO)$/WindowsAccessBridgeAdapter.obj
+@@ -72,3 +73,6 @@ $(SHL1HEADER) :
+ 	javah -classpath $(OUT)$/class -o $(SHL1HEADER) org.openoffice.accessibility.WindowsAccessBridgeAdapter
+ 
+ .ENDIF			# "$(GUI)"=="WNT"
++.ELSE # "$(SOLAR_JAVA)"==""
++ALLTAR:
++.ENDIF # "$(SOLAR_JAVA)"==""
--- a/patches/openoffice-config_office-cross.patch	Mon Apr 06 16:27:20 2009 +0200
+++ b/patches/openoffice-config_office-cross.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -92,8 +92,8 @@
        else
          return 0;
  }
--      ], [AC_MSG_RESULT(OK)], [AC_MSG_ERROR([not suitable, only >= 3.6 supported currently])])
-+      ], [AC_MSG_RESULT(OK)], [AC_MSG_ERROR([not suitable, only >= 3.6 supported currently])], [AC_MSG_RESULT($ac_cv_icu_version)])
+-      ], [AC_MSG_RESULT(OK)], [AC_MSG_ERROR([not suitable, only >= 4.0 supported currently])])
++      ], [AC_MSG_RESULT(OK)], [AC_MSG_ERROR([not suitable, only >= 4.0 supported currently])], [AC_MSG_RESULT($ac_cv_icu_version)])
        AC_LANG_POP([C++])
  else
      AC_MSG_RESULT([internal])
--- a/patches/openoffice-config_office-gnu-make.patch	Mon Apr 06 16:27:20 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
---- config_office/configure.in.orig	2008-10-19 21:05:46.000000000 +0200
-+++ config_office/configure.in	2008-10-19 21:27:16.000000000 +0200
-@@ -1503,9 +1506,11 @@ for a in "$MAKE" $GNUMAKE make gmake gnu
-            break
-       fi
- done
--$GNUMAKE --version 2> /dev/null | grep ' 3.81'  2>&1 > /dev/null
--if test $? -eq 0;  then
--  AC_MSG_ERROR("gmake 3.81 cannot build mozilla - please use 3.80")
-+if -n "$enable_mozilla$enable_build_mozilla" = "yesyes"; then
-+    $GNUMAKE --version 2> /dev/null | grep ' 3.81'  2>&1 > /dev/null
-+    if test $? -eq 0;  then
-+        AC_MSG_ERROR("gmake 3.81 cannot build mozilla - please use 3.80")
-+    fi
- fi
- AC_MSG_RESULT($GNUMAKE)
- 
--- a/patches/openoffice-config_office-mingw.patch	Mon Apr 06 16:27:20 2009 +0200
+++ b/patches/openoffice-config_office-mingw.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -18,6 +18,33 @@
     AC_PATH_X
     AC_PATH_XTRA
     CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+@@ -4526,7 +4564,7 @@ fi
+ AC_SUBST(XLIB)
+ AC_SUBST(XAU_LIBS)
+ 
+-if test "$_os" != "WINNT" -a "$_os" != "OS2" -a "$_os" != "Darwin"; then
++if test "$_os" != "WINNT" -a "$t_os" != "MinGW" -a "$_os" != "OS2" -a "$_os" != "Darwin"; then
+    dnl ===================================================================
+    dnl Check for using Xaw
+    dnl ===================================================================
+@@ -5371,7 +5409,7 @@ dnl ====================================
+ 
+ ENABLE_GCONF=""
+ AC_MSG_CHECKING([whether to enable GConf support])
+-if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$_os" != "OS2" -a "$enable_gconf" = "yes"; then
++if test "$_os" != "WINNT" -a "$t_os" != "MinGW" -a "$_os" != "Darwin" -a "$_os" != "OS2" -a "$enable_gconf" = "yes"; then
+     ENABLE_GCONF="TRUE"
+     AC_MSG_RESULT([yes])
+     PKG_CHECK_MODULES( GCONF, gconf-2.0 )
+@@ -5387,7 +5425,7 @@ dnl ====================================
+ ENABLE_GNOMEVFS=""
+ GNOMEVFS_HAS_LOCKING=""
+ AC_MSG_CHECKING([whether to enable GNOME VFS support])
+-if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_gnome_vfs" = "yes"; then
++if test "$_os" != "WINNT" -a "$t_os" != "MinGW" -a "$_os" != "Darwin" -a "$enable_gnome_vfs" = "yes"; then
+     ENABLE_GNOMEVFS="TRUE"
+     AC_MSG_RESULT([yes])
+     PKG_CHECK_MODULES( GNOMEVFS, gnome-vfs-2.0 >= 2.6.0 )
 --- config_office/set_soenv.in.orig	2008-10-20 19:52:27.000000000 +0200
 +++ config_office/set_soenv.in	2008-10-20 20:22:58.000000000 +0200
 @@ -593,6 +593,22 @@ elsif ( $platform =~ m/linux/ ) 
--- a/patches/openoffice-cppunit-mingw.patch	Mon Apr 06 16:27:20 2009 +0200
+++ b/patches/openoffice-cppunit-mingw.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -1,20 +1,36 @@
---- cppunit/source/win32/makefile.mk.pristine	2008-10-24 17:35:48.000000000 +0200
-+++ cppunit/source/win32/makefile.mk	2008-10-24 17:35:59.000000000 +0200
-@@ -47,6 +47,7 @@ SLOFILES = \
- #-------------------------------------------------------------------------------
- # This is a static lib
- LIB1TARGET= $(LB)$/$(TARGET).lib
-+LIB1ARCHIV= $(LB)$/lib$(TARGET)$(DLLPOSTFIX).a
- LIB1OBJFILES= \
- 	$(SLOFILES)
- 
---- cppunit/source/win32/winstuff.cxx.pristine	2008-10-23 08:56:35.000000000 +0200
-+++ cppunit/source/win32/winstuff.cxx	2008-10-24 17:37:53.000000000 +0200
-@@ -40,7 +40,6 @@
- #if defined _MSC_VER
- #pragma warning(pop)
- #endif 
--#include <MAPIWin.h>
- 
- void WinDebugBreak()
- {
+--- cppunit/cppunit-1.8.0-r1.patch.pristine	2009-04-04 15:33:44.231998652 +0200
++++ cppunit/cppunit-1.8.0-r1.patch	2009-04-04 15:34:27.616002193 +0200
+@@ -9610,7 +9610,7 @@ Nur in misc/build/cppunit-1.8.0/src/resu
+ Nur in misc/build/cppunit-1.8.0/src/result: treswrapper.cxx.dummy.
+ --- misc/cppunit-1.8.0/src/win32/makefile.mk	2008-12-10 20:46:10.024158685 +0100
+ +++ misc/build/cppunit-1.8.0/src/win32/makefile.mk	2008-12-10 19:45:23.000000000 +0100
+-@@ -1 +1,67 @@
++@@ -1 +1,68 @@
+ -dummy
+ +#*************************************************************************
+ +#
+@@ -9663,6 +9663,7 @@ Nur in misc/build/cppunit-1.8.0/src/resu
+ +#-------------------------------------------------------------------------------
+ +# This is a static lib
+ +LIB1TARGET= $(LB)$/$(TARGET).lib
+++LIB1ARCHIV= $(LB)$/lib$(TARGET)$(DLLPOSTFIX).a
+ +LIB1OBJFILES= \
+ +	$(SLOFILES)
+ +
+@@ -9682,7 +9683,7 @@ Nur in misc/build/cppunit-1.8.0/src/resu
+ Nur in misc/build/cppunit-1.8.0/src/win32: makefile.mk.dummy.
+ --- misc/cppunit-1.8.0/src/win32/winstuff.cxx	2008-12-10 20:46:10.106772548 +0100
+ +++ misc/build/cppunit-1.8.0/src/win32/winstuff.cxx	2008-12-10 20:42:44.000000000 +0100
+-@@ -1 +1,143 @@
++@@ -1 +1,142 @@
+ -dummy
+ +/*************************************************************************
+ + *
+@@ -9727,7 +9728,6 @@ Nur in misc/build/cppunit-1.8.0/src/win3
+ +#if defined _MSC_VER
+ +#pragma warning(pop)
+ +#endif 
+-+#include <MAPIWin.h>
+ +
+ +void WinDebugBreak()
+ +{
--- a/patches/openoffice-desktop-mingw.patch	Mon Apr 06 16:27:20 2009 +0200
+++ b/patches/openoffice-desktop-mingw.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -45,7 +45,7 @@
  
 --- desktop/win32/source/setup/makefile.mk.~1.12.~	2008-04-11 06:48:48.000000000 +0200
 +++ desktop/win32/source/setup/makefile.mk	2008-11-05 15:19:13.000000000 +0100
-@@ -92,4 +92,21 @@ APP1NOSVRES=	$(RES)$/$(TARGET).res
+@@ -92,4 +92,23 @@ APP1NOSVRES=	$(RES)$/$(TARGET).res
  
  $(RCFILES) : $(ULFDIR)$/setup.ulf makefile.mk rcfooter.txt rcheader.txt rctmpl.txt
      $(WRAPCMD) lngconvex.exe -ulf $(ULFDIR)$/setup.ulf -rc $(RCFILES) -rct rctmpl.txt -rch rcheader.txt -rcf rcfooter.txt
@@ -56,15 +56,17 @@
 +	sed -i -e 's@\\x\([0-9a-f][0-9a-f][0-9a-f]["\\]\)@\\x0\1@g' $@
 +	sed -i -e 's@\([ ,]\)"@\1L"@g' $@
 +	sed -i -e 's@include L"@include "@' $@
-+	sed -i -e 's@^LANGUAGE 0x211@LANGUAGE 0x21@' $@
-+	sed -i -e 's@^LANGUAGE 0x226@LANGUAGE 0x26@' $@
-+	sed -i -e 's@^LANGUAGE 0x22c@LANGUAGE 0x2c@' $@
-+	sed -i -e 's@^LANGUAGE 0x22b@LANGUAGE 0x2b@' $@
-+	sed -i -e 's@^LANGUAGE 0x30@LANGUAGE 0x2d@' $@
-+	sed -i -e 's@^LANGUAGE 0x73@LANGUAGE 0x2a@' $@
-+	sed -i -e 's@^LANGUAGE 0x31@LANGUAGE 0x2e@' $@
-+	sed -i -e 's@^LANGUAGE 0x33@LANGUAGE 0x01@' $@
-+	sed -i -e 's@^LANGUAGE 0x55@LANGUAGE 0x22@' $@
++	pytt '\r\n' '\n' $@
++	pytt '^LANGUAGE 0x4d(.|\n)*' '' $@
++#	sed -i -e 's@^LANGUAGE 0x211@LANGUAGE 0x21@' $@
++#	sed -i -e 's@^LANGUAGE 0x226@LANGUAGE 0x26@' $@
++#	sed -i -e 's@^LANGUAGE 0x22c@LANGUAGE 0x2c@' $@
++#	sed -i -e 's@^LANGUAGE 0x22b@LANGUAGE 0x2b@' $@
++#	sed -i -e 's@^LANGUAGE 0x30@LANGUAGE 0x2d@' $@
++#	sed -i -e 's@^LANGUAGE 0x73@LANGUAGE 0x2a@' $@
++#	sed -i -e 's@^LANGUAGE 0x31@LANGUAGE 0x2e@' $@
++#	sed -i -e 's@^LANGUAGE 0x33@LANGUAGE 0x01@' $@
++#	sed -i -e 's@^LANGUAGE 0x55@LANGUAGE 0x22@' $@
 +.ENDIF #"$(CROSS_COMPILING)" == "yes"
  
 --- desktop/util/verinfo.rc.~1.19.12.1.~	2008-09-19 09:30:39.000000000 +0200
@@ -115,3 +117,14 @@
  APP2ICON = $(SOLARRESDIR)$/icons/ooo3_main_app.ico
  APP2LINKRES = $(MISC)$/$(TARGET)2.res
  .ENDIF
+--- desktop/source/deployment/misc/dp_misc.cxx.pristine	2009-04-06 12:16:26.807994125 +0200
++++ desktop/source/deployment/misc/dp_misc.cxx	2009-04-06 12:16:33.664089092 +0200
+@@ -55,7 +55,7 @@
+ #define UNICODE
+ #define _UNICODE
+ #define WIN32_LEAN_AND_MEAN
+-#include <Windows.h>
++#include <windows.h>
+ //#include "tools/postwin.h"
+ #endif
+ 
--- a/patches/openoffice-goodies-mingw.patch	Mon Apr 06 16:27:20 2009 +0200
+++ b/patches/openoffice-goodies-mingw.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -1,14 +1,3 @@
---- goodies/source/base3d/base3d.cxx.~1.17.~	2008-04-11 01:18:45.000000000 +0200
-+++ goodies/source/base3d/base3d.cxx	2009-02-15 20:04:49.000000000 +0100
-@@ -219,7 +219,7 @@ Base3D::Base3D(OutputDevice* pOutDev)
- #endif
- 
- 	// Fuer WIN95/NT die FP-Exceptions abschalten
--#if defined(WNT) || defined(WIN)
-+#if (defined(WNT) || defined(WIN)) && ! defined __MINGW32__
- #define SC_FPEXCEPTIONS_ON()	_control87( _MCW_EM, 0 )
- #define SC_FPEXCEPTIONS_OFF()	_control87( _MCW_EM, _MCW_EM )
- 	SC_FPEXCEPTIONS_OFF();
 --- goodies/source/inv/makefile.mk.~1.21.~	2008-07-22 19:45:33.000000000 +0200
 +++ goodies/source/inv/makefile.mk	2009-02-15 21:35:25.000000000 +0100
 @@ -114,7 +114,7 @@ $(BIN)$/applicat.rdb : makefile.mk $(SOL
--- a/patches/openoffice-i18npool-mingw.patch	Mon Apr 06 16:27:20 2009 +0200
+++ b/patches/openoffice-i18npool-mingw.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -1,40 +1,6 @@
 i18npool/source/collator/collator_unicode.cxx
 --- i18npool/source/collator/collator_unicode.cxx.~1.20.~	2008-04-10 10:57:26.000000000 +0200
 +++ i18npool/source/collator/collator_unicode.cxx	2008-10-28 16:31:43.000000000 +0100
-@@ -65,13 +65,13 @@ sal_Int32 SAL_CALL
- Collator_Unicode::compareSubstring( const OUString& str1, sal_Int32 off1, sal_Int32 len1,
- 	const OUString& str2, sal_Int32 off2, sal_Int32 len2) throw(RuntimeException)
- {
--    return collator->compare(str1.getStr() + off1, len1, str2.getStr() + off2, len2);
-+    return collator->compare((UChar const*)str1.getStr() + off1, len1, (UChar const*)str2.getStr() + off2, len2);
- }
- 
- sal_Int32 SAL_CALL
- Collator_Unicode::compareString( const OUString& str1, const OUString& str2) throw(RuntimeException)
- {
--    return collator->compare(str1.getStr(), str2.getStr());
-+    return collator->compare((UChar const*)str1.getStr(), (UChar const*)str2.getStr());
- }
- 
- extern "C" { static void SAL_CALL thisModule() {} }
-@@ -84,7 +84,7 @@ Collator_Unicode::loadCollatorAlgorithm(
-         UErrorCode status = U_ZERO_ERROR;
-         OUString rule = LocaleData().getCollatorRuleByAlgorithm(rLocale, rAlgorithm);
-         if (rule.getLength() > 0) {
--            collator = new RuleBasedCollator(rule.getStr(), status);
-+            collator = new RuleBasedCollator((UChar const*)rule.getStr(), status);
- 			if (! U_SUCCESS(status)) throw RuntimeException();
- 		}
- 		if (!collator && OUString::createFromAscii(LOCAL_RULE_LANGS).indexOf(rLocale.Language) >= 0) {
-@@ -120,7 +120,7 @@ Collator_Unicode::loadCollatorAlgorithm(
- 				}
- 				if (func) {
- 					const sal_uInt8* ruleImage=func();
--					uca_base = new RuleBasedCollator((sal_Unicode*)NULL, status);
-+					uca_base = new RuleBasedCollator((UChar const*)(sal_Unicode*)NULL, status);
- 					if (! U_SUCCESS(status)) throw RuntimeException();
- 					collator = new RuleBasedCollator(reinterpret_cast<const uint8_t*>(ruleImage), -1, uca_base, status);
- 					if (! U_SUCCESS(status)) throw RuntimeException();
 @@ -135,9 +135,9 @@ Collator_Unicode::loadCollatorAlgorithm(
  				uppercase itself, so we don't have to bother with that.
  			*/
@@ -48,29 +14,3 @@
  			// load ICU collator
  			collator = (RuleBasedCollator*) icu::Collator::createInstance(icuLocale, status);
  			if (! U_SUCCESS(status)) throw RuntimeException();
-i18npool/source/collator/gencoll_rule.cxx
---- i18npool/source/collator/gencoll_rule.cxx.~1.12.~	2008-04-10 10:57:41.000000000 +0200
-+++ i18npool/source/collator/gencoll_rule.cxx	2008-10-28 16:32:05.000000000 +0100
-@@ -118,7 +118,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
-     //UCollator *coll = ucol_openRules(Obuf.getStr(), Obuf.getLength(), UCOL_OFF, 
-     //        UCOL_DEFAULT_STRENGTH, &parseError, &status);
- 
--    RuleBasedCollator *coll = new RuleBasedCollator(Obuf.getStr(), status);
-+    RuleBasedCollator *coll = new RuleBasedCollator((UChar const*)Obuf.getStr(), status);
- 
-     if (U_SUCCESS(status)) {
- 
-i18npool/source/breakiterator/breakiterator_unicode.cxx
---- i18npool/source/breakiterator/breakiterator_unicode.cxx.~1.36.~	2008-07-02 10:52:07.000000000 +0200
-+++ i18npool/source/breakiterator/breakiterator_unicode.cxx	2008-10-28 15:56:35.000000000 +0100
-@@ -197,8 +197,8 @@ void SAL_CALL BreakIterator_Unicode::loa
-         }
-     }
- 
--    if (newBreak || icuBI->aICUText.compare(UnicodeString(rText.getStr(), rText.getLength()))) {
--        icuBI->aICUText=UnicodeString(rText.getStr(), rText.getLength());
-+    if (newBreak || icuBI->aICUText.compare(UnicodeString((UChar const*)rText.getStr(), rText.getLength()))) {
-+        icuBI->aICUText=UnicodeString((UChar const*)rText.getStr(), rText.getLength());
-         icuBI->aBreakIterator->setText(icuBI->aICUText);
-     }
- }
--- a/patches/openoffice-icc-cross.patch	Mon Apr 06 16:27:20 2009 +0200
+++ b/patches/openoffice-icc-cross.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -3,7 +3,7 @@
 @@ -55,7 +55,13 @@ CONVERTFILES= \
  	Contrib$/ICC_utils$/Vetters.cpp
  
- CONFIGURE_ACTION= $(GNUCOPY) -r $(BACK_PATH)..$/source$/create_sRGB_profile Contrib$/CmdLine && unzip $(BACK_PATH)..$/makefiles.zip
+ CONFIGURE_ACTION= $(GNUCOPY) -r $(BACK_PATH)..$/source$/create_sRGB_profile Contrib$/CmdLine && unzip $(BACK_PATH)..$/makefiles.zip && patch -p0 < $(BACK_PATH)..$/mdv-fmtargs-buildfix.patch
 +
 +.IF "$(CROSS_COMPILING)" == "no"
  BUILD_ACTION=dmake &&  cd Contrib$/CmdLine$/create_sRGB_profile && .$/create_sRGB_profile
--- a/patches/openoffice-postprocess-mingw.patch	Mon Apr 06 16:27:20 2009 +0200
+++ b/patches/openoffice-postprocess-mingw.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -9,9 +9,9 @@
 --- postprocess/rebase/makefile.mk.~1.10.~	2008-04-10 10:48:57.000000000 +0200
 +++ postprocess/rebase/makefile.mk	2008-11-07 17:46:19.000000000 +0100
 @@ -48,13 +48,13 @@ IMAGENAMES=$(SOLARBINDIR)$/*.dll $(SOLAR
- ALLTAR : $(BASEADDRESSES)
+ ALLTAR : REBASE
  
- $(BASEADDRESSES) .PHONY :
+ REBASE .PHONY : $(BASEADDRESSES)
 -.IF "$(GUI)"=="WNT"
 +.IF "$(GUI)"=="WNT" && "$(CROSS_COMPILING)" == "no"
  .IF "$(product)"=="full"
--- a/patches/openoffice-sal-mingw-c.patch	Mon Apr 06 16:27:20 2009 +0200
+++ b/patches/openoffice-sal-mingw-c.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -24,9 +24,9 @@
  #ifdef __MINGW32__
  		atexit(do_cleanup);
  }
---- sal/systools/win32/uwinapi/ResolveUnicows.cpp.~1.4.~	2008-06-06 19:02:43.000000000 +0200
-+++ sal/systools/win32/uwinapi/ResolveUnicows.cpp	2008-10-21 21:53:19.000000000 +0200
-@@ -227,8 +226,8 @@
+--- sal/systools/win32/uwinapi/ResolveUnicows.cpp.pristine	2008-10-01 10:05:18.000000000 +0200
++++ sal/systools/win32/uwinapi/ResolveUnicows.cpp	2009-04-04 14:43:41.198056996 +0200
+@@ -227,8 +226,8 @@ DEFINE_UNICOWS_THUNK( kernel32, DWORD, W
  DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, GetFileAttributesExW, (LPCWSTR,GET_FILEEX_INFO_LEVELS,PVOID) )
  DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetFileAttributesW, (LPCWSTR) )
  DEFINE_UNICOWS_THUNK( comdlg32, short, WINAPI, GetFileTitleW, (LPCWSTR,LPWSTR,WORD) )
@@ -37,7 +37,21 @@
  DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetFullPathNameW, (LPCWSTR,DWORD,LPWSTR,LPWSTR*) )
  DEFINE_UNICOWS_THUNK( gdi32, DWORD, WINAPI, GetGlyphOutlineW, (HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*) )
  DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, GetICMProfileW, (HDC,LPDWORD,LPWSTR) )
-@@ -456,7 +455,7 @@
+@@ -273,7 +272,7 @@ DEFINE_UNICOWS_THUNK( kernel32, BOOL, WI
+ DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, GetStringTypeW, (DWORD,LPCWSTR,int,LPWORD) )
+ DEFINE_UNICOWS_THUNK( kernel32, UINT, WINAPI, GetSystemDirectoryW, (LPWSTR,UINT) )
+ DEFINE_UNICOWS_THUNK( kernel32, UINT, WINAPI, GetSystemWindowsDirectoryW, (LPWSTR,UINT) )
+-DEFINE_UNICOWS_THUNK( user32, DWORD, WINAPI, GetTabbedTextExtentW, (HDC,LPCWSTR,int,int,CONST INT*) )
++DEFINE_UNICOWS_THUNK( user32, DWORD, WINAPI, GetTabbedTextExtentW, (HDC,LPCWSTR,int,int,int*) )
+ DEFINE_UNICOWS_THUNK( kernel32, UINT, WINAPI, GetTempFileNameW, (LPCWSTR,LPCWSTR,UINT,LPWSTR) )
+ DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetTempPathW, (DWORD,LPWSTR) )
+ DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, GetTextExtentExPointW, ( HDC,LPCWSTR,int,int,LPINT,LPINT,LPSIZE ) )
+@@ -452,11 +451,11 @@ DEFINE_UNICOWS_THUNK( shell32, BOOL, WIN
+ DEFINE_UNICOWS_THUNK( winspool, DWORD, WINAPI, StartDocPrinterW, (HANDLE,DWORD,PBYTE) )
+ DEFINE_UNICOWS_THUNK( gdi32, int, WINAPI, StartDocW, (HDC,const DOCINFOW*) )
+ DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, SystemParametersInfoW, (UINT,UINT,PVOID,UINT) )
+-DEFINE_UNICOWS_THUNK( user32, LONG, WINAPI, TabbedTextOutW, (HDC,int,int,LPCWSTR,int,int,CONST INT*,int) )
++DEFINE_UNICOWS_THUNK( user32, LONG, WINAPI, TabbedTextOutW, (HDC,int,int,LPCWSTR,int,int,int*,int) )
  DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, TextOutW, (HDC,int,int,LPCWSTR,int) )
  DEFINE_UNICOWS_THUNK( user32, int, WINAPI, TranslateAcceleratorW, (HWND,HACCEL,LPMSG) )
  DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, UnregisterClassW, (LPCWSTR,HINSTANCE) )
@@ -59,3 +73,27 @@
  
  #define elementsof(a) (sizeof(a)/sizeof((a)[0]))
  
+--- sal/systools/win32/uwinapi/FindFirstVolumeA.cpp.pristine	2009-04-04 14:52:00.555999097 +0200
++++ sal/systools/win32/uwinapi/FindFirstVolumeA.cpp	2009-04-04 14:52:48.552103971 +0200
+@@ -30,4 +30,4 @@
+ 
+ #include "macros.h"
+ 
+-DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, HANDLE, WINAPI, FindFirstVolumeA, (LPSTR lpszVolumeName, DWORD cchBufferLength) )
++DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, HANDLE, WINAPI, FindFirstVolumeA, (LPCSTR lpszVolumeName, DWORD cchBufferLength) )
+--- sal/systools/win32/uwinapi/FindFirstVolumeW.cpp.pristine	2009-04-04 14:54:12.396004697 +0200
++++ sal/systools/win32/uwinapi/FindFirstVolumeW.cpp	2008-04-10 14:17:09.000000000 +0200
+@@ -30,4 +30,4 @@
+ 
+ #include "macros.h"
+ 
+-DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, HANDLE, WINAPI, FindFirstVolumeW, (LPWSTR lpszVolumeName, DWORD cchBufferLength) )
++DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, HANDLE, WINAPI, FindFirstVolumeW, (LPCWSTR lpszVolumeName, DWORD cchBufferLength) )
+--- sal/systools/win32/uwinapi/FindNextVolumeA.cpp.pristine	2009-04-04 14:57:51.380374861 +0200
++++ sal/systools/win32/uwinapi/FindNextVolumeA.cpp	2009-04-04 14:57:58.987999943 +0200
+@@ -30,4 +30,4 @@
+ 
+ #include "macros.h"
+ 
+-DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, FindNextVolumeA, (HANDLE hFindVolume, LPSTR lpszVolumeName, DWORD cchBufferLength) )
++DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, FindNextVolumeA, (HANDLE hFindVolume, LPCSTR lpszVolumeName, DWORD cchBufferLength) )
--- a/patches/openoffice-scp2-mingw.patch	Mon Apr 06 16:27:20 2009 +0200
+++ b/patches/openoffice-scp2-mingw.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -56,9 +56,9 @@
  
 -#if defined(WNT)
 +#if defined(WNT) && ! defined __CROSS__
+ STD_UNO_LIB_FILE( gid_File_Lib_Ado, ado)
+ #endif
  
- File gid_File_Lib_Ado_2
-     TXT_FILE_BODY;
 @@ -656,7 +656,7 @@
  
  STD_UNO_LIB_FILE( gid_File_Lib_Fwm , fwm)
--- a/patches/openoffice-shell-mingw.patch	Mon Apr 06 16:27:20 2009 +0200
+++ b/patches/openoffice-shell-mingw.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -247,11 +247,11 @@
  .INCLUDE :	target.mk
 --- shell/source/win32/shlxthandler/classfactory.cxx.~1.6.~	2008-04-11 10:15:02.000000000 +0200
 +++ shell/source/win32/shlxthandler/classfactory.cxx	2008-11-04 11:08:46.000000000 +0100
-@@ -35,7 +35,11 @@
- #include "internal/infotips.hxx"
- #include "internal/propsheets.hxx"
- #include "internal/columninfo.hxx"
-+#ifdef __MINGW32__
+@@ -39,8 +38,10 @@
+ #include <algorithm>
+ using ::std::max;
+ using ::std::min;
+-#endif
 +#define IID_IExtractImage 0
 +#else /* !__MINGW32__ */
  #include "internal/thumbviewer.hxx"
@@ -287,7 +287,7 @@
  .INCLUDE :	set_wntx64.mk
 --- shell/source/win32/shlxthandler/res/makefile.mk.~1.8.~	2008-04-11 10:23:02.000000000 +0200
 +++ shell/source/win32/shlxthandler/res/makefile.mk	2008-11-04 10:53:13.000000000 +0100
-@@ -63,4 +63,20 @@ ULFDIR:=.
+@@ -63,4 +63,22 @@ ULFDIR:=.
  
  $(RCFILES) : $(ULFDIR)$/shlxthdl.ulf makefile.mk rcfooter.txt rcheader.txt rctmpl.txt
      $(WRAPCMD) $(BIN)$/lngconvex.exe -ulf $(ULFDIR)$/shlxthdl.ulf -rc $(RES)$/shlxthdl.rc -rct rctmpl.txt -rch rcheader.txt -rcf rcfooter.txt
@@ -298,14 +298,16 @@
 +	sed -i -e 's@\\x\([0-9a-f][0-9a-f][0-9a-f]["\\]\)@\\x0\1@g' $@
 +	sed -i -e 's@\([ ,]\)"@\1L"@g' $@
 +	sed -i -e 's@include L"@include "@' $@
-+	sed -i -e 's@^LANGUAGE 0x211@LANGUAGE 0x21@' $@
-+	sed -i -e 's@^LANGUAGE 0x226@LANGUAGE 0x26@' $@
-+	sed -i -e 's@^LANGUAGE 0x22c@LANGUAGE 0x2c@' $@
-+	sed -i -e 's@^LANGUAGE 0x22b@LANGUAGE 0x2b@' $@
-+	sed -i -e 's@^LANGUAGE 0x30@LANGUAGE 0x2d@' $@
-+	sed -i -e 's@^LANGUAGE 0x73@LANGUAGE 0x2a@' $@
-+	sed -i -e 's@^LANGUAGE 0x31@LANGUAGE 0x2e@' $@
-+	sed -i -e 's@^LANGUAGE 0x33@LANGUAGE 0x01@' $@
++	pytt '\r\n' '\n' $@
++	pytt '^LANGUAGE 0x244(.|\n)*' '' $@
++#	sed -i -e 's@^LANGUAGE 0x211@LANGUAGE 0x21@' $@
++#	sed -i -e 's@^LANGUAGE 0x226@LANGUAGE 0x26@' $@
++#	sed -i -e 's@^LANGUAGE 0x22c@LANGUAGE 0x2c@' $@
++#	sed -i -e 's@^LANGUAGE 0x22b@LANGUAGE 0x2b@' $@
++#	sed -i -e 's@^LANGUAGE 0x30@LANGUAGE 0x2d@' $@
++#	sed -i -e 's@^LANGUAGE 0x73@LANGUAGE 0x2a@' $@
++#	sed -i -e 's@^LANGUAGE 0x31@LANGUAGE 0x2e@' $@
++#	sed -i -e 's@^LANGUAGE 0x33@LANGUAGE 0x01@' $@
 +.ENDIF #"$(CROSS_COMPILING)" == "yes"
      
 --- shell/inc/internal/infotips.hxx.~1.5.~	2008-04-11 09:43:15.000000000 +0200
--- a/patches/openoffice-solenv-mingw.patch	Mon Apr 06 16:27:20 2009 +0200
+++ b/patches/openoffice-solenv-mingw.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -25,8 +25,8 @@
  #CFLAGS=-c -Wall -I$(INCLUDE) $(OLE2DEF)
  # new:
  #CYGINC=$(INCLUDE:s/-I /-I/:+"  ":s/;/ -I/:s/-I  //:s/   / /)
--CFLAGS=-fmessage-length=0 -c -nostdinc -fpcc-struct-return $(OLE2DEF)
-+CFLAGS=-fmessage-length=0 -c -fpcc-struct-return $(OLE2DEF)
+-CFLAGS=-fmessage-length=0 -c -nostdinc $(OLE2DEF)
++CFLAGS=-fmessage-length=0 -c $(OLE2DEF)
 +.IF "$(CROSS_COMPILING)" == "no"
 +CFLAGS += -nostdinc
 +.ELSE # "$(CROSS_COMPILING)" == "yes"
--- a/patches/openoffice-srcdir-build.patch	Mon Apr 06 16:27:20 2009 +0200
+++ b/patches/openoffice-srcdir-build.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -328,6 +328,16 @@
  
  old_gnome_files = \
  	openoffice.applications.in \
--- 
-1.6.0.rc1.49.g98a8
-
+diff --git a/patches/apply.pl.in b/patches/apply.pl.in
+index 24bd678..e4f6e47 100755
+--- a/patches/apply.pl.in
++++ b/patches/apply.pl.in
+@@ -12,6 +12,8 @@ sub get_search_paths()
+     my @paths = ();
+     my @search = split (/:/, $options{'PATCHPATH'});
+ 
++    # Some patches are now generated by configure from *.in into build dir.
++    push @paths, '@TOP_BUILDDIR@/patches/dev300';
+     for my $stem (@search) {
+ 	push @paths, "$patch_dir/$stem";
+     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/openoffice-sw-disable-vba-consistency.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -0,0 +1,17 @@
+--- sw/util/makefile.mk.pristine	2009-04-06 16:16:26.727997047 +0200
++++ sw/util/makefile.mk	2009-04-06 16:16:02.788069269 +0200
+@@ -348,6 +348,7 @@ SHL4STDLIBS= \
+     $(BASICLIB)     \
+ 	$(I18NUTILLIB)
+ 
++.IF "$(ENABLE_VBA)"=="YES" # correspond with source/ui/vba/makefile.mk
+ #target vba
+ TARGET_VBA=vbaswobj
+ SHL5TARGET=$(TARGET_VBA)$(DLLPOSTFIX).uno
+@@ -376,5 +377,6 @@ SHL5STDLIBS= \
+ 
+ SHL5DEPN=$(SHL1TARGETN)
+ SHL5LIBS=$(SLB)$/$(TARGET_VBA).lib
++.ENDIF #"$(ENABLE_VBA)"!="YES"
+ 
+ .INCLUDE :  target.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/openoffice-vbahelper-mingw.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -0,0 +1,13 @@
+--- vbahelper/source/msforms/makefile.mk.pristine	2009-04-06 10:21:06.076111395 +0200
++++ vbahelper/source/msforms/makefile.mk	2009-04-06 10:22:08.329279423 +0200
+@@ -61,6 +61,10 @@ SLOFILES=\
+     $(SLO)$/vbauserform.obj \
+     $(SLO)$/service.obj \
+ 
++.IF "$(CROSS_COMPILING)" == "yes"
++SLOFILES += $(SLO)$/vbapropvalue.obj
++.ENDIF #"$(CROSS_COMPILING)" == "yes"
++
+ # #FIXME vbapropvalue needs to move to vbahelper
+ 
+ # --- Targets -------------------------------------------------------
--- a/patches/openoffice-vcl-mingw.patch	Mon Apr 06 16:27:20 2009 +0200
+++ b/patches/openoffice-vcl-mingw.patch	Mon Apr 06 16:34:48 2009 +0200
@@ -9,8 +9,8 @@
  #endif
  #include <saldata.hxx>
  #include <saltimer.h>
---- vcl/win/source/app/salinst.cxx.pristine	2008-10-30 13:15:44.000000000 +0100
-+++ vcl/win/source/app/salinst.cxx	2008-10-30 13:13:24.000000000 +0100
+--- vcl/win/source/app/salinst.cxx.pristine	2009-02-18 16:18:51.000000000 +0100
++++ vcl/win/source/app/salinst.cxx	2009-04-04 16:28:58.940770892 +0200
 @@ -37,7 +37,7 @@
  #include <process.h>
  #endif
@@ -20,6 +20,45 @@
  #endif
  
  #include <vos/mutex.hxx>
+@@ -67,9 +67,11 @@
+ #pragma warning(push, 1)
+ #endif
+ 
++#ifndef __MINGW32__
+ #include <GdiPlus.h>
+ #include <GdiPlusEnums.h>
+ #include <GdiPlusColor.h>
++#endif /* __MINGW32__ */
+ 
+ #if defined _MSC_VER
+ #pragma warning(pop)
+@@ -456,10 +458,12 @@ void InitSalData()
+ {
+ 	SalData* pSalData = new SalData;
+ 	CoInitialize(0);
+ 
++#ifndef __MINGW32__
+     // init GDIPlus
+     static Gdiplus::GdiplusStartupInput gdiplusStartupInput;
+     Gdiplus::GdiplusStartup(&pSalData->gdiplusToken, &gdiplusStartupInput, NULL);
++#endif /* __MINGW32__ */
+ }
+ 
+ 
+@@ -468,11 +471,13 @@ void DeInitSalData()
+ 	CoUninitialize();
+ 	SalData* pSalData = GetSalData();
+ 
++#ifndef __MINGW32__
+     // deinit GDIPlus
+     if(pSalData)
+     {
+         Gdiplus::GdiplusShutdown(pSalData->gdiplusToken);
+     }
++#endif /* __MINGW32__ */
+ 
+     delete pSalData;
+ }
 --- vcl/win/source/src/salsrc.rc.pristine	2008-10-30 13:51:23.000000000 +0100
 +++ vcl/win/source/src/salsrc.rc	2008-10-30 13:53:31.000000000 +0100
 @@ -35,90 +35,90 @@
@@ -276,18 +315,23 @@
  #include <string.h>
  #include <malloc.h>
  #include <tools/svwin.h>
---- vcl/win/source/window/salframe.cxx.pristine	2008-10-30 13:58:42.000000000 +0100
-+++ vcl/win/source/window/salframe.cxx	2008-10-30 14:01:46.000000000 +0100
-@@ -45,7 +45,7 @@
+--- vcl/win/source/window/salframe.cxx.pristine	2009-04-03 21:43:22.740500000 +0200
++++ vcl/win/source/window/salframe.cxx	2009-04-04 19:52:21.487998727 +0200
+@@ -52,7 +52,12 @@
  #include <tools/svwin.h>
  #endif
  #ifdef __MINGW32__
 -#include <excpt.h>
 +#include <sehandler.h>
++typedef struct tagRECONVERTSTRING FAR *LPRECONVERTSTRING;
++#define SCS_CAP_SETRECONVERTSTRING 0x00000004
++#define SCS_QUERYRECONVERTSTRING 0x00020000
++#define SCS_SETRECONVERTSTRING 0x00010000
++#define IMR_CONFIRMRECONVERTSTRING 0x0005
  #endif
  #include <rtl/string.h>
  #include <rtl/ustring.h>
-@@ -86,8 +86,10 @@
+@@ -93,8 +98,10 @@
  #ifndef _VCL_IMPDEL_HXX
  #include <impdel.hxx>
  #endif
@@ -296,9 +340,9 @@
  #include <multimon.h>
 +#endif /* __MINGW32__ */
  #include <vector>
- 
- #include <com/sun/star/uno/Exception.hdl>
-@@ -873,6 +875,7 @@ static void ImplSalCalcFullScreenSize( c
+ #ifdef __MINGW32__
+ #include <algorithm>
+@@ -884,6 +891,7 @@ static void ImplSalCalcFullScreenSize( c
      else
          nCaptionY = 0;
  
@@ -306,7 +350,7 @@
  	try
  	{
          Reference< XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory(), UNO_QUERY_THROW );
-@@ -900,7 +903,7 @@ static void ImplSalCalcFullScreenSize( c
+@@ -911,7 +919,7 @@ static void ImplSalCalcFullScreenSize( c
  	catch( Exception& )
  	{
  	}
@@ -315,47 +359,66 @@
  	if( !nScreenDX || !nScreenDY )
  	{
  	    nScreenDX   = GetSystemMetrics( SM_CXSCREEN );
-@@ -5592,6 +5630,7 @@ static BOOL ImplHandleIMEEndComposition(
- static void ImplHandleAppCommand( HWND hWnd, LPARAM lParam )
+@@ -5640,6 +5648,7 @@ static BOOL ImplHandleIMEEndComposition(
+ static boolean ImplHandleAppCommand( HWND hWnd, LPARAM lParam )
  {
  	sal_Int16 nCommand = 0;
 +#ifndef __MINGW32__
  	switch( GET_APPCOMMAND_LPARAM(lParam) )
  	{
  	case APPCOMMAND_MEDIA_CHANNEL_DOWN:			nCommand = MEDIA_COMMAND_CHANNEL_DOWN; break;
-@@ -5615,7 +5654,7 @@ static void ImplHandleAppCommand( HWND h
+@@ -5663,7 +5672,7 @@ static boolean ImplHandleAppCommand( HWN
  	default:
- 		return;
+ 		return false;
  	}
 -
 +#endif /* __MINGW32__ */
      WinSalFrame* pFrame = GetWindowPtr( hWnd );
  	Window *pWindow = pFrame ? pFrame->GetWindow() : NULL;
  
-@@ -6100,10 +6139,11 @@ LRESULT CALLBACK SalFrameWndProc( HWND h
-         case WM_IME_NOTIFY:
-             ImplHandleIMENotify( hWnd, wParam );
-             break;
--
-+#ifndef __MINGW32__
- 		case WM_APPCOMMAND:
- 			ImplHandleAppCommand( hWnd, lParam );
- 			break;
-+#endif /* __MINGW32__ */
-     }
+--- vcl/util/makefile.mk.pristine	2009-04-04 19:55:53.764002766 +0200
++++ vcl/util/makefile.mk	2009-04-04 19:55:42.260224623 +0200
+@@ -229,13 +229,16 @@ SHL1STDLIBS += $(PSPLIB)
+ 
+ SHL1STDLIBS += $(UWINAPILIB)      \
+                $(GDI32LIB)        \
+-			   $(GDIPLUSLIB)	  \
+                $(MSIMG32LIB)      \
+                $(WINSPOOLLIB)     \
+                $(OLE32LIB)        \
+                $(SHELL32LIB)      \
+                $(ADVAPI32LIB)
  
-     // WheelMouse-Message abfangen
---- vcl/source/gdi/sallayout.cxx.pristine	2008-10-30 13:15:44.000000000 +0100
-+++ vcl/source/gdi/sallayout.cxx	2008-10-30 13:30:19.000000000 +0100
-@@ -35,7 +35,10 @@
++.IF "$(CROSS_COMPILING)" != "yes"
++SHL1STDLIBS += $(GDIPLUSLIB)
++.ENDIF # "$(CROSS_COMPILING)" != "yes"
++
+ .IF "$(COM)" == "GCC"
+ SHL1STDLIBS += $(IMM32LIB)
+ .ELSE
+--- vcl/win/source/gdi/salgdi_gdiplus.cxx.pristine	2009-04-04 20:44:51.940500589 +0200
++++ vcl/win/source/gdi/salgdi_gdiplus.cxx	2009-04-04 20:46:19.256479562 +0200
+@@ -39,6 +39,18 @@
+ #include <salgdi.h>
+ #include <tools/debug.hxx>
  
- #define _USE_MATH_DEFINES
- #include <math.h>
--#include <sal/alloca.h>
 +#ifdef __MINGW32__
-+#include <malloc.h>
-+#endif /* __MINGW32__ */
-+#include <sal/types.h>
++bool WinSalGraphics::drawPolyPolygon( const ::basegfx::B2DPolyPolygon&, double)
++{
++  return false;
++}
++
++bool WinSalGraphics::drawPolyLine(const basegfx::B2DPolygon&, const basegfx::B2DVector&, basegfx::B2DLineJoin)
++{
++  return false;
++}
++#else /* !__MINGW32__ */
++
+ #ifndef min
+ #define min(a,b)	(((a) < (b)) ? (a) : (b))
+ #endif
+@@ -193,3 +205,4 @@ bool WinSalGraphics::drawPolyLine(const 
+ }
  
- #ifndef _SV_SVSYS_HXX
- #include <svsys.h>
+ // -----------------------------------------------------------------------
++#endif /* !__MINGW32__ */