summaryrefslogtreecommitdiff
path: root/writerperfect
diff options
context:
space:
mode:
authorArmin Le Grand (Allotropia) <Armin.Le.Grand@me.com>2021-04-30 17:26:41 +0200
committerJan-Marek Glogowski <glogow@fbihome.de>2022-01-20 12:28:54 +0100
commit02140554ee1d70b219a42546191e2219d58be4b0 (patch)
tree3dd419dbdd0c23676c7f749bd8a83d09ad26c8bd /writerperfect
parent02634fb7c7e8dc613ffc3717bb244f85cf81a7c6 (diff)
WASM --enable-wasm-strip now skips lots of LO code
... resulting in a stripped-down, Writer-only build to decrease the resulting WASM bytecode size. It removes the following code from the build: * All other major modules: Base, Calc, Chart, Draw, Impress and Math and related writerperfect filters * The premultiply tables * The (auto-)recovery functionality * All accessibility (but not the accessibility document checker) * The LanguageGuess component * EPUB support * The start center / BackingWindow * The TipOfTheDay functionality * The splash screen communication Currently crashs with anything different then soffice --writer. Closing the document also still crashes. FYI: many of these features are now behind ENABLE_WASM_STRIP_* defines, but they normally don't work on their own, globally! That's because we started with stripping the main components. Change-Id: Ib9c0f9452815910c0a2aceaf142ba1ad4a9cb0d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126182 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'writerperfect')
-rw-r--r--writerperfect/Library_wpftwriter.mk30
-rw-r--r--writerperfect/Module_writerperfect.mk2
-rw-r--r--writerperfect/source/writer/wpftwriter.component8
-rw-r--r--writerperfect/source/writer/wpftwriter.component.extended8
-rw-r--r--writerperfect/source/writer/wpftwriter.component.extended212
5 files changed, 55 insertions, 5 deletions
diff --git a/writerperfect/Library_wpftwriter.mk b/writerperfect/Library_wpftwriter.mk
index 582bfc5faa3a..840a86f06e22 100644
--- a/writerperfect/Library_wpftwriter.mk
+++ b/writerperfect/Library_wpftwriter.mk
@@ -26,6 +26,11 @@ $(eval $(call gb_Library_set_include,wpftwriter,\
$(eval $(call gb_Library_set_componentfile,wpftwriter,writerperfect/source/writer/wpftwriter,services))
+$(eval $(call gb_Library_add_componentimpls,wpftwriter, \
+ $(if $(ENABLE_WASM_STRIP_EPUB),,extended) \
+ $(if $(ENABLE_WASM_STRIP_SWEXPORTS),,extended2) \
+))
+
$(eval $(call gb_Library_use_sdk_api,wpftwriter))
$(eval $(call gb_Library_use_common_precompiled_header,wpftwriter))
@@ -50,12 +55,17 @@ $(eval $(call gb_Library_use_libraries,wpftwriter,\
xo \
))
+ifneq ($(ENABLE_WASM_STRIP_EPUB),TRUE)
+$(eval $(call gb_Library_use_externals,wpftwriter,\
+ epubgen \
+))
+endif
+
$(eval $(call gb_Library_use_externals,wpftwriter,\
abw \
boost_headers \
ebook \
- epubgen \
- etonyek \
+ $(if $(ENABLE_WASM_STRIP_SWEXPORTS),,etonyek) \
icu_headers \
icui18n \
icuuc \
@@ -71,18 +81,28 @@ $(eval $(call gb_Library_use_externals,wpftwriter,\
zlib \
))
+ifneq ($(ENABLE_WASM_STRIP_EPUB),TRUE)
$(eval $(call gb_Library_add_exception_objects,wpftwriter,\
- writerperfect/source/writer/AbiWordImportFilter \
- writerperfect/source/writer/EBookImportFilter \
writerperfect/source/writer/EPUBExportDialog \
writerperfect/source/writer/EPUBExportFilter \
writerperfect/source/writer/EPUBExportUIComponent \
writerperfect/source/writer/EPUBPackage \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_SWEXPORTS),TRUE)
+$(eval $(call gb_Library_add_exception_objects,wpftwriter,\
+ writerperfect/source/writer/AbiWordImportFilter \
+ writerperfect/source/writer/EBookImportFilter \
writerperfect/source/writer/MSWorksImportFilter \
writerperfect/source/writer/MWAWImportFilter \
writerperfect/source/writer/PagesImportFilter \
- writerperfect/source/writer/StarOfficeWriterImportFilter \
writerperfect/source/writer/WordPerfectImportFilter \
+))
+endif
+
+$(eval $(call gb_Library_add_exception_objects,wpftwriter,\
+ writerperfect/source/writer/StarOfficeWriterImportFilter \
writerperfect/source/writer/exp/XMLBase64ImportContext \
writerperfect/source/writer/exp/XMLFootnoteImportContext \
writerperfect/source/writer/exp/XMLSectionContext \
diff --git a/writerperfect/Module_writerperfect.mk b/writerperfect/Module_writerperfect.mk
index c24b0dd5bcc6..c09dc27b1bde 100644
--- a/writerperfect/Module_writerperfect.mk
+++ b/writerperfect/Module_writerperfect.mk
@@ -20,9 +20,11 @@
$(eval $(call gb_Module_Module,writerperfect))
$(eval $(call gb_Module_add_targets,writerperfect,\
+ $(if $(ENABLE_WASM_STRIP_BASIC_CALC_DRAW_MATH_IMPRESS),, \
Library_wpftcalc \
Library_wpftdraw \
Library_wpftimpress \
+ ) \
Library_wpftwriter \
Library_writerperfect \
UIConfig_writerperfect \
diff --git a/writerperfect/source/writer/wpftwriter.component b/writerperfect/source/writer/wpftwriter.component
index 8ab436634052..176d48750c19 100644
--- a/writerperfect/source/writer/wpftwriter.component
+++ b/writerperfect/source/writer/wpftwriter.component
@@ -22,31 +22,37 @@
constructor="com_sun_star_comp_Writer_AbiWordImportFilter_get_implementation">
<service name="com.sun.star.document.ImportFilter"/>
<service name="com.sun.star.document.ExtendedTypeDetection"/>
+ <optional/>
</implementation>
<implementation name="com.sun.star.comp.Writer.MSWorksImportFilter"
constructor="com_sun_star_comp_Writer_MSWorksImportFilter_get_implementation">
<service name="com.sun.star.document.ImportFilter"/>
<service name="com.sun.star.document.ExtendedTypeDetection"/>
+ <optional/>
</implementation>
<implementation name="com.sun.star.comp.Writer.MWAWImportFilter"
constructor="com_sun_star_comp_Writer_MWAWImportFilter_get_implementation">
<service name="com.sun.star.document.ImportFilter"/>
<service name="com.sun.star.document.ExtendedTypeDetection"/>
+ <optional/>
</implementation>
<implementation name="com.sun.star.comp.Writer.WordPerfectImportFilter"
constructor="com_sun_star_comp_Writer_WordPerfectImportFilter_get_implementation">
<service name="com.sun.star.document.ExtendedTypeDetection"/>
<service name="com.sun.star.document.ImportFilter"/>
+ <optional/>
</implementation>
<implementation name="org.libreoffice.comp.Writer.EBookImportFilter"
constructor="org_libreoffice_comp_Writer_EBookImportFilter_get_implementation">
<service name="com.sun.star.document.ExtendedTypeDetection"/>
<service name="com.sun.star.document.ImportFilter"/>
+ <optional/>
</implementation>
<implementation name="org.libreoffice.comp.Writer.PagesImportFilter"
constructor="org_libreoffice_comp_Writer_PagesImportFilter_get_implementation">
<service name="com.sun.star.document.ExtendedTypeDetection"/>
<service name="com.sun.star.document.ImportFilter"/>
+ <optional/>
</implementation>
<implementation name="org.libreoffice.comp.Writer.StarOfficeWriterImportFilter"
constructor="org_libreoffice_comp_Writer_StarOfficeWriterImportFilter_get_implementation">
@@ -56,9 +62,11 @@
<implementation name="com.sun.star.comp.Writer.EPUBExportFilter"
constructor="com_sun_star_comp_Writer_EPUBExportFilter_get_implementation">
<service name="com.sun.star.document.ExportFilter"/>
+ <optional/>
</implementation>
<implementation name="com.sun.star.comp.Writer.EPUBExportUIComponent"
constructor="com_sun_star_comp_Writer_EPUBExportUIComponent_get_implementation">
<service name="com.sun.star.ui.dialogs.FilterOptionsDialog"/>
+ <optional/>
</implementation>
</component>
diff --git a/writerperfect/source/writer/wpftwriter.component.extended b/writerperfect/source/writer/wpftwriter.component.extended
new file mode 100644
index 000000000000..577d05e96d72
--- /dev/null
+++ b/writerperfect/source/writer/wpftwriter.component.extended
@@ -0,0 +1,8 @@
+# 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/.
+
+com.sun.star.comp.Writer.EPUBExportFilter
+com.sun.star.comp.Writer.EPUBExportUIComponent
diff --git a/writerperfect/source/writer/wpftwriter.component.extended2 b/writerperfect/source/writer/wpftwriter.component.extended2
new file mode 100644
index 000000000000..91cd0e0463f0
--- /dev/null
+++ b/writerperfect/source/writer/wpftwriter.component.extended2
@@ -0,0 +1,12 @@
+# 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/.
+
+com.sun.star.comp.Writer.AbiWordImportFilter
+com.sun.star.comp.Writer.MSWorksImportFilter
+com.sun.star.comp.Writer.MWAWImportFilter
+com.sun.star.comp.Writer.WordPerfectImportFilter
+org.libreoffice.comp.Writer.EBookImportFilter
+org.libreoffice.comp.Writer.PagesImportFilter