summaryrefslogtreecommitdiffstats
path: root/external/libmwaw
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /external/libmwaw
parentInitial commit. (diff)
downloadlibreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz
libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'external/libmwaw')
-rw-r--r--external/libmwaw/ExternalPackage_libmwaw.mk22
-rw-r--r--external/libmwaw/ExternalProject_libmwaw.mk54
-rw-r--r--external/libmwaw/Library_mwaw.mk223
-rw-r--r--external/libmwaw/Makefile7
-rw-r--r--external/libmwaw/Module_libmwaw.mk31
-rw-r--r--external/libmwaw/README3
-rw-r--r--external/libmwaw/UnpackedTarball_libmwaw.mk32
-rw-r--r--external/libmwaw/inc/pch/precompiled_mwaw.cxx12
-rw-r--r--external/libmwaw/inc/pch/precompiled_mwaw.hxx58
-rw-r--r--external/libmwaw/libmwaw-bundled-soname.patch.014
-rw-r--r--external/libmwaw/rpath.patch10
11 files changed, 466 insertions, 0 deletions
diff --git a/external/libmwaw/ExternalPackage_libmwaw.mk b/external/libmwaw/ExternalPackage_libmwaw.mk
new file mode 100644
index 000000000..6f3f27ccc
--- /dev/null
+++ b/external/libmwaw/ExternalPackage_libmwaw.mk
@@ -0,0 +1,22 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_ExternalPackage_ExternalPackage,libmwaw,libmwaw))
+
+$(eval $(call gb_ExternalPackage_use_external_project,libmwaw,libmwaw))
+
+ifeq ($(OS),MACOSX)
+$(eval $(call gb_ExternalPackage_add_file,libmwaw,$(LIBO_LIB_FOLDER)/libmwaw-0.3.3.dylib,src/lib/.libs/libmwaw-0.3.3.dylib))
+else ifeq ($(OS),WNT)
+$(eval $(call gb_ExternalPackage_add_file,libmwaw,$(LIBO_LIB_FOLDER)/libmwaw-0.3.dll,src/lib/.libs/libmwaw-0.3.dll))
+else ifeq ($(DISABLE_DYNLOADING),)
+$(eval $(call gb_ExternalPackage_add_file,libmwaw,$(LIBO_LIB_FOLDER)/libmwaw-0.3-lo.so.3,src/lib/.libs/libmwaw-0.3-lo.so.3.0.$(MWAW_VERSION_MICRO)))
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/libmwaw/ExternalProject_libmwaw.mk b/external/libmwaw/ExternalProject_libmwaw.mk
new file mode 100644
index 000000000..7a67a067f
--- /dev/null
+++ b/external/libmwaw/ExternalProject_libmwaw.mk
@@ -0,0 +1,54 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_ExternalProject_ExternalProject,libmwaw))
+
+$(eval $(call gb_ExternalProject_use_autoconf,libmwaw,build))
+
+$(eval $(call gb_ExternalProject_register_targets,libmwaw,\
+ build \
+))
+
+$(eval $(call gb_ExternalProject_use_externals,libmwaw,\
+ revenge \
+))
+
+$(call gb_ExternalProject_get_state_target,libmwaw,build) :
+ $(call gb_Trace_StartRange,libmwaw,EXTERNAL)
+ $(call gb_ExternalProject_run,build,\
+ export PKG_CONFIG="" \
+ && $(gb_RUN_CONFIGURE) ./configure \
+ --with-pic \
+ $(if $(DISABLE_DYNLOADING), \
+ --enable-static --disable-shared \
+ , \
+ --enable-shared --disable-static \
+ ) \
+ --without-docs \
+ --disable-tools \
+ --disable-zip \
+ $(if $(ENABLE_DEBUG),--enable-debug,--disable-debug) \
+ $(if $(verbose),--disable-silent-rules,--enable-silent-rules) \
+ --disable-werror \
+ CXXFLAGS="$(gb_CXXFLAGS) $(call gb_ExternalProject_get_build_flags,libmwaw)" \
+ $(if $(filter LINUX,$(OS)),$(if $(SYSTEM_REVENGE),, \
+ 'LDFLAGS=-Wl$(COMMA)-z$(COMMA)origin \
+ -Wl$(COMMA)-rpath$(COMMA)\$$$$ORIGIN')) \
+ $(gb_CONFIGURE_PLATFORMS) \
+ $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
+ && (cd $(EXTERNAL_WORKDIR)/src/lib && \
+ $(MAKE)) \
+ $(if $(filter MACOSX,$(OS)),\
+ && $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
+ $(EXTERNAL_WORKDIR)/src/lib/.libs/libmwaw-0.3.3.dylib \
+ ) \
+ )
+ $(call gb_Trace_EndRange,libmwaw,EXTERNAL)
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/libmwaw/Library_mwaw.mk b/external/libmwaw/Library_mwaw.mk
new file mode 100644
index 000000000..58d433f9d
--- /dev/null
+++ b/external/libmwaw/Library_mwaw.mk
@@ -0,0 +1,223 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_Library_Library,mwaw))
+
+$(eval $(call gb_Library_use_unpacked,mwaw,libmwaw))
+
+$(eval $(call gb_Library_use_externals,mwaw,\
+ revenge \
+))
+
+$(eval $(call gb_Library_set_warnings_disabled,mwaw))
+
+$(eval $(call gb_Library_set_precompiled_header,mwaw,external/libmwaw/inc/pch/precompiled_mwaw))
+
+$(eval $(call gb_Library_set_include,mwaw,\
+ -I$(call gb_UnpackedTarball_get_dir,libmwaw)/inc \
+ $$(INCLUDE) \
+))
+
+$(eval $(call gb_Library_add_defs,mwaw,\
+ -DBUILD_MWAW \
+ -DNDEBUG \
+ -D_WINDLL \
+))
+
+$(eval $(call gb_Library_add_generated_exception_objects,mwaw,\
+ UnpackedTarball/libmwaw/src/lib/ActaParser \
+ UnpackedTarball/libmwaw/src/lib/ActaText \
+ UnpackedTarball/libmwaw/src/lib/ApplePictParser \
+ UnpackedTarball/libmwaw/src/lib/BeagleWksBMParser \
+ UnpackedTarball/libmwaw/src/lib/BeagleWksDBParser \
+ UnpackedTarball/libmwaw/src/lib/BeagleWksDRParser \
+ UnpackedTarball/libmwaw/src/lib/BeagleWksParser \
+ UnpackedTarball/libmwaw/src/lib/BeagleWksSSParser \
+ UnpackedTarball/libmwaw/src/lib/BeagleWksStructManager \
+ UnpackedTarball/libmwaw/src/lib/BeagleWksText \
+ UnpackedTarball/libmwaw/src/lib/Canvas5BMParser \
+ UnpackedTarball/libmwaw/src/lib/Canvas5Graph \
+ UnpackedTarball/libmwaw/src/lib/Canvas5Image \
+ UnpackedTarball/libmwaw/src/lib/Canvas5Parser \
+ UnpackedTarball/libmwaw/src/lib/Canvas5Structure \
+ UnpackedTarball/libmwaw/src/lib/Canvas5StyleManager \
+ UnpackedTarball/libmwaw/src/lib/CanvasGraph \
+ UnpackedTarball/libmwaw/src/lib/CanvasParser \
+ UnpackedTarball/libmwaw/src/lib/CanvasStyleManager \
+ UnpackedTarball/libmwaw/src/lib/ClarisDrawGraph \
+ UnpackedTarball/libmwaw/src/lib/ClarisDrawParser \
+ UnpackedTarball/libmwaw/src/lib/ClarisDrawStyleManager \
+ UnpackedTarball/libmwaw/src/lib/ClarisDrawText \
+ UnpackedTarball/libmwaw/src/lib/ClarisWksBMParser \
+ UnpackedTarball/libmwaw/src/lib/ClarisWksDatabase \
+ UnpackedTarball/libmwaw/src/lib/ClarisWksDbaseContent \
+ UnpackedTarball/libmwaw/src/lib/ClarisWksDocument \
+ UnpackedTarball/libmwaw/src/lib/ClarisWksGraph \
+ UnpackedTarball/libmwaw/src/lib/ClarisWksPRParser \
+ UnpackedTarball/libmwaw/src/lib/ClarisWksParser \
+ UnpackedTarball/libmwaw/src/lib/ClarisWksPresentation \
+ UnpackedTarball/libmwaw/src/lib/ClarisWksSSParser \
+ UnpackedTarball/libmwaw/src/lib/ClarisWksSpreadsheet \
+ UnpackedTarball/libmwaw/src/lib/ClarisWksStruct \
+ UnpackedTarball/libmwaw/src/lib/ClarisWksStyleManager \
+ UnpackedTarball/libmwaw/src/lib/ClarisWksTable \
+ UnpackedTarball/libmwaw/src/lib/ClarisWksText \
+ UnpackedTarball/libmwaw/src/lib/CorelPainterParser \
+ UnpackedTarball/libmwaw/src/lib/CricketDrawParser \
+ UnpackedTarball/libmwaw/src/lib/DocMkrParser \
+ UnpackedTarball/libmwaw/src/lib/DocMkrText \
+ UnpackedTarball/libmwaw/src/lib/DrawTableParser \
+ UnpackedTarball/libmwaw/src/lib/EDocParser \
+ UnpackedTarball/libmwaw/src/lib/FreeHandParser \
+ UnpackedTarball/libmwaw/src/lib/FullWrtGraph \
+ UnpackedTarball/libmwaw/src/lib/FullWrtParser \
+ UnpackedTarball/libmwaw/src/lib/FullWrtStruct \
+ UnpackedTarball/libmwaw/src/lib/FullWrtText \
+ UnpackedTarball/libmwaw/src/lib/GreatWksBMParser \
+ UnpackedTarball/libmwaw/src/lib/GreatWksDBParser \
+ UnpackedTarball/libmwaw/src/lib/GreatWksDRParser \
+ UnpackedTarball/libmwaw/src/lib/GreatWksDocument \
+ UnpackedTarball/libmwaw/src/lib/GreatWksGraph \
+ UnpackedTarball/libmwaw/src/lib/GreatWksParser \
+ UnpackedTarball/libmwaw/src/lib/GreatWksSSParser \
+ UnpackedTarball/libmwaw/src/lib/GreatWksText \
+ UnpackedTarball/libmwaw/src/lib/HanMacWrdJGraph \
+ UnpackedTarball/libmwaw/src/lib/HanMacWrdJParser \
+ UnpackedTarball/libmwaw/src/lib/HanMacWrdJText \
+ UnpackedTarball/libmwaw/src/lib/HanMacWrdKGraph \
+ UnpackedTarball/libmwaw/src/lib/HanMacWrdKParser \
+ UnpackedTarball/libmwaw/src/lib/HanMacWrdKText \
+ UnpackedTarball/libmwaw/src/lib/JazzSSParser \
+ UnpackedTarball/libmwaw/src/lib/JazzWriterParser \
+ UnpackedTarball/libmwaw/src/lib/LightWayTxtGraph \
+ UnpackedTarball/libmwaw/src/lib/LightWayTxtParser \
+ UnpackedTarball/libmwaw/src/lib/LightWayTxtText \
+ UnpackedTarball/libmwaw/src/lib/MWAWCell \
+ UnpackedTarball/libmwaw/src/lib/MWAWChart \
+ UnpackedTarball/libmwaw/src/lib/MWAWDebug \
+ UnpackedTarball/libmwaw/src/lib/MWAWDocument \
+ UnpackedTarball/libmwaw/src/lib/MWAWEntry \
+ UnpackedTarball/libmwaw/src/lib/MWAWFont \
+ UnpackedTarball/libmwaw/src/lib/MWAWFontConverter \
+ UnpackedTarball/libmwaw/src/lib/MWAWFontSJISConverter \
+ UnpackedTarball/libmwaw/src/lib/MWAWGraphicDecoder \
+ UnpackedTarball/libmwaw/src/lib/MWAWGraphicEncoder \
+ UnpackedTarball/libmwaw/src/lib/MWAWGraphicListener \
+ UnpackedTarball/libmwaw/src/lib/MWAWGraphicShape \
+ UnpackedTarball/libmwaw/src/lib/MWAWGraphicStyle \
+ UnpackedTarball/libmwaw/src/lib/MWAWHeader \
+ UnpackedTarball/libmwaw/src/lib/MWAWInputStream \
+ UnpackedTarball/libmwaw/src/lib/MWAWList \
+ UnpackedTarball/libmwaw/src/lib/MWAWListener \
+ UnpackedTarball/libmwaw/src/lib/MWAWOLEParser \
+ UnpackedTarball/libmwaw/src/lib/MWAWPageSpan \
+ UnpackedTarball/libmwaw/src/lib/MWAWParagraph \
+ UnpackedTarball/libmwaw/src/lib/MWAWParser \
+ UnpackedTarball/libmwaw/src/lib/MWAWPict \
+ UnpackedTarball/libmwaw/src/lib/MWAWPictBitmap \
+ UnpackedTarball/libmwaw/src/lib/MWAWPictData \
+ UnpackedTarball/libmwaw/src/lib/MWAWPictMac \
+ UnpackedTarball/libmwaw/src/lib/MWAWPosition \
+ UnpackedTarball/libmwaw/src/lib/MWAWPresentationListener \
+ UnpackedTarball/libmwaw/src/lib/MWAWPrinter \
+ UnpackedTarball/libmwaw/src/lib/MWAWPropertyHandler \
+ UnpackedTarball/libmwaw/src/lib/MWAWRSRCParser \
+ UnpackedTarball/libmwaw/src/lib/MWAWSection \
+ UnpackedTarball/libmwaw/src/lib/MWAWSpreadsheetDecoder \
+ UnpackedTarball/libmwaw/src/lib/MWAWSpreadsheetEncoder \
+ UnpackedTarball/libmwaw/src/lib/MWAWSpreadsheetListener \
+ UnpackedTarball/libmwaw/src/lib/MWAWStream \
+ UnpackedTarball/libmwaw/src/lib/MWAWStringStream \
+ UnpackedTarball/libmwaw/src/lib/MWAWSubDocument \
+ UnpackedTarball/libmwaw/src/lib/MWAWTable \
+ UnpackedTarball/libmwaw/src/lib/MWAWTextListener \
+ UnpackedTarball/libmwaw/src/lib/MacDocParser \
+ UnpackedTarball/libmwaw/src/lib/MacDraft5Parser \
+ UnpackedTarball/libmwaw/src/lib/MacDraft5StyleManager \
+ UnpackedTarball/libmwaw/src/lib/MacDraftParser \
+ UnpackedTarball/libmwaw/src/lib/MacDrawParser \
+ UnpackedTarball/libmwaw/src/lib/MacDrawProParser \
+ UnpackedTarball/libmwaw/src/lib/MacDrawProStyleManager \
+ UnpackedTarball/libmwaw/src/lib/MacPaintParser \
+ UnpackedTarball/libmwaw/src/lib/MacWrtParser \
+ UnpackedTarball/libmwaw/src/lib/MacWrtProParser \
+ UnpackedTarball/libmwaw/src/lib/MacWrtProStructures \
+ UnpackedTarball/libmwaw/src/lib/MaxWrtParser \
+ UnpackedTarball/libmwaw/src/lib/MarinerWrtGraph \
+ UnpackedTarball/libmwaw/src/lib/MarinerWrtParser \
+ UnpackedTarball/libmwaw/src/lib/MarinerWrtText \
+ UnpackedTarball/libmwaw/src/lib/MindWrtParser \
+ UnpackedTarball/libmwaw/src/lib/MoreParser \
+ UnpackedTarball/libmwaw/src/lib/MoreText \
+ UnpackedTarball/libmwaw/src/lib/MouseWrtParser \
+ UnpackedTarball/libmwaw/src/lib/MsWks3Text \
+ UnpackedTarball/libmwaw/src/lib/MsWks4Text \
+ UnpackedTarball/libmwaw/src/lib/MsWks4Zone \
+ UnpackedTarball/libmwaw/src/lib/MsWksDBParser \
+ UnpackedTarball/libmwaw/src/lib/MsWksDRParser \
+ UnpackedTarball/libmwaw/src/lib/MsWksDocument \
+ UnpackedTarball/libmwaw/src/lib/MsWksGraph \
+ UnpackedTarball/libmwaw/src/lib/MsWksParser \
+ UnpackedTarball/libmwaw/src/lib/MsWksSSParser \
+ UnpackedTarball/libmwaw/src/lib/MsWksTable \
+ UnpackedTarball/libmwaw/src/lib/MsWrd1Parser \
+ UnpackedTarball/libmwaw/src/lib/MsWrdParser \
+ UnpackedTarball/libmwaw/src/lib/MsWrdStruct \
+ UnpackedTarball/libmwaw/src/lib/MsWrdText \
+ UnpackedTarball/libmwaw/src/lib/MsWrdTextStyles \
+ UnpackedTarball/libmwaw/src/lib/MultiplanParser \
+ UnpackedTarball/libmwaw/src/lib/NisusWrtGraph \
+ UnpackedTarball/libmwaw/src/lib/NisusWrtParser \
+ UnpackedTarball/libmwaw/src/lib/NisusWrtStruct \
+ UnpackedTarball/libmwaw/src/lib/NisusWrtText \
+ UnpackedTarball/libmwaw/src/lib/PixelPaintParser \
+ UnpackedTarball/libmwaw/src/lib/PowerPoint1Parser \
+ UnpackedTarball/libmwaw/src/lib/PowerPoint3OLE \
+ UnpackedTarball/libmwaw/src/lib/PowerPoint3Parser \
+ UnpackedTarball/libmwaw/src/lib/PowerPoint7Graph \
+ UnpackedTarball/libmwaw/src/lib/PowerPoint7Parser \
+ UnpackedTarball/libmwaw/src/lib/PowerPoint7Struct \
+ UnpackedTarball/libmwaw/src/lib/PowerPoint7Text \
+ UnpackedTarball/libmwaw/src/lib/RagTime5Chart \
+ UnpackedTarball/libmwaw/src/lib/RagTime5ClusterManager \
+ UnpackedTarball/libmwaw/src/lib/RagTime5Document \
+ UnpackedTarball/libmwaw/src/lib/RagTime5Formula \
+ UnpackedTarball/libmwaw/src/lib/RagTime5Graph \
+ UnpackedTarball/libmwaw/src/lib/RagTime5Layout \
+ UnpackedTarball/libmwaw/src/lib/RagTime5Parser \
+ UnpackedTarball/libmwaw/src/lib/RagTime5Pipeline \
+ UnpackedTarball/libmwaw/src/lib/RagTime5SSParser \
+ UnpackedTarball/libmwaw/src/lib/RagTime5Spreadsheet \
+ UnpackedTarball/libmwaw/src/lib/RagTime5StructManager \
+ UnpackedTarball/libmwaw/src/lib/RagTime5StyleManager \
+ UnpackedTarball/libmwaw/src/lib/RagTime5Text \
+ UnpackedTarball/libmwaw/src/lib/RagTimeParser \
+ UnpackedTarball/libmwaw/src/lib/RagTimeSpreadsheet \
+ UnpackedTarball/libmwaw/src/lib/RagTimeStruct \
+ UnpackedTarball/libmwaw/src/lib/RagTimeText \
+ UnpackedTarball/libmwaw/src/lib/ReadySetGoParser \
+ UnpackedTarball/libmwaw/src/lib/ScoopParser \
+ UnpackedTarball/libmwaw/src/lib/ScriptWriterParser \
+ UnpackedTarball/libmwaw/src/lib/StudentWritingCParser \
+ UnpackedTarball/libmwaw/src/lib/StyleParser \
+ UnpackedTarball/libmwaw/src/lib/SuperPaintParser \
+ UnpackedTarball/libmwaw/src/lib/TeachTxtParser \
+ UnpackedTarball/libmwaw/src/lib/WingzGraph \
+ UnpackedTarball/libmwaw/src/lib/WingzParser \
+ UnpackedTarball/libmwaw/src/lib/WordMakerParser \
+ UnpackedTarball/libmwaw/src/lib/WriteNowEntry \
+ UnpackedTarball/libmwaw/src/lib/WriteNowParser \
+ UnpackedTarball/libmwaw/src/lib/WriteNowText \
+ UnpackedTarball/libmwaw/src/lib/WriterPlsParser \
+ UnpackedTarball/libmwaw/src/lib/ZWrtParser \
+ UnpackedTarball/libmwaw/src/lib/ZWrtText \
+ UnpackedTarball/libmwaw/src/lib/libmwaw_internal \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/libmwaw/Makefile b/external/libmwaw/Makefile
new file mode 100644
index 000000000..e4968cf85
--- /dev/null
+++ b/external/libmwaw/Makefile
@@ -0,0 +1,7 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+
+module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+
+include $(module_directory)/../../solenv/gbuild/partial_build.mk
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/libmwaw/Module_libmwaw.mk b/external/libmwaw/Module_libmwaw.mk
new file mode 100644
index 000000000..272ec01b4
--- /dev/null
+++ b/external/libmwaw/Module_libmwaw.mk
@@ -0,0 +1,31 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_Module_Module,libmwaw))
+
+$(eval $(call gb_Module_add_targets,libmwaw,\
+ UnpackedTarball_libmwaw \
+))
+
+ifeq ($(COM),MSC)
+
+$(eval $(call gb_Module_add_targets,libmwaw,\
+ Library_mwaw \
+))
+
+else
+
+$(eval $(call gb_Module_add_targets,libmwaw,\
+ ExternalPackage_libmwaw \
+ ExternalProject_libmwaw \
+))
+
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/libmwaw/README b/external/libmwaw/README
new file mode 100644
index 000000000..c10d26bb5
--- /dev/null
+++ b/external/libmwaw/README
@@ -0,0 +1,3 @@
+Library parsing different document file formats used on old Mac OS.
+
+https://sourceforge.net/projects/libmwaw/
diff --git a/external/libmwaw/UnpackedTarball_libmwaw.mk b/external/libmwaw/UnpackedTarball_libmwaw.mk
new file mode 100644
index 000000000..935cbc1eb
--- /dev/null
+++ b/external/libmwaw/UnpackedTarball_libmwaw.mk
@@ -0,0 +1,32 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_UnpackedTarball_UnpackedTarball,libmwaw))
+
+$(eval $(call gb_UnpackedTarball_set_tarball,libmwaw,$(MWAW_TARBALL)))
+
+$(eval $(call gb_UnpackedTarball_set_patchlevel,libmwaw,0))
+
+$(eval $(call gb_UnpackedTarball_update_autoconf_configs,libmwaw))
+
+ifneq ($(OS),MACOSX)
+ifneq ($(OS),WNT)
+$(eval $(call gb_UnpackedTarball_add_patches,libmwaw, \
+ external/libmwaw/libmwaw-bundled-soname.patch.0 \
+))
+endif
+endif
+
+ifeq ($(SYSTEM_REVENGE),)
+$(eval $(call gb_UnpackedTarball_add_patches,libmwaw, \
+ external/libmwaw/rpath.patch \
+))
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/libmwaw/inc/pch/precompiled_mwaw.cxx b/external/libmwaw/inc/pch/precompiled_mwaw.cxx
new file mode 100644
index 000000000..b72c8e728
--- /dev/null
+++ b/external/libmwaw/inc/pch/precompiled_mwaw.cxx
@@ -0,0 +1,12 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "precompiled_mwaw.hxx"
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/external/libmwaw/inc/pch/precompiled_mwaw.hxx b/external/libmwaw/inc/pch/precompiled_mwaw.hxx
new file mode 100644
index 000000000..939d664dd
--- /dev/null
+++ b/external/libmwaw/inc/pch/precompiled_mwaw.hxx
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+/*
+ This file has been autogenerated by update_pch.sh. It is possible to edit it
+ manually (such as when an include file has been moved/renamed/removed). All such
+ manual changes will be rewritten by the next run of update_pch.sh (which presumably
+ also fixes all possible problems, so it's usually better to use it).
+
+ Generated on 2020-04-25 20:55:00 using:
+ ./bin/update_pch external/libmwaw mwaw --cutoff=1 --exclude:system --include:module --include:local
+
+ If after updating build fails, use the following command to locate conflicting headers:
+ ./bin/update_pch_bisect ./external/libmwaw/inc/pch/precompiled_mwaw.hxx "make external/libmwaw.build" --find-conflicts
+*/
+
+#if PCH_LEVEL >= 1
+#include <algorithm>
+#include <cctype>
+#include <cmath>
+#include <cstdarg>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <ctime>
+#include <ctype.h>
+#include <iomanip>
+#include <iostream>
+#include <limits>
+#include <locale.h>
+#include <map>
+#include <memory>
+#include <set>
+#include <sstream>
+#include <stack>
+#include <string.h>
+#include <string>
+#include <time.h>
+#include <utility>
+#include <vector>
+#endif // PCH_LEVEL >= 1
+#if PCH_LEVEL >= 2
+#endif // PCH_LEVEL >= 2
+#if PCH_LEVEL >= 3
+#include <libmwaw/libmwaw.hxx>
+#include <librevenge-stream/librevenge-stream.h>
+#include <librevenge/librevenge.h>
+#endif // PCH_LEVEL >= 3
+#if PCH_LEVEL >= 4
+#endif // PCH_LEVEL >= 4
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/external/libmwaw/libmwaw-bundled-soname.patch.0 b/external/libmwaw/libmwaw-bundled-soname.patch.0
new file mode 100644
index 000000000..31f5c75cb
--- /dev/null
+++ b/external/libmwaw/libmwaw-bundled-soname.patch.0
@@ -0,0 +1,14 @@
+--- src/lib/Makefile.in.orig 2015-08-07 14:04:47.646611627 +0200
++++ src/lib/Makefile.in 2015-08-07 14:25:49.888589996 +0200
+@@ -418,8 +418,8 @@
+ AM_CXXFLAGS = -I$(top_srcdir)/inc $(REVENGE_CFLAGS) $(DEBUG_CXXFLAGS) \
+ $(ZLIB_CFLAGS) $(am__append_1)
+ libmwaw_@MWAW_MAJOR_VERSION@_@MWAW_MINOR_VERSION@_la_LIBADD = $(REVENGE_LIBS) $(ZLIB_LIBS) @LIBMWAW_WIN32_RESOURCE@
+-libmwaw_@MWAW_MAJOR_VERSION@_@MWAW_MINOR_VERSION@_la_DEPENDENCIES = @LIBMWAW_WIN32_RESOURCE@
+-libmwaw_@MWAW_MAJOR_VERSION@_@MWAW_MINOR_VERSION@_la_LDFLAGS = $(version_info) -export-dynamic -no-undefined
++libmwaw_@MWAW_MAJOR_VERSION@_@MWAW_MINOR_VERSION@_la_DEPENDENCIES = @LIBMWAW_WIN32_RESOURCE@
++libmwaw_@MWAW_MAJOR_VERSION@_@MWAW_MINOR_VERSION@_la_LDFLAGS = $(version_info) -export-dynamic -no-undefined -release lo
+ libmwaw_@MWAW_MAJOR_VERSION@_@MWAW_MINOR_VERSION@_la_SOURCES = \
+ libmwaw_internal.cxx \
+ libmwaw_internal.hxx \
+
diff --git a/external/libmwaw/rpath.patch b/external/libmwaw/rpath.patch
new file mode 100644
index 000000000..a73d8ae22
--- /dev/null
+++ b/external/libmwaw/rpath.patch
@@ -0,0 +1,10 @@
+--- configure
++++ configure
+@@ -15353,6 +15353,7 @@
+ esac
+ ;;
+ esac
++hardcode_libdir_flag_spec_CXX=
+ ;;
+
+ lynxos*)