[Libreoffice-commits] .: Branch 'feature/gnumake4' - 10 commits - basebmp/CppunitTest_basebmp.mk basebmp/Library_basebmp.mk basebmp/Module_basebmp.mk basegfx/inc basegfx/Module_basegfx.mk basegfx/StaticLibrary_basegfx_s.mk canvas/inc canvas/Library_cairocanvas.mk canvas/Library_directx5canvas.mk canvas/Module_canvas.mk i18npool/source regexp/inc regexp/Library_regexp.mk regexp/Makefile regexp/Module_regexp.mk regexp/Package_inc.mk regexp/prj regexp/source sax/CppunitTest_sax.mk sax/Library_expwrap.mk sax/Library_fastsax.mk sax/Library_sax.mk sax/Makefile sax/Module_sax.mk sax/Package_inc.mk sax/prj sax/qa sax/source sax/util

Bjoern Michaelsen bmichaelsen at kemper.freedesktop.org
Thu Jun 16 17:08:32 PDT 2011


 basebmp/CppunitTest_basebmp.mk              |   10 
 basebmp/Library_basebmp.mk                  |   13 
 basebmp/Module_basebmp.mk                   |    1 
 basegfx/Module_basegfx.mk                   |    1 
 basegfx/StaticLibrary_basegfx_s.mk          |  123 ++++++++
 basegfx/inc/basegfx/basegfxdllapi.h         |   84 +++---
 canvas/Library_cairocanvas.mk               |    2 
 canvas/Library_directx5canvas.mk            |   51 ++-
 canvas/Module_canvas.mk                     |   11 
 canvas/inc/canvas/canvastoolsdllapi.h       |   37 --
 i18npool/source/localedata/data/makefile.mk |    2 
 i18npool/source/search/makefile.mk          |    6 
 regexp/Library_regexp.mk                    |   52 +++
 regexp/Makefile                             |   38 ++
 regexp/Module_regexp.mk                     |   35 ++
 regexp/Package_inc.mk                       |   31 ++
 regexp/inc/makefile.mk                      |   47 ---
 regexp/inc/pch/precompiled_regexp.cxx       |   29 --
 regexp/inc/pch/precompiled_regexp.hxx       |   32 --
 regexp/inc/regexp/reclass.hxx               |  391 ++++++++++++++++++++++++++++
 regexp/prj/build.lst                        |    4 
 regexp/prj/d.lst                            |    8 
 regexp/prj/makefile.mk                      |   40 ++
 regexp/source/makefile.mk                   |   70 -----
 regexp/source/reclass.cxx                   |    7 
 sax/CppunitTest_sax.mk                      |   47 +++
 sax/Library_expwrap.mk                      |   83 +++++
 sax/Library_fastsax.mk                      |   87 ++++++
 sax/Library_sax.mk                          |   57 ++++
 sax/Makefile                                |   38 ++
 sax/Module_sax.mk                           |   41 ++
 sax/Package_inc.mk                          |   34 ++
 sax/prj/build.lst                           |    7 
 sax/prj/d.lst                               |   16 -
 sax/prj/makefile.mk                         |   40 ++
 sax/qa/cppunit/test_converter.cxx           |    1 
 sax/source/expatwrap/attrlistimpl.hxx       |    3 
 sax/source/expatwrap/makefile.mk            |   87 ------
 sax/source/expatwrap/sax_expat.cxx          |    4 
 sax/source/fastparser/facreg.cxx            |    4 
 sax/source/fastparser/makefile.mk           |   79 -----
 sax/source/tools/makefile.mk                |   67 ----
 sax/util/makefile.mk                        |   68 ----
 sax/util/makefile.pmk                       |   30 --
 44 files changed, 1238 insertions(+), 680 deletions(-)

New commits:
commit 202a1f36ea03f1e174eb414555b3a356d406fdbd
Author: Michael Stahl <mst at openoffice.org>
Date:   Mon Mar 14 17:45:57 2011 +0100

    gnumake4: fix uses of sax components [hg:4f7ea9a34847]

diff --git a/i18npool/source/localedata/data/makefile.mk b/i18npool/source/localedata/data/makefile.mk
index 54b412d..66a1fad 100644
--- a/i18npool/source/localedata/data/makefile.mk
+++ b/i18npool/source/localedata/data/makefile.mk
@@ -45,7 +45,7 @@ my_file = file:///
 my_file = file://
 .END
 
-my_components = sax.inbuild
+my_components = component/sax/source/expatwrap/expwrap.inbuild
 
 # --- Settings -----------------------------------------------------
 
commit 85af6b8b3c1df3436e48e93597f5a7fd0a12f85b
Author: Michael Stahl <mst at openoffice.org>
Date:   Mon Mar 14 15:09:39 2011 +0100

    gnumake4: expat libraries are static [hg:3daa2bed1277]

diff --git a/sax/Library_expwrap.mk b/sax/Library_expwrap.mk
index 9c73522..2c03ccf 100644
--- a/sax/Library_expwrap.mk
+++ b/sax/Library_expwrap.mk
@@ -67,7 +67,7 @@ $(eval $(call gb_Library_set_defs,expwrap,\
 	$$(DEFS) \
 	-DXML_UNICODE \
 ))
-$(eval $(call gb_Library_add_linked_libs,expwrap,\
+$(eval $(call gb_Library_add_linked_static_libs,expwrap,\
 	expat_xmlparse \
 	expat_xmltok \
 ))
diff --git a/sax/Library_fastsax.mk b/sax/Library_fastsax.mk
index 8fe2333..1ee51ee 100644
--- a/sax/Library_fastsax.mk
+++ b/sax/Library_fastsax.mk
@@ -64,7 +64,7 @@ $(eval $(call gb_Library_add_linked_libs,fastsax,\
 	expat \
 ))
 else
-$(eval $(call gb_Library_add_linked_libs,fastsax,\
+$(eval $(call gb_Library_add_linked_static_libs,fastsax,\
 	expat_xmlparse \
 	expat_xmltok \
 ))
commit b68ad7f40f5617c52305e7d7879eb8070a366a99
Author: Michael Stahl <mst at openoffice.org>
Date:   Mon Mar 14 15:09:15 2011 +0100

    gnumake4: basebmp: add necessary workarounds for SunCC [hg:3754657d8ff7]

diff --git a/basebmp/CppunitTest_basebmp.mk b/basebmp/CppunitTest_basebmp.mk
index 878b14b..ae4b6bb 100644
--- a/basebmp/CppunitTest_basebmp.mk
+++ b/basebmp/CppunitTest_basebmp.mk
@@ -39,16 +39,6 @@ $(eval $(call gb_CppunitTest_add_exception_objects,basebmp_test, \
 	basebmp/test/tools \
 ))
 
-# TODO
-# SunStudio 12 (-m64 and -m32 modes): three test cases of the unit tests fail
-# if compiled with default -xalias_level (and optimization level -xO3)
-#.IF "$(OS)"=="SOLARIS"
-# For Sun Studio 8 this switch does not work: compilation fails on bitmapdevice.cxx
-#.IF "$(CCNUMVER)"!="00050005"
-#CDEFS+=-xalias_level=compatible
-#.ENDIF
-#.ENDIF
-
 $(eval $(call gb_CppunitTest_add_linked_libs,basebmp_test, \
 	basebmp \
 	sal \
diff --git a/basebmp/Library_basebmp.mk b/basebmp/Library_basebmp.mk
index 703ddc3..a835c41 100644
--- a/basebmp/Library_basebmp.mk
+++ b/basebmp/Library_basebmp.mk
@@ -41,8 +41,6 @@ $(eval $(call gb_Library_set_defs,basebmp,\
 	-DBASEBMP_DLLIMPLEMENTATION \
 ))
 
-# add libraries to be linked to basebmp; again these names need to be given as
-# specified in Repository.mk
 $(eval $(call gb_Library_add_linked_libs,basebmp,\
     sal \
     basegfx \
@@ -50,12 +48,19 @@ $(eval $(call gb_Library_add_linked_libs,basebmp,\
     $(gb_STDLIBS) \
 ))
 
-# add all source files that shall be compiled with exceptions enabled
-# the name is relative to $(SRCROOT) and must not contain an extension
+ifeq ($(OS),SOLARIS)
+$(eval $(call gb_Library_add_cxxobjects,basebmp, \
+	basebmp/source/bitmapdevice \
+	basebmp/source/debug \
+	basebmp/source/polypolygonrenderer \
+    , $(gb_COMPILEROPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) -xalias_level=compatible \
+))
+else
 $(eval $(call gb_Library_add_exception_objects,basebmp,\
 	basebmp/source/bitmapdevice \
 	basebmp/source/debug \
 	basebmp/source/polypolygonrenderer \
 ))
+endif
 
 # vim: set noet sw=4 ts=4:
diff --git a/basebmp/Module_basebmp.mk b/basebmp/Module_basebmp.mk
index 0329d1c..7ac5d94 100644
--- a/basebmp/Module_basebmp.mk
+++ b/basebmp/Module_basebmp.mk
@@ -36,5 +36,4 @@ $(eval $(call gb_Module_add_check_targets,basebmp,\
 	CppunitTest_basebmp \
 ))
 
-
 # vim: set noet sw=4 ts=4:
commit e1e16eb7da09285b266c9ceaf97fefb92dd13e52
Author: Michael Stahl <mst at openoffice.org>
Date:   Mon Mar 14 15:08:59 2011 +0100

    gnumake4: remove DOS lineendings from new dllapi files, add terminating newline [hg:6a190c99c8ff]

diff --git a/basegfx/inc/basegfx/basegfxdllapi.h b/basegfx/inc/basegfx/basegfxdllapi.h
index 791343c..ae0da23 100644
--- a/basegfx/inc/basegfx/basegfxdllapi.h
+++ b/basegfx/inc/basegfx/basegfxdllapi.h
@@ -1,45 +1,47 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef INCLUDED_BASEGFXDLLAPI_H
-#define  INCLUDED_BASEGFXDLLAPI_H
-
-#if defined BASEGFX_STATICLIBRARY
-#define BASEGFX_DLLPUBLIC 
-#define BASEGFX_DLLPRIVATE 
-
-#else
-
-#if defined BASEGFX_DLLIMPLEMENTATION
-#define BASEGFX_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
-#else
-#define BASEGFX_DLLPUBLIC SAL_DLLPUBLIC_IMPORT
-#endif
-#define BASEGFX_DLLPRIVATE SAL_DLLPRIVATE
-
-#endif
-
-#endif
\ No newline at end of file
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org.  If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef INCLUDED_BASEGFXDLLAPI_H
+#define INCLUDED_BASEGFXDLLAPI_H
+
+#if defined BASEGFX_STATICLIBRARY
+
+#define BASEGFX_DLLPUBLIC
+#define BASEGFX_DLLPRIVATE
+
+#else /*BASEGFX_STATICLIBRARY*/
+
+#if defined BASEGFX_DLLIMPLEMENTATION
+#define BASEGFX_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
+#else
+#define BASEGFX_DLLPUBLIC SAL_DLLPUBLIC_IMPORT
+#endif
+#define BASEGFX_DLLPRIVATE SAL_DLLPRIVATE
+
+#endif /*BASEGFX_STATICLIBRARY*/
+
+#endif
+
diff --git a/canvas/inc/canvas/canvastoolsdllapi.h b/canvas/inc/canvas/canvastoolsdllapi.h
index 635aa4d..3e50191 100644
--- a/canvas/inc/canvas/canvastoolsdllapi.h
+++ b/canvas/inc/canvas/canvastoolsdllapi.h
@@ -1,37 +1,38 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef INCLUDED_CANVASTOOLSDLLAPI_H
-#define  INCLUDED_CANVASTOOLSDLLAPI_H
-
-#if defined CANVASTOOLS_DLLIMPLEMENTATION
-#define CANVASTOOLS_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
-#else
-#define CANVASTOOLS_DLLPUBLIC SAL_DLLPUBLIC_IMPORT
-#endif
-#define CANVASTOOLS_DLLPRIVATE SAL_DLLPRIVATE
-
-#endif
\ No newline at end of file
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org.  If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef INCLUDED_CANVASTOOLSDLLAPI_H
+#define INCLUDED_CANVASTOOLSDLLAPI_H
+
+#if defined CANVASTOOLS_DLLIMPLEMENTATION
+#define CANVASTOOLS_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
+#else
+#define CANVASTOOLS_DLLPUBLIC SAL_DLLPUBLIC_IMPORT
+#endif
+#define CANVASTOOLS_DLLPRIVATE SAL_DLLPRIVATE
+
+#endif
+
commit 15aa291f73475dc72215e8f895fb7865651e79a6
Author: Mathias Bauer <mba at openoffice.org>
Date:   Wed Mar 2 14:38:51 2011 +0100

    CWS gnumake4: some fixes for Windows [hg:9eb9b5d5181e]

diff --git a/sax/CppunitTest_sax.mk b/sax/CppunitTest_sax.mk
index d29632d..b870f40 100644
--- a/sax/CppunitTest_sax.mk
+++ b/sax/CppunitTest_sax.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_CppunitTest_add_linked_libs,sax_cppunit, \
 	cppunit \
 	sax \
 	sal \
+	stl \
     $(gb_STDLIBS) \
 ))
 
diff --git a/sax/Library_expwrap.mk b/sax/Library_expwrap.mk
index 58afe9d..9c73522 100644
--- a/sax/Library_expwrap.mk
+++ b/sax/Library_expwrap.mk
@@ -46,25 +46,32 @@ $(eval $(call gb_Library_set_defs,expwrap,\
 ))
 endif
 
+$(eval $(call gb_Library_add_linked_libs,expwrap,\
+	sal \
+	cppu \
+	cppuhelper \
+	stl \
+    $(gb_STDLIBS) \
+))
+
 ifeq ($(SYSTEM_EXPAT),YES)
 $(eval $(call gb_Library_set_defs,expwrap,\
 	$$(DEFS) \
 	-DSYSTEM_EXPAT \
 ))
+$(eval $(call gb_Library_add_linked_libs,expwrap,\
+	expat \
+))
 else
 $(eval $(call gb_Library_set_defs,expwrap,\
 	$$(DEFS) \
 	-DXML_UNICODE \
 ))
-endif
-
 $(eval $(call gb_Library_add_linked_libs,expwrap,\
-	sal \
-	cppu \
-	cppuhelper \
-	expat \
-    $(gb_STDLIBS) \
+	expat_xmlparse \
+	expat_xmltok \
 ))
+endif
 
 $(eval $(call gb_Library_add_exception_objects,expwrap,\
 	sax/source/expatwrap/attrlistimpl \
diff --git a/sax/Library_fastsax.mk b/sax/Library_fastsax.mk
index 06ef80b..8fe2333 100644
--- a/sax/Library_fastsax.mk
+++ b/sax/Library_fastsax.mk
@@ -39,6 +39,15 @@ $(eval $(call gb_Library_set_defs,fastsax,\
 	$$(DEFS) \
 ))
 
+$(eval $(call gb_Library_add_linked_libs,fastsax,\
+	sal \
+	cppu \
+	cppuhelper \
+	sax \
+	stl \
+    $(gb_STDLIBS) \
+))
+
 ifeq ($(SYSTEM_ZLIB),YES)
 $(eval $(call gb_Library_set_defs,fastsax,\
 	$$(DEFS) \
@@ -51,16 +60,15 @@ $(eval $(call gb_Library_set_defs,fastsax,\
 	$$(DEFS) \
 	-DSYSTEM_EXPAT \
 ))
-endif
-
 $(eval $(call gb_Library_add_linked_libs,fastsax,\
-	sal \
-	cppu \
-	cppuhelper \
 	expat \
-	sax \
-    $(gb_STDLIBS) \
 ))
+else
+$(eval $(call gb_Library_add_linked_libs,fastsax,\
+	expat_xmlparse \
+	expat_xmltok \
+))
+endif
 
 # re-uses xml2utf object from sax.uno lib (see below)
 $(eval $(call gb_Library_add_exception_objects,fastsax,\
diff --git a/sax/Library_sax.mk b/sax/Library_sax.mk
index 0d3999c..70492fb 100644
--- a/sax/Library_sax.mk
+++ b/sax/Library_sax.mk
@@ -43,6 +43,7 @@ $(eval $(call gb_Library_add_linked_libs,sax,\
 	cppu \
 	cppuhelper \
 	comphelper \
+	stl \
     $(gb_STDLIBS) \
 ))
 
diff --git a/sax/source/fastparser/facreg.cxx b/sax/source/fastparser/facreg.cxx
index d3eebd9..3f68459 100644
--- a/sax/source/fastparser/facreg.cxx
+++ b/sax/source/fastparser/facreg.cxx
@@ -34,13 +34,13 @@ Reference< XInterface > SAL_CALL FastSaxSerializer_CreateInstance( const Referen
 extern "C"
 {
 
-void SAL_CALL component_getImplementationEnvironment(
+SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
     const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
 {
     *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
 }
 
-void * SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
+SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
 {
     void * pRet = 0;
 
commit ebb7d2831b3a395fa24d5e0d8d7d2274337a5211
Author: Mathias Bauer <mba at openoffice.org>
Date:   Wed Mar 2 13:22:42 2011 +0100

    CWS gnumake4: convert sax to new build system [hg:389d236eb6b2]

diff --git a/sax/CppunitTest_sax.mk b/sax/CppunitTest_sax.mk
new file mode 100644
index 0000000..d29632d
--- /dev/null
+++ b/sax/CppunitTest_sax.mk
@@ -0,0 +1,46 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2011 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_CppunitTest_CppunitTest,sax_cppunit))
+
+$(eval $(call gb_CppunitTest_add_exception_objects,sax_cppunit, \
+	sax/qa/cppunit/test_converter \
+))
+
+$(eval $(call gb_CppunitTest_add_linked_libs,sax_cppunit, \
+	cppunit \
+	sax \
+	sal \
+    $(gb_STDLIBS) \
+))
+
+$(eval $(call gb_CppunitTest_set_include,sax_cppunit,\
+	$$(INCLUDE) \
+	-I$(OUTDIR)/inc/offuh \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sax/Library_expwrap.mk b/sax/Library_expwrap.mk
new file mode 100644
index 0000000..58afe9d
--- /dev/null
+++ b/sax/Library_expwrap.mk
@@ -0,0 +1,76 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2011 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Library_Library,expwrap))
+
+$(eval $(call gb_Library_set_componentfile,expwrap,sax/source/expatwrap/expwrap))
+
+$(eval $(call gb_Library_set_include,expwrap,\
+	$$(INCLUDE) \
+	-I$(OUTDIR)/inc/offuh \
+	-I$(SRCDIR)/sax/inc \
+))
+
+$(eval $(call gb_Library_set_defs,expwrap,\
+	$$(DEFS) \
+))
+
+ifeq ($(SYSTEM_ZLIB),YES)
+$(eval $(call gb_Library_set_defs,expwrap,\
+	$$(DEFS) \
+	-DSYSTEM_ZLIB \
+))
+endif
+
+ifeq ($(SYSTEM_EXPAT),YES)
+$(eval $(call gb_Library_set_defs,expwrap,\
+	$$(DEFS) \
+	-DSYSTEM_EXPAT \
+))
+else
+$(eval $(call gb_Library_set_defs,expwrap,\
+	$$(DEFS) \
+	-DXML_UNICODE \
+))
+endif
+
+$(eval $(call gb_Library_add_linked_libs,expwrap,\
+	sal \
+	cppu \
+	cppuhelper \
+	expat \
+    $(gb_STDLIBS) \
+))
+
+$(eval $(call gb_Library_add_exception_objects,expwrap,\
+	sax/source/expatwrap/attrlistimpl \
+	sax/source/expatwrap/sax_expat \
+	sax/source/expatwrap/saxwriter \
+	sax/source/expatwrap/xml2utf \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sax/Library_fastsax.mk b/sax/Library_fastsax.mk
new file mode 100644
index 0000000..06ef80b
--- /dev/null
+++ b/sax/Library_fastsax.mk
@@ -0,0 +1,79 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2011 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Library_Library,fastsax))
+
+$(eval $(call gb_Library_set_componentfile,fastsax,sax/source/fastparser/fastsax))
+
+$(eval $(call gb_Library_set_include,fastsax,\
+	$$(INCLUDE) \
+	-I$(OUTDIR)/inc/offuh \
+	-I$(SRCDIR)/sax/inc \
+))
+
+$(eval $(call gb_Library_set_defs,fastsax,\
+	$$(DEFS) \
+))
+
+ifeq ($(SYSTEM_ZLIB),YES)
+$(eval $(call gb_Library_set_defs,fastsax,\
+	$$(DEFS) \
+	-DSYSTEM_ZLIB \
+))
+endif
+
+ifeq ($(SYSTEM_EXPAT),YES)
+$(eval $(call gb_Library_set_defs,fastsax,\
+	$$(DEFS) \
+	-DSYSTEM_EXPAT \
+))
+endif
+
+$(eval $(call gb_Library_add_linked_libs,fastsax,\
+	sal \
+	cppu \
+	cppuhelper \
+	expat \
+	sax \
+    $(gb_STDLIBS) \
+))
+
+# re-uses xml2utf object from sax.uno lib (see below)
+$(eval $(call gb_Library_add_exception_objects,fastsax,\
+	sax/source/fastparser/facreg \
+	sax/source/fastparser/fastparser \
+	sax/source/expatwrap/xml2utf \
+))
+
+# mba: currently it's unclear whether xml2utf needs to be compiled with the
+# same compiler settings as in the sax.uno lib; in case not, we have to use 
+# a custom target
+#$(eval $(call gb_Library_add_generated_exception_objects,fastsax,\
+#	sax/source/expatwrap/xml2utf \
+#))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sax/Library_sax.mk b/sax/Library_sax.mk
new file mode 100644
index 0000000..0d3999c
--- /dev/null
+++ b/sax/Library_sax.mk
@@ -0,0 +1,56 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2011 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Library_Library,sax))
+
+$(eval $(call gb_Library_set_include,sax,\
+	$$(INCLUDE) \
+	-I$(OUTDIR)/inc/offuh \
+	-I$(SRCDIR)/sax/inc \
+))
+
+$(eval $(call gb_Library_set_defs,sax,\
+	$$(DEFS) \
+	-DSAX_DLLIMPLEMENTATION \
+))
+
+$(eval $(call gb_Library_add_linked_libs,sax,\
+	sal \
+	cppu \
+	cppuhelper \
+	comphelper \
+    $(gb_STDLIBS) \
+))
+
+$(eval $(call gb_Library_add_exception_objects,sax,\
+	sax/source/tools/converter \
+	sax/source/tools/fastattribs \
+	sax/source/tools/fastserializer \
+	sax/source/tools/fshelper \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sax/Makefile b/sax/Makefile
new file mode 100644
index 0000000..90947b2
--- /dev/null
+++ b/sax/Makefile
@@ -0,0 +1,38 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2011 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+ifeq ($(strip $(SOLARENV)),)
+$(error No environment set!)
+endif
+
+gb_PARTIALBUILD := T
+GBUILDDIR := $(SOLARENV)/gbuild
+include $(GBUILDDIR)/gbuild.mk
+
+$(eval $(call gb_Module_make_global_targets,$(shell ls $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/Module*.mk)))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sax/Module_sax.mk b/sax/Module_sax.mk
new file mode 100644
index 0000000..4589530
--- /dev/null
+++ b/sax/Module_sax.mk
@@ -0,0 +1,41 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2011 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Module_Module,sax))
+
+$(eval $(call gb_Module_add_targets,sax,\
+	Library_sax \
+	Library_expwrap \
+	Library_fastsax \
+	Package_inc \
+))
+
+$(eval $(call gb_Module_add_check_targets,sax,\
+	CppunitTest_sax \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sax/Package_inc.mk b/sax/Package_inc.mk
new file mode 100644
index 0000000..ebee272
--- /dev/null
+++ b/sax/Package_inc.mk
@@ -0,0 +1,34 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2011 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Package_Package,sax_inc,$(SRCDIR)/sax/inc))
+$(eval $(call gb_Package_add_file,sax_inc,inc/sax/dllapi.h,sax/dllapi.h))
+$(eval $(call gb_Package_add_file,sax_inc,inc/sax/fshelper.hxx,sax/fshelper.hxx))
+$(eval $(call gb_Package_add_file,sax_inc,inc/sax/fastattribs.hxx,sax/fastattribs.hxx))
+$(eval $(call gb_Package_add_file,sax_inc,inc/sax/tools/converter.hxx,sax/tools/converter.hxx))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sax/prj/build.lst b/sax/prj/build.lst
index 8497000..0a8a378 100644
--- a/sax/prj/build.lst
+++ b/sax/prj/build.lst
@@ -1,6 +1,3 @@
 ax	sax	:	offapi cppuhelper EXPAT:expat comphelper LIBXSLT:libxslt NULL
-ax	sax										usr1	-	all	ax_mkout NULL
-ax	sax\source\expatwrap					nmake	-	all	ax_expatwrap NULL
-ax	sax\source\tools						nmake	-	all ax_tools  NULL
-ax  sax\source\fastparser					nmake	-	all ax_fastparser ax_expatwrap ax_tools NULL
-ax  sax\qa\cppunit							nmake	-	all ax_qa_cppunit ax_tools NULL
+ax	sax\prj									nmake	-	all	ax_prj NULL
+
diff --git a/sax/prj/d.lst b/sax/prj/d.lst
index 76177f5..e69de29 100644
--- a/sax/prj/d.lst
+++ b/sax/prj/d.lst
@@ -1,16 +0,0 @@
-..\%__SRC%\bin\*.dll %_DEST%\bin%_EXT%\*.dll
-..\%__SRC%\lib\*.so %_DEST%\lib%_EXT%\*.so
-..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib
-..\%__SRC%\lib\*.lib %_DEST%\lib%_EXT%\*.lib
-..\%__SRC%\misc\fastsax.component %_DEST%\xml%_EXT%\fastsax.component
-..\%__SRC%\misc\sax.component %_DEST%\xml%_EXT%\sax.component
-..\%__SRC%\misc\sax.inbuild.component %_DEST%\xml%_EXT%\sax.inbuild.component
-
-mkdir: %_DEST%\inc%_EXT%\sax
-mkdir: %_DEST%\inc%_EXT%\sax\tools
-..\inc\sax\dllapi.h %_DEST%\inc%_EXT%\sax\dllapi.h
-..\inc\sax\fshelper.hxx %_DEST%\inc%_EXT%\sax\fshelper.hxx
-..\inc\sax\fastattribs.hxx %_DEST%\inc%_EXT%\sax\fastattribs.hxx
-..\inc\sax\tools\converter.hxx %_DEST%\inc%_EXT%\sax\tools\converter.hxx
-
-dos: sh -c "if test %OS% = MACOSX; then macosx-create-bundle %_DEST%\lib%_EXT%\*.dylib; fi"
diff --git a/sax/prj/makefile.mk b/sax/prj/makefile.mk
new file mode 100644
index 0000000..88cd9df
--- /dev/null
+++ b/sax/prj/makefile.mk
@@ -0,0 +1,40 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..
+TARGET=prj
+
+.INCLUDE : settings.mk
+
+.IF "$(VERBOSE)"!=""
+VERBOSEFLAG :=
+.ELSE
+VERBOSEFLAG := -s
+.ENDIF
+
+all:
+	cd $(PRJ) && $(GNUMAKE) $(VERBOSEFLAG) -r -j$(MAXPROCESS) $(gb_MAKETARGET) && $(GNUMAKE) $(VERBOSEFLAG) -r deliverlog
diff --git a/sax/qa/cppunit/test_converter.cxx b/sax/qa/cppunit/test_converter.cxx
index b1881f2..3bc4cec 100644
--- a/sax/qa/cppunit/test_converter.cxx
+++ b/sax/qa/cppunit/test_converter.cxx
@@ -26,6 +26,7 @@
  ************************************************************************/
 
 #include "preextstl.h"
+#include <sal/cppunit.h>
 #include <cppunit/TestAssert.h>
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
diff --git a/sax/source/expatwrap/attrlistimpl.hxx b/sax/source/expatwrap/attrlistimpl.hxx
index 25b5629..d507019 100644
--- a/sax/source/expatwrap/attrlistimpl.hxx
+++ b/sax/source/expatwrap/attrlistimpl.hxx
@@ -29,10 +29,7 @@
 #define _SAX_ATTRLISTIMPL_HXX
 
 #include "sal/config.h"
-//#include "sax/saxdllapi.h"
-
 #include <cppuhelper/implbase2.hxx>
-
 #include <com/sun/star/uno/RuntimeException.hpp>
 #include <com/sun/star/util/XCloneable.hpp>
 #include <com/sun/star/xml/sax/XAttributeList.hpp>
diff --git a/sax/source/expatwrap/makefile.mk b/sax/source/expatwrap/makefile.mk
deleted file mode 100644
index 6e1348c..0000000
--- a/sax/source/expatwrap/makefile.mk
+++ /dev/null
@@ -1,87 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-# 
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org.  If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-PRJ=..$/..
-
-PRJNAME=sax
-TARGET=sax.uno
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE :  settings.mk
-DLLPRE =
-
-.IF "$(SYSTEM_ZLIB)" == "YES"
-CFLAGS+=-DSYSTEM_ZLIB
-.ENDIF
-
-.IF "$(SYSTEM_EXPAT)" == "YES"
-CFLAGS+=-DSYSTEM_EXPAT
-.ELSE
-CFLAGS += -DXML_UNICODE
-.ENDIF
-
-#-----------------------------------------------------------
-
-SLOFILES =\
-        $(SLO)$/xml2utf.obj\
-        $(SLO)$/attrlistimpl.obj\
-        $(SLO)$/sax_expat.obj \
-        $(SLO)$/saxwriter.obj
-
-SHL1TARGET= $(TARGET)
-SHL1IMPLIB= i$(TARGET)
-
-SHL1STDLIBS= \
-        $(SALLIB)  \
-        $(CPPULIB) \
-        $(CPPUHELPERLIB)\
-        $(EXPAT3RDLIB)
-
-SHL1DEPN=
-SHL1VERSIONMAP=	$(SOLARENV)$/src$/component.map
-SHL1LIBS=		$(SLB)$/$(TARGET).lib
-SHL1DEF=		$(MISC)$/$(SHL1TARGET).def
-DEF1NAME=		$(SHL1TARGET)
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE :	target.mk
-
-ALLTAR : $(MISC)/sax.component $(MISC)/sax.inbuild.component
-
-$(MISC)/sax.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
-        sax.component
-    $(XSLTPROC) --nonet --stringparam uri \
-        '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
-        $(SOLARENV)/bin/createcomponent.xslt sax.component
-
-$(MISC)/sax.inbuild.component .ERRREMOVE : \
-        $(SOLARENV)/bin/createcomponent.xslt sax.component
-    $(XSLTPROC) --nonet --stringparam uri \
-        '$(COMPONENTPREFIX_INBUILD_NATIVE)$(SHL1TARGETN:f)' -o $@ \
-        $(SOLARENV)/bin/createcomponent.xslt sax.component
diff --git a/sax/source/expatwrap/sax_expat.cxx b/sax/source/expatwrap/sax_expat.cxx
index 5b474c7..e52ff37 100644
--- a/sax/source/expatwrap/sax_expat.cxx
+++ b/sax/source/expatwrap/sax_expat.cxx
@@ -1028,13 +1028,13 @@ using namespace sax_expatwrap;
 extern "C" 
 {
 
-void SAL_CALL component_getImplementationEnvironment(
+SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
     const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
 {
     *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
 }
 
-void * SAL_CALL component_getFactory(
+SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
     const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
 {
     void * pRet = 0;
diff --git a/sax/source/fastparser/makefile.mk b/sax/source/fastparser/makefile.mk
deleted file mode 100644
index d8f9378..0000000
--- a/sax/source/fastparser/makefile.mk
+++ /dev/null
@@ -1,79 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-# 
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org.  If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-PRJ=..$/..
-
-PRJNAME=sax
-TARGET=fastsax.uno
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE :  settings.mk
-DLLPRE = 
-
-.IF "$(SYSTEM_ZLIB)" == "YES"
-CFLAGS+=-DSYSTEM_ZLIB
-.ENDIF
-
-.IF "$(SYSTEM_EXPAT)" == "YES"
-CFLAGS+=-DSYSTEM_EXPAT
-.ENDIF
-
-#-----------------------------------------------------------
-
-SLOFILES =\
-        $(SLO)$/facreg.obj\
-        $(SLO)$/fastparser.obj\
-        $(SLO)$/xml2utf.obj
-
-SHL1TARGET= $(TARGET)
-SHL1IMPLIB= i$(TARGET)
-
-SHL1STDLIBS= \
-        $(SALLIB)  \
-        $(SAXLIB)  \
-        $(CPPULIB) \
-        $(CPPUHELPERLIB)\
-        $(EXPATASCII3RDLIB)
-
-SHL1DEPN=
-SHL1VERSIONMAP=	$(SOLARENV)$/src$/component.map
-SHL1LIBS=		$(SLB)$/$(TARGET).lib
-SHL1DEF=		$(MISC)$/$(SHL1TARGET).def
-DEF1NAME=		$(SHL1TARGET)
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE :	target.mk
-
-ALLTAR : $(MISC)/fastsax.component
-
-$(MISC)/fastsax.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
-        fastsax.component
-    $(XSLTPROC) --nonet --stringparam uri \
-        '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
-        $(SOLARENV)/bin/createcomponent.xslt fastsax.component
diff --git a/sax/source/tools/makefile.mk b/sax/source/tools/makefile.mk
deleted file mode 100644
index 5923fc5..0000000
--- a/sax/source/tools/makefile.mk
+++ /dev/null
@@ -1,67 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-# 
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org.  If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=sax
-TARGET=sax
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE :  settings.mk
-.INCLUDE :  $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES =	\
-        $(SLO)$/converter.obj				\
-        $(SLO)$/fastattribs.obj				\
-        $(SLO)$/fastserializer.obj			\
-        $(SLO)$/fshelper.obj
-
-SHL1TARGET= $(TARGET)$(DLLPOSTFIX)
-SHL1IMPLIB= i$(TARGET)
-
-SHL1STDLIBS= \
-                $(CPPULIB)		\
-                $(CPPUHELPERLIB)\
-                $(COMPHELPERLIB)\
-                $(RTLLIB)		\
-                $(SALLIB)		\
-                $(ONELIB)
-
-SHL1DEPN=
-SHL1OBJS=       $(SLOFILES)
-SHL1USE_EXPORTS=name
-SHL1DEF=		$(MISC)$/$(SHL1TARGET).def
-DEF1NAME=		$(SHL1TARGET)
-DEFLIB1NAME=    $(TARGET)
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE :  target.mk
diff --git a/sax/util/makefile.mk b/sax/util/makefile.mk
deleted file mode 100644
index 5e2f378..0000000
--- a/sax/util/makefile.mk
+++ /dev/null
@@ -1,68 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-# 
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org.  If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..
-
-PRJNAME=sax
-TARGET=sax
-
-USE_DEFFILE=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE :  settings.mk
-
-# ------------------------------------------------------------------
-
-LIB1TARGET= $(SLB)$/$(TARGET).lib
-LIB1FILES=\
-            $(SLB)$/saxtools.lib
-
-# sax
-
-SHL1TARGET= $(TARGET)$(DLLPOSTFIX)
-SHL1IMPLIB= i$(TARGET)
-SHL1USE_EXPORTS=name
-
-SHL1LIBS=	$(LIB1TARGET)
-SHL1STDLIBS= \
-                $(VOSLIB)		\
-                $(CPPULIB)		\
-                $(CPPUHELPERLIB)\
-                $(COMPHELPERLIB)\
-                $(RTLLIB)		\
-                $(SALLIB)		\
-                $(ONELIB)		\
-                $(SALHELPERLIB)
-
-SHL1DEF=	$(MISC)$/$(SHL1TARGET).def
-DEF1NAME=	$(SHL1TARGET)
-DEFLIB1NAME=$(TARGET)
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE :	target.mk
diff --git a/sax/util/makefile.pmk b/sax/util/makefile.pmk
deleted file mode 100644
index 1c044bb..0000000
--- a/sax/util/makefile.pmk
+++ /dev/null
@@ -1,30 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-# 
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org.  If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-# Reduction of exported symbols:
-CDEFS += -DSAX_DLLIMPLEMENTATION
-VISIBILITY_HIDDEN=TRUE
commit 51d5b58db38444fd8dc37445549b506af1808637
Author: Mathias Bauer <mba at openoffice.org>
Date:   Tue Mar 1 23:32:15 2011 +0100

    CWS gnumake4: fixes for building with ENABLE_CAIRO on windows [hg:824c8caeaf61]

diff --git a/canvas/Library_cairocanvas.mk b/canvas/Library_cairocanvas.mk
index e9a2c10..1bfd3c7 100644
--- a/canvas/Library_cairocanvas.mk
+++ b/canvas/Library_cairocanvas.mk
@@ -105,7 +105,7 @@ $(eval $(call gb_Library_add_exception_objects,cairocanvas,\
 $(eval $(call gb_Library_add_linked_libs,cairocanvas,\
 	cairo \
 	gdi32 \
-	msimg32 \
+	user32 \
 ))
 
 else
commit b31864adf9ed919161ce6e94ff4471ebcd0e0e63
Author: Mathias Bauer <mba at openoffice.org>
Date:   Tue Mar 1 21:09:50 2011 +0100

    CWS gnumake4: reimplement basegfx_s hack for new build system [hg:c943ed591aff]

diff --git a/basegfx/Module_basegfx.mk b/basegfx/Module_basegfx.mk
index 5f63b47..ba276e0 100644
--- a/basegfx/Module_basegfx.mk
+++ b/basegfx/Module_basegfx.mk
@@ -30,6 +30,7 @@ $(eval $(call gb_Module_Module,basegfx))
 $(eval $(call gb_Module_add_targets,basegfx,\
 	Library_basegfx \
 	Package_inc \
+	StaticLibrary_basegfx_s \
 ))
 
 $(eval $(call gb_Module_add_check_targets,basegfx,\
diff --git a/basegfx/StaticLibrary_basegfx_s.mk b/basegfx/StaticLibrary_basegfx_s.mk
new file mode 100644
index 0000000..3c871fd
--- /dev/null
+++ b/basegfx/StaticLibrary_basegfx_s.mk
@@ -0,0 +1,123 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.	If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_StaticLibrary_StaticLibrary,basegfx_s))
+
+$(eval $(call gb_StaticLibrary_add_package_headers,basegfx_s,basegfx_inc))
+
+$(eval $(call gb_StaticLibrary_add_precompiled_header,basegfx_s,$(SRCDIR)/basegfx/inc/pch/precompiled_basegfx))
+
+$(eval $(call gb_StaticLibrary_set_include,basegfx_s,\
+	-I$(SRCDIR)/basegfx/inc \
+	-I$(SRCDIR)/basegfx/source/inc \
+	$$(INCLUDE) \
+	-I$(SRCDIR)/basegfx/inc/pch \
+	-I$(OUTDIR)/inc/offuh \
+))
+
+# the whole library is a hack
+# we only build it to prevent the pdfimporter shared lib from linking to the basegfx shared lib
+# this means that all code of this static library will end in a dll
+# thus the _DLL define must be set to avoid link problems with stlport symbols
+# the BASEGFX_STATICLIBRARY define will expand all BASEGFX_DLLPRIVATE/PUBLIC macros to nothing
+$(eval $(call gb_StaticLibrary_set_defs,basegfx_s,\
+	$$(DEFS) \
+	-DBASEGFX_STATICLIBRARY \
+	-D_DLL \
+))
+
+# as we have to build all sources a second time, we must copy them to the workdir and build from there
+$(WORKDIR)/CustomTarget/basegfx/source/%.cxx : $(SRCDIR)/basegfx/source/%.cxx
+	mkdir -p $(dir $@) && \
+	cp $< $@
+
+# copied sources are generated cxx sources
+$(eval $(call gb_StaticLibrary_add_generated_exception_objects,basegfx_s,\
+	CustomTarget/basegfx/source/tools/liangbarsky \
+	CustomTarget/basegfx/source/tools/debugplotter \
+	CustomTarget/basegfx/source/tools/canvastools \
+	CustomTarget/basegfx/source/tools/gradienttools \
+	CustomTarget/basegfx/source/tools/keystoplerp \
+	CustomTarget/basegfx/source/tools/unopolypolygon \
+	CustomTarget/basegfx/source/tools/tools \
+	CustomTarget/basegfx/source/tools/b2dclipstate \
+	CustomTarget/basegfx/source/numeric/ftools \
+	CustomTarget/basegfx/source/tuple/b3ituple \
+	CustomTarget/basegfx/source/tuple/b3dtuple \
+	CustomTarget/basegfx/source/tuple/b2ituple \
+	CustomTarget/basegfx/source/tuple/b2dtuple \
+	CustomTarget/basegfx/source/tuple/b3i64tuple \
+	CustomTarget/basegfx/source/tuple/b2i64tuple \
+	CustomTarget/basegfx/source/range/b1drange \
+	CustomTarget/basegfx/source/range/b2dpolyrange \
+	CustomTarget/basegfx/source/range/b2xrange \
+	CustomTarget/basegfx/source/range/b3drange \
+	CustomTarget/basegfx/source/range/b2drangeclipper \
+	CustomTarget/basegfx/source/range/b2drange \
+	CustomTarget/basegfx/source/vector/b3ivector \
+	CustomTarget/basegfx/source/vector/b2ivector \
+	CustomTarget/basegfx/source/vector/b2dvector \
+	CustomTarget/basegfx/source/vector/b3dvector \
+	CustomTarget/basegfx/source/polygon/b3dpolygon \
+	CustomTarget/basegfx/source/polygon/b2dtrapezoid \
+	CustomTarget/basegfx/source/polygon/b3dpolygontools \
+	CustomTarget/basegfx/source/polygon/b2dlinegeometry \
+	CustomTarget/basegfx/source/polygon/b3dpolypolygontools \
+	CustomTarget/basegfx/source/polygon/b3dpolygonclipper \
+	CustomTarget/basegfx/source/polygon/b2dpolygonclipper \
+	CustomTarget/basegfx/source/polygon/b2dpolypolygoncutter \
+	CustomTarget/basegfx/source/polygon/b2dpolypolygonrasterconverter \
+	CustomTarget/basegfx/source/polygon/b2dpolygon \
+	CustomTarget/basegfx/source/polygon/b2dpolygontriangulator \
+	CustomTarget/basegfx/source/polygon/b2dpolypolygon \
+	CustomTarget/basegfx/source/polygon/b3dpolypolygon \
+	CustomTarget/basegfx/source/polygon/b2dsvgpolypolygon \
+	CustomTarget/basegfx/source/polygon/b2dpolygoncutandtouch \
+	CustomTarget/basegfx/source/polygon/b2dpolypolygontools \
+	CustomTarget/basegfx/source/polygon/b2dpolygontools \
+	CustomTarget/basegfx/source/pixel/bpixel \
+	CustomTarget/basegfx/source/matrix/b2dhommatrixtools \
+	CustomTarget/basegfx/source/matrix/b3dhommatrix \
+	CustomTarget/basegfx/source/matrix/b2dhommatrix \
+	CustomTarget/basegfx/source/point/b3ipoint \
+	CustomTarget/basegfx/source/point/b3dhompoint \
+	CustomTarget/basegfx/source/point/b2dpoint \
+	CustomTarget/basegfx/source/point/b3dpoint \
+	CustomTarget/basegfx/source/point/b2dhompoint \
+	CustomTarget/basegfx/source/point/b2ipoint \
+	CustomTarget/basegfx/source/curve/b2dbeziertools \
+	CustomTarget/basegfx/source/curve/b2dcubicbezier \
+	CustomTarget/basegfx/source/curve/b2dquadraticbezier \
+	CustomTarget/basegfx/source/color/bcolormodifier \
+	CustomTarget/basegfx/source/color/bcolor \
+	CustomTarget/basegfx/source/color/bcolortools \
+	CustomTarget/basegfx/source/raster/bpixelraster \
+	CustomTarget/basegfx/source/raster/bzpixelraster \
+	CustomTarget/basegfx/source/raster/rasterconvert3d \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/basegfx/inc/basegfx/basegfxdllapi.h b/basegfx/inc/basegfx/basegfxdllapi.h
index 2088ea2..791343c 100644
--- a/basegfx/inc/basegfx/basegfxdllapi.h
+++ b/basegfx/inc/basegfx/basegfxdllapi.h
@@ -27,6 +27,12 @@
 #ifndef INCLUDED_BASEGFXDLLAPI_H
 #define  INCLUDED_BASEGFXDLLAPI_H
 
+#if defined BASEGFX_STATICLIBRARY
+#define BASEGFX_DLLPUBLIC 
+#define BASEGFX_DLLPRIVATE 
+
+#else
+
 #if defined BASEGFX_DLLIMPLEMENTATION
 #define BASEGFX_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
 #else
@@ -35,3 +41,5 @@
 #define BASEGFX_DLLPRIVATE SAL_DLLPRIVATE
 
 #endif
+
+#endif
\ No newline at end of file
commit b176713aed7c8ca1dae0051abce56a1fea3658ce
Author: Mathias Bauer <mba at openoffice.org>
Date:   Mon Feb 28 21:53:58 2011 +0100

    CWS gnumake4: build directx a second time for dx5 [hg:280f52b66154]

diff --git a/canvas/Library_directx5canvas.mk b/canvas/Library_directx5canvas.mk
index c49aa5d..f3356fd 100644
--- a/canvas/Library_directx5canvas.mk
+++ b/canvas/Library_directx5canvas.mk
@@ -33,6 +33,7 @@ $(eval $(call gb_Library_set_include,directx5canvas,\
 	$$(INCLUDE) \
 	-I$(SRCDIR)/canvas/inc \
 	-I$(SRCDIR)/canvas/inc/pch \
+	-I$(SRCDIR)/canvas/source/directx \
 	-I$(OUTDIR)/inc/offuh \
 ))
 
@@ -82,29 +83,33 @@ $(eval $(call gb_Library_add_linked_libs,directx5canvas,\
 endif
 endif
 
-$(eval $(call gb_Library_add_exception_objects,directx5canvas,\
-	canvas/source/directx/dx_5rm \
-	canvas/source/directx/dx_bitmap \
-	canvas/source/directx/dx_bitmapcanvashelper \
-	canvas/source/directx/dx_canvasbitmap \
-	canvas/source/directx/dx_canvascustomsprite \
-	canvas/source/directx/dx_canvasfont \
-	canvas/source/directx/dx_canvashelper \
-	canvas/source/directx/dx_canvashelper_texturefill \
-	canvas/source/directx/dx_config \
-	canvas/source/directx/dx_devicehelper \
-	canvas/source/directx/dx_gdiplususer \
-	canvas/source/directx/dx_impltools \
-	canvas/source/directx/dx_linepolypolygon \
-	canvas/source/directx/dx_spritecanvas \
-	canvas/source/directx/dx_spritecanvashelper \
-	canvas/source/directx/dx_spritedevicehelper \
-	canvas/source/directx/dx_spritehelper \
-	canvas/source/directx/dx_surfacebitmap \
-	canvas/source/directx/dx_surfacegraphics \
-	canvas/source/directx/dx_textlayout \
-	canvas/source/directx/dx_textlayout_drawhelper \
-	canvas/source/directx/dx_vcltools \
+$(WORKDIR)/CustomTarget/canvas/source/directx/%.cxx : $(SRCDIR)/canvas/source/directx/%.cxx
+	mkdir -p $(dir $@) && \
+	cp $< $@
+
+$(eval $(call gb_Library_add_generated_exception_objects,directx5canvas,\
+	CustomTarget/canvas/source/directx/dx_5rm \
+	CustomTarget/canvas/source/directx/dx_bitmap \
+	CustomTarget/canvas/source/directx/dx_bitmapcanvashelper \
+	CustomTarget/canvas/source/directx/dx_canvasbitmap \
+	CustomTarget/canvas/source/directx/dx_canvascustomsprite \
+	CustomTarget/canvas/source/directx/dx_canvasfont \
+	CustomTarget/canvas/source/directx/dx_canvashelper \
+	CustomTarget/canvas/source/directx/dx_canvashelper_texturefill \
+	CustomTarget/canvas/source/directx/dx_config \
+	CustomTarget/canvas/source/directx/dx_devicehelper \
+	CustomTarget/canvas/source/directx/dx_gdiplususer \
+	CustomTarget/canvas/source/directx/dx_impltools \
+	CustomTarget/canvas/source/directx/dx_linepolypolygon \
+	CustomTarget/canvas/source/directx/dx_spritecanvas \
+	CustomTarget/canvas/source/directx/dx_spritecanvashelper \
+	CustomTarget/canvas/source/directx/dx_spritedevicehelper \
+	CustomTarget/canvas/source/directx/dx_spritehelper \
+	CustomTarget/canvas/source/directx/dx_surfacebitmap \
+	CustomTarget/canvas/source/directx/dx_surfacegraphics \
+	CustomTarget/canvas/source/directx/dx_textlayout \
+	CustomTarget/canvas/source/directx/dx_textlayout_drawhelper \
+	CustomTarget/canvas/source/directx/dx_vcltools \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/canvas/Module_canvas.mk b/canvas/Module_canvas.mk
index fb7dfce..4c26e74 100644
--- a/canvas/Module_canvas.mk
+++ b/canvas/Module_canvas.mk
@@ -39,12 +39,11 @@ $(eval $(call gb_Module_add_targets,canvas,\
 ifeq ($(strip $(OS)),WNT)
 ifneq ($(strip $(ENABLE_DIRECTX)),)
 
-# currently not supported
-#ifneq ($(strip $(USE_DIRECTX5)),)
-#$(eval $(call gb_Module_add_targets,canvas,\
-#	Library_directx5canvas \
-#))
-#endif
+ifneq ($(strip $(USE_DIRECTX5)),)
+$(eval $(call gb_Module_add_targets,canvas,\
+	Library_directx5canvas \
+))
+endif
 
 $(eval $(call gb_Module_add_targets,canvas,\
 	Library_directx9canvas \
commit 4a4e1d58d80cb63190663edfaa4f90c80f2a4435
Author: Mathias Bauer <mba at openoffice.org>
Date:   Mon Feb 28 17:35:51 2011 +0100

    CWS gnumake4: convert regexp to new build system [hg:56e4316f8d74]

diff --git a/i18npool/source/search/makefile.mk b/i18npool/source/search/makefile.mk
index 372b32a..95397d9 100644
--- a/i18npool/source/search/makefile.mk
+++ b/i18npool/source/search/makefile.mk
@@ -55,12 +55,6 @@ EXCEPTIONSNOOPTFILES= \
 SHL1TARGET= $(TARGET)
 SHL1OBJS=	$(SLOFILES)
 
-.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2"
-I18NREGEXPLIB=-li18nregexp$(COMID)
-.ELSE
-I18NREGEXPLIB=ii18nregexp.lib
-.ENDIF
-
 SHL1STDLIBS= \
                 $(CPPULIB) \
                 $(CPPUHELPERLIB) \
diff --git a/regexp/Library_regexp.mk b/regexp/Library_regexp.mk
new file mode 100644
index 0000000..4f6f0ec
--- /dev/null
+++ b/regexp/Library_regexp.mk
@@ -0,0 +1,52 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2011 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Library_Library,i18nregexp))
+
+$(eval $(call gb_Library_add_package_headers,i18nregexp,regexp_inc))
+
+$(eval $(call gb_Library_set_include,i18nregexp,\
+	$$(INCLUDE) \
+	-I$(OUTDIR)/inc/offuh \
+))
+
+$(eval $(call gb_Library_set_defs,i18nregexp,\
+	$$(DEFS) \
+	-DREGEXP_DLLIMPLEMENTATION \
+))
+
+$(eval $(call gb_Library_add_linked_libs,i18nregexp,\
+	sal \
+	i18nutil \
+    $(gb_STDLIBS) \
+))
+
+$(eval $(call gb_Library_add_exception_objects,i18nregexp,\
+	regexp/source/reclass \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/regexp/Makefile b/regexp/Makefile
new file mode 100644
index 0000000..90947b2
--- /dev/null
+++ b/regexp/Makefile
@@ -0,0 +1,38 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2011 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+ifeq ($(strip $(SOLARENV)),)
+$(error No environment set!)
+endif
+
+gb_PARTIALBUILD := T
+GBUILDDIR := $(SOLARENV)/gbuild
+include $(GBUILDDIR)/gbuild.mk
+
+$(eval $(call gb_Module_make_global_targets,$(shell ls $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/Module*.mk)))
+
+# vim: set noet sw=4 ts=4:
diff --git a/regexp/Module_regexp.mk b/regexp/Module_regexp.mk
new file mode 100644
index 0000000..41d2e9e
--- /dev/null
+++ b/regexp/Module_regexp.mk
@@ -0,0 +1,35 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2011 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Module_Module,regexp))
+
+$(eval $(call gb_Module_add_targets,regexp,\
+	Library_regexp \
+	Package_inc \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/regexp/Package_inc.mk b/regexp/Package_inc.mk
new file mode 100644
index 0000000..b26bfea
--- /dev/null
+++ b/regexp/Package_inc.mk
@@ -0,0 +1,31 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2011 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+$(eval $(call gb_Package_Package,regexp_inc,$(SRCDIR)/regexp/inc))
+$(eval $(call gb_Package_add_file,regexp_inc,inc/external/regexp/reclass.hxx,regexp/reclass.hxx))
+
+# vim: set noet sw=4 ts=4:
diff --git a/regexp/inc/makefile.mk b/regexp/inc/makefile.mk
deleted file mode 100644
index b65b126..0000000
--- a/regexp/inc/makefile.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-# 
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org.  If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-PRJ=..
-
-PRJNAME=regexp
-TARGET=inc
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE :  settings.mk
-
-# --- Files --------------------------------------------------------
-# --- Targets -------------------------------------------------------
-
-.INCLUDE :  target.mk
-
-.IF "$(ENABLE_PCH)"!=""
-ALLTAR : \
-    $(SLO)$/precompiled.pch \
-    $(SLO)$/precompiled_ex.pch
-    
-.ENDIF			# "$(ENABLE_PCH)"!=""
-
diff --git a/regexp/inc/pch/precompiled_regexp.cxx b/regexp/inc/pch/precompiled_regexp.cxx
deleted file mode 100644
index a46f36e..0000000
--- a/regexp/inc/pch/precompiled_regexp.cxx
+++ /dev/null
@@ -1,29 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include "precompiled_regexp.hxx"
-
diff --git a/regexp/inc/pch/precompiled_regexp.hxx b/regexp/inc/pch/precompiled_regexp.hxx
deleted file mode 100644
index d6be348..0000000
--- a/regexp/inc/pch/precompiled_regexp.hxx
+++ /dev/null
@@ -1,32 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): Generated on 2006-09-01 17:49:54.405006
-
-#ifdef PRECOMPILED_HEADERS
-#endif
-
diff --git a/regexp/inc/regexp/reclass.hxx b/regexp/inc/regexp/reclass.hxx
new file mode 100644
index 0000000..e013696
--- /dev/null
+++ b/regexp/inc/regexp/reclass.hxx
@@ -0,0 +1,391 @@
+/* Definitions for data structures and routines for the regular
+   expression library, version 0.12.
+   Copyright (C) 1985,89,90,91,92,93,95,96,97,98 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.  Its master source is NOT part of
+   the C library, however.  The master source lives in /gd/gnu/lib.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/*
+    Modified for OpenOffice.org to use sal_Unicode and Transliteration service.
+ */
+
+#ifndef INCLUDED_REGEXP_RECLASS_HXX
+#define INCLUDED_REGEXP_RECLASS_HXX
+
+#include <i18nutil/unicode.hxx>
+#include <com/sun/star/util/SearchFlags.hpp>
+#include <com/sun/star/util/SearchOptions.hpp>
+#include <sal/types.h>
+#include <com/sun/star/i18n/XExtendedTransliteration.hpp>
+
+#if defined REGEXP_DLLIMPLEMENTATION
+#define REGEXP_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
+#else
+#define REGEXP_DLLPUBLIC SAL_DLLPUBLIC_IMPORT
+#endif
+
+/* If any error codes are removed, changed, or added, update the
+   `re_error_msg' table in regex.c.  */
+typedef enum
+{
+#ifdef _XOPEN_SOURCE
+  REG_ENOSYS = -1,  /* This will never happen for this implementation.  */
+#endif
+
+  REG_NOERROR = 0,  /* Success.  */
+  REG_NOMATCH,      /* Didn't find a match (for regexec).  */
+
+  /* POSIX regcomp return error codes.  (In the order listed in the
+     standard.)  */
+  REG_BADPAT,       /* Invalid pattern.  */
+  REG_ECOLLATE,     /* Not implemented.  */
+  REG_ECTYPE,       /* Invalid character class name.  */
+  REG_EESCAPE,      /* Trailing backslash.  */
+  REG_ESUBREG,      /* Invalid back reference.  */
+  REG_EBRACK,       /* Unmatched left bracket.  */
+  REG_EPAREN,       /* Parenthesis imbalance.  */
+  REG_EBRACE,       /* Unmatched \{.  */
+  REG_BADBR,        /* Invalid contents of \{\}.  */
+  REG_ERANGE,       /* Invalid range end.  */
+  REG_ESPACE,       /* Ran out of memory.  */
+  REG_BADRPT,       /* No preceding re for repetition op.  */
+
+  /* Error codes we've added.  */
+  REG_EEND,         /* Premature end.  */
+  REG_ESIZE,        /* Compiled pattern bigger than 2^16 bytes.  */
+  REG_ERPAREN       /* Unmatched ) or \); not returned from regcomp.  */
+} reg_errcode_t;
+
+
+/* This data structure represents a compiled pattern.  Before calling
+   the pattern compiler, the fields `buffer', `allocated', `fastmap',
+   can be set.  After the pattern has been
+   compiled, the `re_nsub' field is available.  All other fields are
+   private to the regex routines.  */
+
+struct REGEXP_DLLPUBLIC re_pattern_buffer
+{
+/* [[[begin pattern_buffer]]] */
+    /* Space that holds the compiled pattern.  It is declared as
+          `unsigned char *' because its elements are
+           sometimes used as array indexes.  */
+  sal_Unicode *buffer;
+
+    /* Number of bytes to which `buffer' points.  */
+  sal_uInt32 allocated;
+
+    /* Number of bytes actually used in `buffer'.  */
+  sal_uInt32 used;
+
+        /* Pointer to a fastmap, if any, otherwise zero.  re_search uses
+           the fastmap, if there is one, to skip over impossible
+           starting points for matches.  */
+  sal_Unicode *fastmap;
+
+
+    /* Number of subexpressions found by the compiler.  */
+  size_t re_nsub;
+
+        /* Zero if this pattern cannot match the empty string, one else.
+           Well, in truth it's used only in `re_search2', to see
+           whether or not we should use the fastmap, so we don't set
+           this absolutely perfectly; see `re_compile_fastmap' (the
+           `duplicate' case).  */
+  unsigned can_be_null : 1;
+
+        /* Set to zero when `regex_compile' compiles a pattern; set to one
+           by `re_compile_fastmap' if it updates the fastmap.  */
+  unsigned fastmap_accurate : 1;
+
+        /* If set, a beginning-of-line anchor doesn't match at the
+           beginning of the string.  */
+  unsigned not_bol : 1;
+
+        /* Similarly for an end-of-line anchor.  */
+  unsigned not_eol : 1;
+
+        /* If true, an anchor at a newline matches.  */
+  unsigned newline_anchor : 1;
+
+/* [[[end pattern_buffer]]] */
+};
+
+/* These are the command codes that appear in compiled regular
+   expressions.  Some opcodes are followed by argument bytes.  A
+   command code can specify any interpretation whatsoever for its
+   arguments.  Zero bytes may appear in the compiled regular expression.  */
+
+typedef enum
+{
+    no_op = 0,
+
+    /* Succeed right away--no more backtracking.  */
+    succeed,
+
+    /* Followed by one byte giving n, then by n literal bytes.  */
+    exactn,
+
+    /* Matches any (more or less) character.  */
+    anychar,
+
+    /* Matches any one char belonging to specified set.  First
+       following byte is number of bitmap bytes.  Then come bytes
+       for a bitmap saying which chars are in.  Bits in each byte
+       are ordered low-bit-first.  A character is in the set if its
+       bit is 1.  A character too large to have a bit in the map is
+       automatically not in the set.  */
+    charset,
+
+    /* Same parameters as charset, but match any character that is
+       not one of those specified.  */
+    charset_not,
+
+    /* Start remembering the text that is matched, for storing in a
+       register.  Followed by one byte with the register number, in
+       the range 0 to one less than the pattern buffer's re_nsub
+       field.  Then followed by one byte with the number of groups
+       inner to this one.  (This last has to be part of the
+       start_memory only because we need it in the on_failure_jump
+       of re_match2.)  */
+    start_memory,
+    /* Stop remembering the text that is matched and store it in a
+       memory register.  Followed by one byte with the register
+       number, in the range 0 to one less than `re_nsub' in the
+       pattern buffer, and one byte with the number of inner groups,
+       just like `start_memory'.  (We need the number of inner
+       groups here because we don't have any easy way of finding the
+       corresponding start_memory when we're at a stop_memory.)  */
+    stop_memory,
+
+    /* Match a duplicate of something remembered. Followed by one
+       byte containing the register number.  */
+    duplicate,
+
+    /* Fail unless at beginning of line.  */
+    begline,
+
+    /* Fail unless at end of line.  */
+    endline,
+
+    /* Succeeds if at beginning of buffer (if emacs) or at beginning
+       of string to be matched (if not).  */
+    begbuf,
+
+    /* Analogously, for end of buffer/string.  */
+    endbuf,
+
+    /* Followed by two byte relative address to which to jump.  */
+    jump,
+
+    /* Same as jump, but marks the end of an alternative.  */
+    jump_past_alt,
+
+    /* Followed by two-byte relative address of place to resume at
+       in case of failure.  */
+    on_failure_jump,
+
+    /* Like on_failure_jump, but pushes a placeholder instead of the
+       current string position when executed.  */
+    on_failure_keep_string_jump,
+
+    /* Throw away latest failure point and then jump to following
+       two-byte relative address.  */
+    pop_failure_jump,
+
+    /* Change to pop_failure_jump if know won't have to backtrack to
+       match; otherwise change to jump.  This is used to jump
+       back to the beginning of a repeat.  If what follows this jump
+       clearly won't match what the repeat does, such that we can be
+       sure that there is no use backtracking out of repetitions
+       already matched, then we change it to a pop_failure_jump.
+       Followed by two-byte address.  */
+    maybe_pop_jump,
+
+    /* Jump to following two-byte address, and push a dummy failure
+       point. This failure point will be thrown away if an attempt
+       is made to use it for a failure.  A `+' construct makes this
+       before the first repeat.  Also used as an intermediary kind
+       of jump when compiling an alternative.  */
+    dummy_failure_jump,
+
+    /* Push a dummy failure point and continue.  Used at the end of
+       alternatives.  */
+    push_dummy_failure,
+
+    /* Followed by two-byte relative address and two-byte number n.
+       After matching N times, jump to the address upon failure.  */
+    succeed_n,
+
+    /* Followed by two-byte relative address, and two-byte number n.
+       Jump to the address N times, then fail.  */
+    jump_n,
+
+    /* Set the following two-byte relative address to the
+       subsequent two-byte number.  The address *includes* the two
+       bytes of number.  */
+    set_number_at,
+
+    wordbeg,      /* Succeeds if at word beginning.  */
+    wordend       /* Succeeds if at word end.  */
+
+} re_opcode_t;
+
+typedef struct re_pattern_buffer regex_t;
+
+/* Type for byte offsets within the string.  POSIX mandates this.  */
+typedef sal_Int32 regoff_t;
+
+/* This is the structure we store register match data in.  See
+   regex.texinfo for a full description of what registers match.  */
+struct REGEXP_DLLPUBLIC re_registers
+{
+  sal_uInt32 num_regs;
+  sal_Int32 *start;
+  sal_Int32 *end;
+  sal_Int32 num_of_match;
+};
+
+typedef struct {
+    sal_Int32   begalt_offset;
+    sal_Int32   fixup_alt_jump;
+    sal_Int32   inner_group_offset;
+    sal_Int32   laststart_offset;
+    sal_uInt32  regnum;
+} compile_stack_elt_t;
+
+typedef struct {
+    compile_stack_elt_t *stack;
+    sal_uInt32      size;
+    sal_uInt32      avail;
+} compile_stack_type;
+
+union REGEXP_DLLPUBLIC fail_stack_elt
+{
+    sal_Unicode *pointer;
+    sal_Int32 integer;
+};
+
+typedef union fail_stack_elt fail_stack_elt_t;
+
+typedef struct
+{
+    fail_stack_elt_t *stack;
+    sal_uInt32 size;
+    sal_uInt32 avail;              /* Offset of next open position.  */
+} fail_stack_type;
+
+typedef union
+{
+  fail_stack_elt_t word;
+  struct
+  {
+      /* This field is one if this group can match the empty string,
+         zero if not.  If not yet determined,  `MATCH_NULL_UNSET_VALUE'.  */
+#define MATCH_NULL_UNSET_VALUE 3
+    unsigned match_null_string_p : 2;
+    unsigned is_active : 1;
+    unsigned matched_something : 1;
+    unsigned ever_matched_something : 1;
+  } bits;
+} register_info_type;
+
+
+class REGEXP_DLLPUBLIC Regexpr
+{
+    ::com::sun::star::uno::Reference< 
+    ::com::sun::star::i18n::XExtendedTransliteration > translit;
+
+    const sal_Unicode *line;                // line to search in
+    sal_Int32   linelen;            // length of search string
+    
+    sal_Unicode *pattern;           // RE pattern to match
+    sal_Int32   patsize;            // Length of pattern
+
+    struct re_pattern_buffer *bufp;
+
+    sal_Bool isIgnoreCase;
+
+    /* Either a translate table to apply to all characters before
+       comparing them, or zero for no translation.  The translation
+       is applied to a pattern when it is compiled and to a string
+       when it is matched.  */
+    int translate;
+
+    sal_uInt32 failure_id;
+    sal_uInt32 nfailure_points_pushed;
+    sal_uInt32 nfailure_points_popped;
+    /* Counts the total number of registers pushed.  */
+    sal_uInt32 num_regs_pushed;
+
+    sal_uInt32 re_max_failures;
+    
+    /* Registers are set to a sentinel when they haven't yet matched.  */
+    sal_Unicode reg_unset_dummy;
+
+    // private instance functions
+    inline void store_number( sal_Unicode * destination, sal_Int32 number );
+    inline void store_number_and_incr( sal_Unicode *& destination, sal_Int32 number );
+    inline void extract_number(sal_Int32 & dest, sal_Unicode *source);
+    inline void extract_number_and_incr(sal_Int32 & destination, sal_Unicode *& source);
+
+    sal_Bool group_match_null_string_p(sal_Unicode **p, sal_Unicode *end, 
+                       register_info_type *reg_info);
+    sal_Bool alt_match_null_string_p(sal_Unicode *p, sal_Unicode *end, 
+                     register_info_type *reg_info);
+
+    sal_Bool common_op_match_null_string_p(sal_Unicode **p, sal_Unicode *end, 
+                       register_info_type *reg_info);
+    sal_Int32 bcmp_translate(const sal_Unicode *s1, 
+                 const sal_Unicode *s2, sal_Int32 len);
+
+    sal_Int32 regcomp(void);
+    sal_Int32 regex_compile(void);
+    inline void store_op1(re_opcode_t op, sal_Unicode *loc, sal_Int32 arg);
+    inline void store_op2(re_opcode_t op, sal_Unicode *loc, sal_Int32 arg1, sal_Int32 arg2);
+    void insert_op1(re_opcode_t op, sal_Unicode *loc, sal_Int32 arg, 
+            sal_Unicode *end);
+    void insert_op2(re_opcode_t op, sal_Unicode *loc, sal_Int32 arg1, 
+            sal_Int32 arg2, sal_Unicode *end);
+    sal_Bool at_begline_loc_p(const sal_Unicode *local_pattern,
+                  const sal_Unicode *p);
+    sal_Bool at_endline_loc_p(const sal_Unicode *p, const sal_Unicode *pend);
+    reg_errcode_t compile_range(sal_Unicode range_begin, sal_Unicode range_end, sal_Unicode *b);
+    sal_Bool group_in_compile_stack(compile_stack_type compile_stack, 
+                    sal_uInt32 regnum);
+    sal_Int32 re_match2(struct re_registers *regs, sal_Int32 pos, sal_Int32 range);
+
+    sal_Bool iswordbegin(const sal_Unicode *d, sal_Unicode *string, sal_Int32 ssize);
+    sal_Bool iswordend(const sal_Unicode *d, sal_Unicode *string, sal_Int32 ssize);
+    void set_list_bit(sal_Unicode c, sal_Unicode *b);
+
+public:
+    // constructors
+    Regexpr( const ::com::sun::star::util::SearchOptions & rOptions, 
+            ::com::sun::star::uno::Reference<
+            ::com::sun::star::i18n::XExtendedTransliteration > XTrans );
+    
+    // destructor
+    ~Regexpr();
+
+    void set_line( const sal_Unicode *line, sal_Int32 len );
+
+    // function returning pointers to occurrences in regs
+    sal_Int32 re_search(struct re_registers *regs, sal_Int32 pOffset);  // find pattern in line
+};
+
+#endif
diff --git a/regexp/prj/build.lst b/regexp/prj/build.lst
index c51b82c..986afb3 100644
--- a/regexp/prj/build.lst
+++ b/regexp/prj/build.lst
@@ -1,4 +1,2 @@
 re  regexp : offapi comphelper i18nutil sal NULL
-re  regexp                                      usr1    -   all re_mkout NULL
-re  regexp\inc                                  nmake   -   all re_inc NULL
-re  regexp\source                               nmake   -   all re_source re_inc NULL
+re  regexp\prj                                  nmake   -   all re_prj NULL
diff --git a/regexp/prj/d.lst b/regexp/prj/d.lst
index 79d16ef..e69de29 100644
--- a/regexp/prj/d.lst
+++ b/regexp/prj/d.lst
@@ -1,8 +0,0 @@
-mkdir: %_DEST%\inc%_EXT%\external\regexp
-
-..\source\reclass.hxx %_DEST%\inc%_EXT%\external\regexp\reclass.hxx
-
-..\%__SRC%\bin\i18nrege*.dll %_DEST%\bin%_EXT%\i18nrege*.dll
-..\%__SRC%\lib\libi18nregexp*.so %_DEST%\lib%_EXT%\libi18nregexp*.so
-..\%__SRC%\lib\libi18nregexp*.dylib %_DEST%\lib%_EXT%\libi18nregexp*.dylib
-..\%__SRC%\lib\ii18nregexp.lib %_DEST%\lib%_EXT%\ii18nregexp.lib
diff --git a/regexp/prj/makefile.mk b/regexp/prj/makefile.mk
new file mode 100644
index 0000000..88cd9df
--- /dev/null
+++ b/regexp/prj/makefile.mk
@@ -0,0 +1,40 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..
+TARGET=prj
+
+.INCLUDE : settings.mk
+
+.IF "$(VERBOSE)"!=""
+VERBOSEFLAG :=
+.ELSE
+VERBOSEFLAG := -s
+.ENDIF
+
+all:
+	cd $(PRJ) && $(GNUMAKE) $(VERBOSEFLAG) -r -j$(MAXPROCESS) $(gb_MAKETARGET) && $(GNUMAKE) $(VERBOSEFLAG) -r deliverlog
diff --git a/regexp/source/makefile.mk b/regexp/source/makefile.mk
deleted file mode 100644
index 7aa2a2e..0000000
--- a/regexp/source/makefile.mk
+++ /dev/null
@@ -1,70 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-# 
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org.  If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..
-
-PRJNAME=regexp
-TARGET=i18nregexp
-LIBTARGET=NO
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE :	settings.mk
-
-# --- Files --------------------------------------------------------
-
-EXCEPTIONSFILES= \
-        $(SLO)$/reclass.obj
-
-SLOFILES= \
-        $(EXCEPTIONSFILES)
-
-SHL1TARGET=		$(TARGET)$(COMID)
-SHL1IMPLIB=     i$(TARGET)
-DEF1DEPN=		$(MISC)$/$(SHL1TARGET).flt
-SHL1DEF=		$(MISC)$/$(SHL1TARGET).def
-DEF1NAME=		$(SHL1TARGET)
-DEFLIB1NAME=	$(SHL1TARGET)
-
-SHL1OBJS=		$(SLOFILES)
-
-LIB1TARGET=		$(SLB)$/$(SHL1TARGET).lib
-LIB1OBJFILES=	$(SHL1OBJS)
-
-SHL1STDLIBS= \
-                $(SALLIB) \
-                $(I18NUTILLIB)
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE :	target.mk
-
-$(MISC)$/$(SHL1TARGET).flt: makefile.mk
-    @echo ------------------------------
-    @echo Making: $@
-    @echo CLEAR_THE_FILE > $@
-    @echo __CT >> $@
diff --git a/regexp/source/reclass.cxx b/regexp/source/reclass.cxx
index 5d99073..0cfbcc4 100644
--- a/regexp/source/reclass.cxx
+++ b/regexp/source/reclass.cxx
@@ -25,9 +25,6 @@
  *
  ************************************************************************/
 
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_regexp.hxx"
 /* Extended regular expression matching and search library,
    version 0.12.
    (Implements POSIX draft P1003.2/D11.2, except for some of the
@@ -53,6 +50,7 @@
     Modified for OpenOffice.org to use sal_Unicode and Transliteration service.
  */
 
+#include <regexp/reclass.hxx>
 
 #if 0
 /* If for any reason (porting, debug) we can't use alloca() use malloc()
@@ -74,9 +72,6 @@
 #include <rtl/ustring.hxx>
 #include <com/sun/star/i18n/TransliterationModules.hpp>
 
-#include "reclass.hxx"
-
-
 /* Maximum number of duplicates an interval can allow.  Some systems
    (erroneously) define this in other header files, but we want our
    value, so remove any previous define.  */


More information about the Libreoffice-commits mailing list