[Libreoffice-commits] core.git: Branch 'private/jmux/wasm-for-master' - 165 commits - accessibility/Library_acc.mk accessibility/source android/source avmedia/Library_avmedia.mk avmedia/Module_avmedia.mk avmedia/source basctl/Library_basctl.mk basctl/source basic/Library_sb.mk basic/qa basic/source bin/run bridges/Library_cpp_uno.mk canvas/Executable_canvasdemo.mk canvas/Module_canvas.mk canvas/source chart2/Library_chartcontroller.mk chart2/source config_host/config_features.h.in config_host/config_wasm_strip.h.in config_host.mk.in configure.ac connectivity/Library_postgresql-sdbc-impl.mk connectivity/Module_connectivity.mk connectivity/source cppuhelper/source cpputools/Module_cpputools.mk cui/Library_cui.mk cui/source cui/uiconfig cui/UIConfig_cui.mk dbaccess/Module_dbaccess.mk dbaccess/source desktop/CppunitTest_desktop_app.mk desktop/CustomTarget_soffice.mk desktop/Library_deployment.mk desktop/Library_sofficeapp.mk desktop/Module_desktop.mk desktop/Package_scripts.mk desktop/Pagein_common.m k desktop/qa desktop/scripts desktop/source download.lst drawinglayer/CppunitTest_drawinglayer_processors.mk drawinglayer/Library_drawinglayer.mk drawinglayer/qa drawinglayer/source editeng/Library_editeng.mk editeng/source emfio/inc emfio/qa emfio/source extensions/Module_extensions.mk extensions/source external/hunspell external/hyphen external/libxml2 external/Module_external.mk external/mythes extras/Module_extras.mk filter/Library_icg.mk filter/source formula/source fpicker/source framework/Library_fwk.mk framework/util .gitignore .gitpod.dockerfile helpcompiler/Module_helpcompiler.mk helpcontent2 i18npool/CustomTarget_breakiterator.mk i18npool/Library_collator_data.mk i18npool/Library_dict_ja.mk i18npool/Library_dict_zh.mk i18npool/Library_i18npool.mk i18npool/Library_index_data.mk i18npool/Library_localedata_en.mk i18npool/Library_localedata_es.mk i18npool/Library_localedata_euro.mk i18npool/Library_localedata_others.mk i18npool/Library_textconv_dict.mk i18npool/source includ e/editeng include/sfx2 include/svtools include/svx include/vcl leak-suppress.txt lingucomponent/Library_guesslang.mk lingucomponent/Module_lingucomponent.mk Makefile.gbuild Makefile.in offapi/com officecfg/registry oox/CppunitTest_oox_tokenmap.mk oox/Library_oox.mk oox/source postprocess/CustomTarget_components.mk postprocess/CustomTarget_registry.mk postprocess/Module_postprocess.mk postprocess/Rdb_services.mk registry/Module_registry.mk reportdesign/source RepositoryExternal.mk RepositoryFixes.mk Repository.mk RepositoryModule_build.mk RepositoryModule_host.mk sal/Library_cppunitmain.mk sal/Library_sal.mk sal/Library_sal_textenc.mk sal/Module_sal.mk sal/osl sal/rtl sccomp/Module_sccomp.mk schema/libreoffice sc/inc sc/Library_sc.mk sc/Library_scui.mk sc/Module_sc.mk scp2/source sc/qa scripting/Module_scripting.mk sc/source sdext/source sd/Library_sd.mk sd/Library_sdui.mk sd/source sfx2/inc sfx2/Library_sfx.mk sfx2/source sfx2/util shell/Module_shell.mk slideshow/source solenv/bin s olenv/clang-format solenv/Executable_lockfile.mk solenv/gbuild solenv/lockfile solenv/Module_solenv.mk solenv/sanitizers starmath/inc starmath/qa starmath/source static/CustomTarget_components.mk static/Library_components.mk static/Makefile static/Module_static.mk static/README svl/Library_svl.mk svl/qa svl/source svtools/source svx/Executable_gengal.mk svx/inc svx/Library_svxcore.mk svx/Library_svx.mk svx/Module_svx.mk svx/source svx/util sw/CppunitTest_sw_apitests.mk sw/CppunitTest_sw_macros_test.mk sw/CppunitTest_sw_uwriter.mk sw/inc sw/Library_sw.mk sw/Library_swui.mk sw/Module_sw.mk sw/qa sw/source sw/uiconfig sw/UITest_sw_chart.mk sw/util toolkit/source tools/source unotest/source unotools/Library_utl.mk unoxml/source ure/Package_install.mk uui/source vbahelper/source vcl/commonfuzzer.mk vcl/CppunitTest_vcl_complextext.mk vcl/CppunitTest_vcl_text.mk vcl/Executable_icontest.mk vcl/Executable_mtfdemo.mk vcl/Executable_ui-previewer.mk vcl/Executable_vcldemo.mk vcl/Executable_visu albackendtest.mk vcl/headless vcl/inc vcl/ios vcl/jsdialog vcl/Library_vcl.mk vcl/Library_vclplug_gen.mk vcl/Library_vclplug_gtk3_kde5.mk vcl/Library_vclplug_gtk3.mk vcl/Library_vclplug_gtk4.mk vcl/Library_vclplug_kf5.mk vcl/Library_vclplug_osx.mk vcl/Library_vclplug_qt5.mk vcl/Library_vclplug_win.mk vcl/Module_vcl.mk vcl/osx vcl/qa vcl/quartz vcl/skia vcl/source vcl/unx vcl/win vcl/WinResTarget_vcl.mk wizards/source writerperfect/Library_wpftwriter.mk writerperfect/source xmlhelp/README.md xmlhelp/source xmloff/Library_xof.mk xmloff/Library_xo.mk xmloff/source xmloff/util xmlsecurity/inc xmlsecurity/IwyuFilter_xmlsecurity.yaml xmlsecurity/Library_xmlsecurity.mk xmlsecurity/Library_xsec_xmlsec.mk xmlsecurity/Module_xmlsecurity.mk xmlsecurity/source xmlsecurity/util

Armin Le Grand (Allotropia) (via logerrit) logerrit at kemper.freedesktop.org
Tue May 25 03:26:59 UTC 2021


Rebased ref, commits from common ancestor:
commit a275ecb93006dfd8f40c03a6b3e697e5fbb41022
Author:     Armin Le Grand (Allotropia) <Armin.Le.Grand at me.com>
AuthorDate: Fri Apr 30 17:26:41 2021 +0200
Commit:     Jan-Marek Glogowski <glogow at fbihome.de>
CommitDate: Tue May 25 05:23:31 2021 +0200

    wasm strip: squashed patches from Armin + fixes
    
    In addition to the squashed patches, this patch
    
    * drops the global compiler defines in favour of a config header
      file, for better ccache usage
    * revers almost all header changes in favour for empty function
      calls (just keeüs the premultiply table drop)
    * some additional changes for unused function calls
    * adapts more component files, so building the services.db and
      the component_mao.cxx from the build still works
    
    Currently crashs with anything different then soffice --writer.
    Closing the document also crashes.
    
    fac2aeca4010 Wasm optional premultiply table replace
    ec9e2c81b4ec Wasm remove hunspell/hyphen optionally
    302a6f6f777a Wasm LanguageGuess optional removal
    55404a55984c Wasm oprtional autorecovery remove additions
    640d53e1e7c1 Wasm optional EPUB removal
    4a09f57c132c Wasm strip: remove UcpHelp
    eeebc1383df7 Wasm optional accessibility removal
    b95eaa630273 Additions/corrections to dbaccess wasm removal
    d8c11d72aa5a Wasm: Removed dbaccess optional
    f7d462b61c08 WASM Removal of clucene
    a1c508fc1c41 Stripped canvas/cppcanvas and related
    ebfb45f46319 Use more expressive ENABLE_WASM_STRIP markers
    a3519b1a41c8 Disable wpftcalc for wasm reduction
    fa86c5bc36f7 Chart wasm optional removal
    90d9a8dee35a BackingWindow (RecentDocsView) optional removal
    68e5f972b1a6 Deeper TipOfTheDay optional removal
    4ed18d09ce07 Optional removal of more startup-modules
    ab8d809b6ab7 Remove RecoveryCore
    f82517838840 Remove RecoveryUI, correct spl stuff
    f38dca150d58 SplashScreen and Startup
    
    Not included:
    10963e79ac7d Wasm optional reduce created locales
    
    Change-Id: Ib9c0f9452815910c0a2aceaf142ba1ad4a9cb0d7

diff --git a/Repository.mk b/Repository.mk
index 01b7e18210ad..7fbd2f0677fe 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -17,11 +17,16 @@
 #   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 #
 
+ifneq ($(ENABLE_WASM_STRIP_CANVAS),TRUE)
+$(eval $(call gb_Helper_register_executables,NONE, \
+	canvasdemo \
+))
+endif
+
 $(eval $(call gb_Helper_register_executables,NONE, \
     $(call gb_Helper_optional,HELPTOOLS,HelpIndexer) \
     $(call gb_Helper_optional,HELPTOOLS,HelpLinker) \
 	bestreversemap \
-	canvasdemo \
 	cfgex \
 	concat-deps \
 	cpp \
@@ -87,6 +92,12 @@ $(eval $(call gb_Helper_register_executables_for_install,SDK,sdk, \
 	$(if $(filter ODK,$(BUILD_TYPE)),uno-skeletonmaker) \
 ))
 
+ifneq ($(ENABLE_WASM_STRIP_ACCESSIBILITY),TRUE)
+$(eval $(call gb_Helper_register_executables_for_install,OOO,brand, \
+	$(if $(filter-out ANDROID HAIKU iOS MACOSX WNT,$(OS)),oosplash) \
+))
+endif
+
 $(eval $(call gb_Helper_register_executables_for_install,OOO,brand, \
 	$(if $(ENABLE_ONLINE_UPDATE_MAR),\
 		mar \
@@ -140,7 +151,6 @@ $(eval $(call gb_Helper_register_executables_for_install,OOO,brand, \
 	$(call gb_Helper_optional,FUZZERS,mtpfuzzer) \
 	$(call gb_Helper_optional,FUZZERS,htmlfuzzer) \
 	$(call gb_Helper_optional,FUZZERS,sftfuzzer) \
-	$(if $(filter-out ANDROID HAIKU iOS MACOSX WNT,$(OS)),oosplash) \
 	soffice_bin \
 	$(if $(filter DESKTOP,$(BUILD_TYPE)),unopkg_bin) \
 	$(if $(filter WNT,$(OS)), \
@@ -326,6 +336,43 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ogltrans, \
 	OGLTrans \
 ))
 
+ifneq ($(ENABLE_WASM_STRIP_CANVAS),TRUE)
+$(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
+	canvastools \
+	$(if $(ENABLE_CAIRO_CANVAS),cairocanvas) \
+	canvasfactory \
+	cppcanvas \
+	$(if $(filter WNT,$(OS)),directx9canvas) \
+	$(if $(ENABLE_OPENGL_CANVAS),oglcanvas) \
+	$(if $(filter WNT,$(OS)),gdipluscanvas) \
+	simplecanvas \
+	vclcanvas \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_CLUCENE),TRUE)
+$(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
+	$(if $(filter DESKTOP,$(BUILD_TYPE)),helplinker) \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_GUESSLANG),TRUE)
+$(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
+	guesslang \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_HUNSPELL),TRUE)
+$(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
+	hyphen \
+	lnth \
+	spell \
+	$(if $(filter iOS MACOSX,$(OS)), \
+		MacOSXSpell \
+	) \
+))
+endif
+
 $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
     avmedia \
     $(call gb_Helper_optional,AVMEDIA, \
@@ -339,14 +386,10 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
 	) \
 	basegfx \
 	bib \
-	$(if $(ENABLE_CAIRO_CANVAS),cairocanvas) \
-	canvasfactory \
-	canvastools \
 	chartcore \
 	chartcontroller \
 	$(call gb_Helper_optional,OPENCL,clew) \
 	$(if $(filter $(OS),WNT),,cmdmail) \
-	cppcanvas \
 	configmgr \
 	ctl \
 	dba \
@@ -359,8 +402,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
 	$(if $(filter-out MACOSX WNT,$(OS)),desktopbe1) \
 	$(if $(USING_X11),desktop_detector) \
 	$(call gb_Helper_optional,SCRIPTING,dlgprov) \
-	$(if $(filter WNT,$(OS)),directx9canvas) \
-	$(if $(ENABLE_OPENGL_CANVAS),oglcanvas) \
 	drawinglayer \
 	editeng \
 	$(if $(filter WNT,$(OS)),emser) \
@@ -376,19 +417,14 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
 	frm \
 	fsstorage \
 	fwk \
-	$(if $(filter WNT,$(OS)),gdipluscanvas) \
-	guesslang \
-	$(if $(filter DESKTOP,$(BUILD_TYPE)),helplinker) \
 	i18npool \
 	i18nsearch \
-	hyphen \
 	$(if $(ENABLE_JAVA),jdbc) \
 	$(if $(ENABLE_LDAP),ldapbe2) \
 	$(if $(filter WNT,$(OS)),WinUserInfoBe) \
 	localebe1 \
 	log \
 	lng \
-	lnth \
 	$(if $(filter $(OS),MACOSX),macbe1) \
 	$(if $(MERGELIBS),merged) \
 	migrationoo2 \
@@ -417,11 +453,9 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
 	sdd \
 	sdfilt \
 	sfx \
-	simplecanvas \
 	slideshow \
 	sot \
-	spell \
-	$(if $(DISABLE_GUI),,spl) \
+	$(if $(or $(DISABLE_GUI),$(ENABLE_WASM_STRIP_SPLASH)),,spl) \
 	storagefd \
 	$(call gb_Helper_optional,SCRIPTING,stringresource) \
 	svgio \
@@ -451,7 +485,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
 		vbahelper \
 	) \
 	vcl \
-	vclcanvas \
 	writerperfect \
 	xmlscript \
 	xmlfa \
@@ -472,9 +505,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
 		) \
 		fps_aqua \
 	) \
-	$(if $(filter iOS MACOSX,$(OS)), \
-		MacOSXSpell \
-	) \
 ))
 
 $(eval $(call gb_Helper_register_plugins_for_install,OOOLIBS,ooo, \
@@ -611,6 +641,14 @@ $(eval $(call gb_Helper_register_plugins_for_install,PRIVATELIBS_URE,ure, \
     sal_textenc \
 ))
 
+ifneq ($(ENABLE_WASM_STRIP_ACCESSIBILITY),TRUE)
+$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
+	$(if $(filter WNT,$(OS)), \
+		winaccessibility \
+	) \
+))
+endif
+
 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
     $(call gb_Helper_optional,AVMEDIA, \
         $(if $(ENABLE_GSTREAMER_1_0),avmediagst) \
@@ -655,7 +693,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
 		fps \
 		inprocserv \
 		UAccCOM \
-		winaccessibility \
 	) \
 ))
 
@@ -888,6 +925,18 @@ $(eval $(call gb_Helper_register_packages_for_install,sdk,\
 	) \
 ))
 
+ifneq ($(ENABLE_WASM_STRIP_PINGUSER),TRUE)
+$(eval $(call gb_Helper_register_packages_for_install,ooo,\
+	tipoftheday_images \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_CANVAS),TRUE)
+$(eval $(call gb_Helper_register_packages_for_install,ooo,\
+	$(if $(ENABLE_OPENGL_CANVAS),canvas_opengl_shader) \
+))
+endif
+
 $(eval $(call gb_Helper_register_packages_for_install,ooo,\
 	$(if $(SYSTEM_LIBEXTTEXTCAT),,libexttextcat_fingerprint) \
 	officecfg_misc \
@@ -971,13 +1020,11 @@ $(eval $(call gb_Helper_register_packages_for_install,ooo,\
 	wizards_basicusr \
 	wizards_properties \
 	wizards_wizardshare \
-	tipoftheday_images \
 	toolbarmode_images \
 	vcl_theme_definitions \
 	$(if $(filter WNT,$(OS)), \
 		vcl_opengl_denylist \
 	) \
-	$(if $(ENABLE_OPENGL_CANVAS),canvas_opengl_shader) \
 	$(if $(filter SKIA,$(BUILD_TYPE)), \
 		vcl_skia_denylist ) \
 	$(if $(DISABLE_PYTHON),,$(if $(filter-out AIX,$(OS)), \
@@ -1167,9 +1214,14 @@ $(eval $(call gb_Helper_register_mos,\
 ))
 
 # UI configuration
+ifneq ($(ENABLE_WASM_STRIP_DBACCESS),TRUE)
 $(eval $(call gb_Helper_register_uiconfigs,\
-	cui \
 	$(call gb_Helper_optional,DBCONNECTIVITY,dbaccess) \
+))
+endif
+
+$(eval $(call gb_Helper_register_uiconfigs,\
+	cui \
 	desktop \
 	editeng \
 	filter \
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 39e307c17777..5e2310e57487 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -551,6 +551,7 @@ endef
 gb_ExternalProject__use_hunspell :=
 
 else # !SYSTEM_HUNSPELL
+ifneq ($(ENABLE_WASM_STRIP_HUNSPELL),TRUE)
 
 define gb_LinkTarget__use_hunspell
 $(call gb_LinkTarget_add_defs,$(1),\
@@ -578,6 +579,7 @@ $(call gb_ExternalProject_use_external_project,$(1),hunspell)
 
 endef
 
+endif # ENABLE_WASM_STRIP_EXTRA
 endif # SYSTEM_HUNSPELL
 
 
@@ -1898,6 +1900,7 @@ endef
 gb_ExternalProject__use_epubgen :=
 
 else # !SYSTEM_EPUBGEN
+ifneq ($(ENABLE_WASM_STRIP_EPUB),TRUE)
 
 define gb_LinkTarget__use_epubgen
 $(call gb_LinkTarget_set_include,$(1),\
@@ -1915,6 +1918,7 @@ $(call gb_ExternalProject_use_external_project,$(1),libepubgen)
 
 endef
 
+endif # ENABLE_WASM_STRIP_EPUB
 endif # SYSTEM_EPUBGEN
 
 ifneq ($(SYSTEM_REVENGE),)
@@ -2856,7 +2860,6 @@ endif # SYSTEM_POPPLER
 
 endif # ENABLE_POPPLER
 
-
 ifneq ($(SYSTEM_CLUCENE),)
 
 define gb_LinkTarget__use_clucene
diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index a54157d40f6e..d9ca2aaf93c3 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -20,8 +20,35 @@ $(eval $(call gb_Module_add_targets,libreoffice,\
 ))
 endif
 
+# WASM_CHART change
+ifneq ($(ENABLE_WASM_STRIP_CHART),TRUE)
+$(eval $(call gb_Module_add_moduledirs,libreoffice,\
+	chart2 \
+))
+endif
+
+# WASM_CANVAS change
+ifneq ($(ENABLE_WASM_STRIP_CANVAS),TRUE)
+$(eval $(call gb_Module_add_moduledirs,libreoffice,\
+	canvas \
+	cppcanvas \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_DBACCESS),TRUE)
+$(eval $(call gb_Module_add_moduledirs,libreoffice,\
+	dbaccess \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_ACCESSIBILITY),TRUE)
 $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	accessibility \
+	winaccessibility \
+))
+endif
+
+$(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	android \
 	animations \
 	apple_remote \
@@ -34,19 +61,15 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	bean \
 	binaryurp \
 	bridges \
-	canvas \
-	chart2 \
 	cli_ure \
 	$(call gb_Helper_optional,DESKTOP,codemaker) \
 	comphelper \
 	configmgr \
 	connectivity \
-	cppcanvas \
 	cppu \
 	cppuhelper \
 	cpputools \
 	cui \
-	dbaccess \
 	desktop \
 	$(call gb_Helper_optional,DICTIONARIES,dictionaries) \
 	drawinglayer \
@@ -119,7 +142,9 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	$(call gb_Helper_optional,DESKTOP,setup_native) \
 	sfx2 \
 	shell \
+    $(if $(ENABLE_WASM_STRIP_BASIC_CALC_DRAW_MATH_IMPRESS),, \
 	slideshow \
+    ) \
 	smoketest \
 	solenv \
 	soltools \
@@ -157,7 +182,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	uui \
 	vbahelper \
 	vcl \
-	winaccessibility \
 	wizards \
 	writerfilter \
 	writerperfect \
diff --git a/basctl/Library_basctl.mk b/basctl/Library_basctl.mk
index f874dfe9cc54..122ae4a909a3 100644
--- a/basctl/Library_basctl.mk
+++ b/basctl/Library_basctl.mk
@@ -62,9 +62,14 @@ $(eval $(call gb_Library_use_libraries,basctl,\
 	xmlscript \
 ))
 
+ifneq ($(ENABLE_WASM_STRIP_ACCESSIBILITY),TRUE)
 $(eval $(call gb_Library_add_exception_objects,basctl,\
 	basctl/source/accessibility/accessibledialogcontrolshape \
 	basctl/source/accessibility/accessibledialogwindow \
+))
+endif
+
+$(eval $(call gb_Library_add_exception_objects,basctl,\
 	basctl/source/basicide/basdoc \
 	basctl/source/basicide/IDEComboBox \
 	basctl/source/basicide/basicrenderable \
diff --git a/chart2/Library_chartcontroller.mk b/chart2/Library_chartcontroller.mk
index 05f031415213..7eddba17f348 100644
--- a/chart2/Library_chartcontroller.mk
+++ b/chart2/Library_chartcontroller.mk
@@ -52,6 +52,7 @@ $(eval $(call gb_Library_use_libraries,chartcontroller,\
 
 $(eval $(call gb_Library_set_componentfile,chartcontroller,chart2/source/controller/chartcontroller))
 
+ifneq ($(ENABLE_WASM_STRIP_ACCESSIBILITY),TRUE)
 $(eval $(call gb_Library_add_exception_objects,chartcontroller,\
     chart2/source/controller/accessibility/AccessibleBase \
     chart2/source/controller/accessibility/AccessibleChartElement \
@@ -60,6 +61,10 @@ $(eval $(call gb_Library_add_exception_objects,chartcontroller,\
     chart2/source/controller/accessibility/AccessibleTextHelper \
     chart2/source/controller/accessibility/AccessibleViewForwarder \
     chart2/source/controller/accessibility/ChartElementFactory \
+))
+endif
+
+$(eval $(call gb_Library_add_exception_objects,chartcontroller,\
     chart2/source/controller/chartapiwrapper/AreaWrapper \
     chart2/source/controller/chartapiwrapper/AxisWrapper \
     chart2/source/controller/chartapiwrapper/Chart2ModelContact \
diff --git a/config_host.mk.in b/config_host.mk.in
index 945f48d4f7b6..172725e3fdac 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -205,7 +205,22 @@ export ENABLE_SKIA_DEBUG=@ENABLE_SKIA_DEBUG@
 export ENABLE_SYMBOLS_FOR=@ENABLE_SYMBOLS_FOR@
 export ENABLE_VALGRIND=@ENABLE_VALGRIND@
 export ENABLE_WASM_STRIP=@ENABLE_WASM_STRIP@
+export ENABLE_WASM_STRIP_ACCESSIBILITY=@ENABLE_WASM_STRIP@
 export ENABLE_WASM_STRIP_BASIC_CALC_DRAW_MATH_IMPRESS=@ENABLE_WASM_STRIP@
+export ENABLE_WASM_STRIP_CANVAS=@ENABLE_WASM_STRIP@
+export ENABLE_WASM_STRIP_CHART=@ENABLE_WASM_STRIP@
+export ENABLE_WASM_STRIP_CLUCENE=@ENABLE_WASM_STRIP@
+export ENABLE_WASM_STRIP_DBACCESS=@ENABLE_WASM_STRIP@
+export ENABLE_WASM_STRIP_EPUB=@ENABLE_WASM_STRIP@
+export ENABLE_WASM_STRIP_EXTRA=@ENABLE_WASM_STRIP@
+export ENABLE_WASM_STRIP_GUESSLANG=@ENABLE_WASM_STRIP@
+export ENABLE_WASM_STRIP_HUNSPELL=@ENABLE_WASM_STRIP@
+export ENABLE_WASM_STRIP_LOCALES=@ENABLE_WASM_STRIP@
+export ENABLE_WASM_STRIP_PINGUSER=@ENABLE_WASM_STRIP@
+export ENABLE_WASM_STRIP_PREMULTIPLY=@ENABLE_WASM_STRIP@
+export ENABLE_WASM_STRIP_RECENT=@ENABLE_WASM_STRIP@
+export ENABLE_WASM_STRIP_RECOVERYUI=@ENABLE_WASM_STRIP@
+export ENABLE_WASM_STRIP_SPLASH=@ENABLE_WASM_STRIP@
 export ENABLE_WERROR=@ENABLE_WERROR@
 export ENDIANNESS=@ENDIANNESS@
 export EPM=@EPM@
diff --git a/config_host/config_wasm_strip.h.in b/config_host/config_wasm_strip.h.in
new file mode 100644
index 000000000000..42df865f10ba
--- /dev/null
+++ b/config_host/config_wasm_strip.h.in
@@ -0,0 +1,23 @@
+#ifndef CONFIG_FEATURE_WASM_STRIP_H
+#define CONFIG_FEATURE_WASM_STRIP_H
+
+#define HAVE_FEATURE_WASM_STRIP 0
+
+#if HAVE_FEATURE_WASM_STRIP
+#define ENABLE_WASM_STRIP_ACCESSIBILITY
+#define ENABLE_WASM_STRIP_CANVAS
+#define ENABLE_WASM_STRIP_CHART
+#define ENABLE_WASM_STRIP_CLUCENE
+#define ENABLE_WASM_STRIP_DBACCESS
+#define ENABLE_WASM_STRIP_EPUB
+#define ENABLE_WASM_STRIP_EXTRA
+#define ENABLE_WASM_STRIP_GUESSLANG
+#define ENABLE_WASM_STRIP_HUNSPELL
+#define ENABLE_WASM_STRIP_PINGUSER
+#define ENABLE_WASM_STRIP_PREMULTIPLY
+#define ENABLE_WASM_STRIP_RECENT
+#define ENABLE_WASM_STRIP_RECOVERYUI
+#define ENABLE_WASM_STRIP_SPLASH
+#endif
+
+#endif
diff --git a/configure.ac b/configure.ac
index 269b4d047f1a..926eca246e16 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2939,6 +2939,8 @@ if test "$enable_wasm_strip" = "yes"; then
     with_x=no
 
     test "${with_fonts+set}" = set || with_fonts=yes
+
+    AC_DEFINE(HAVE_FEATURE_WASM_STRIP)
 fi
 
 ENABLE_SERVICES_RDB_FROM_BUILD=
@@ -14397,6 +14399,7 @@ AC_CONFIG_HEADERS([config_host/config_oauth2.h])
 AC_CONFIG_HEADERS([config_host/config_poppler.h])
 AC_CONFIG_HEADERS([config_host/config_python.h])
 AC_CONFIG_HEADERS([config_host/config_writerperfect.h])
+AC_CONFIG_HEADERS([config_host/config_wasm_strip.h])
 AC_CONFIG_HEADERS([solenv/lockfile/autoconf.h])
 AC_OUTPUT
 
diff --git a/cui/Library_cui.mk b/cui/Library_cui.mk
index 01e2bd8cd191..dda524c97c41 100644
--- a/cui/Library_cui.mk
+++ b/cui/Library_cui.mk
@@ -93,6 +93,18 @@ $(eval $(call gb_Library_add_exception_objects,cui,\
 ))
 endif
 
+ifneq ($(ENABLE_WASM_STRIP_PINGUSER),TRUE)
+$(eval $(call gb_Library_add_exception_objects,cui,\
+    cui/source/dialogs/tipofthedaydlg \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_EXTRA),TRUE)
+$(eval $(call gb_Library_add_exception_objects,cui,\
+    cui/source/dialogs/hyphen \
+))
+endif
+
 $(eval $(call gb_Library_add_exception_objects,cui,\
     cui/source/customize/acccfg \
     cui/source/customize/cfg \
@@ -126,9 +138,7 @@ $(eval $(call gb_Library_add_exception_objects,cui,\
     cui/source/dialogs/hlmailtp \
     cui/source/dialogs/hlmarkwn \
     cui/source/dialogs/hltpbase \
-    cui/source/dialogs/hyphen \
     cui/source/dialogs/iconcdlg \
-    cui/source/dialogs/tipofthedaydlg \
     cui/source/dialogs/insdlg \
     cui/source/dialogs/insrc \
     cui/source/dialogs/linkdlg \
diff --git a/cui/UIConfig_cui.mk b/cui/UIConfig_cui.mk
index ff3c718b21d6..355c39faa265 100644
--- a/cui/UIConfig_cui.mk
+++ b/cui/UIConfig_cui.mk
@@ -15,6 +15,12 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\
 ))
 endif
 
+ifneq ($(ENABLE_WASM_STRIP_PINGUSER),TRUE)
+$(eval $(call gb_UIConfig_add_uifiles,cui,\
+	cui/uiconfig/ui/tipofthedaydialog \
+))
+endif
+
 $(eval $(call gb_UIConfig_add_uifiles,cui,\
 	cui/uiconfig/ui/aboutdialog \
 	cui/uiconfig/ui/aboutconfigdialog\
@@ -96,7 +102,6 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\
 	cui/uiconfig/ui/hyphenate \
 	cui/uiconfig/ui/iconchangedialog \
 	cui/uiconfig/ui/iconselectordialog \
-	cui/uiconfig/ui/tipofthedaydialog \
 	cui/uiconfig/ui/insertfloatingframe \
 	cui/uiconfig/ui/insertoleobject \
 	cui/uiconfig/ui/insertrowcolumn \
diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index ebfd9bfb0ea5..6a0300824621 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -18,6 +18,7 @@
  */
 
 #include <config_extensions.h>
+#include <config_wasm_strip.h>
 
 #include <align.hxx>
 #include "dlgfact.hxx"
@@ -133,7 +134,11 @@ short AbstractFmShowColsDialog_Impl::Execute()
 
 short AbstractHyphenWordDialog_Impl::Execute()
 {
+#ifndef ENABLE_WASM_STRIP_HUNSPELL
     return m_xDlg->run();
+#else
+    return 0;
+#endif
 }
 
 short AbstractThesaurusDialog_Impl::Execute()
@@ -1094,7 +1099,16 @@ VclPtr<AbstractHyphenWordDialog> AbstractDialogFactory_Impl::CreateHyphenWordDia
                                                 css::uno::Reference< css::linguistic2::XHyphenator >  &xHyphen,
                                                 SvxSpellWrapper* pWrapper)
 {
+#ifndef ENABLE_WASM_STRIP_EXTRA
     return VclPtr<AbstractHyphenWordDialog_Impl>::Create(std::make_unique<SvxHyphenWordDialog>(rWord, nLang, pParent, xHyphen, pWrapper));
+#else
+    (void) pParent;
+    (void) rWord;
+    (void) nLang;
+    (void) xHyphen;
+    (void) pWrapper;
+    return nullptr;
+#endif
 }
 
 VclPtr<AbstractFmShowColsDialog> AbstractDialogFactory_Impl::CreateFmShowColsDialog(weld::Window* pParent)
@@ -1678,7 +1692,7 @@ VclPtr<AbstractAdditionsDialog> AbstractDialogFactory_Impl::CreateAdditionsDialo
 #else
     (void) pParent;
     (void) sAdditionsTag;
-    return VclPtr<AbstractAdditionsDialog>(nullptr);
+    return nullptr;
 #endif
 }
 
@@ -1692,8 +1706,13 @@ AbstractDialogFactory_Impl::CreateAboutDialog(weld::Window* pParent)
 VclPtr<VclAbstractDialog>
 AbstractDialogFactory_Impl::CreateTipOfTheDayDialog(weld::Window* pParent)
 {
+#ifndef ENABLE_WASM_STRIP_PINGUSER
     return VclPtr<CuiAbstractTipController_Impl>::Create(
         std::make_shared<TipOfTheDayDialog>(pParent));
+#else
+    (void) pParent;
+    return nullptr;
+#endif
 }
 
 VclPtr<VclAbstractDialog>
diff --git a/desktop/Library_deployment.mk b/desktop/Library_deployment.mk
index 57fe1c55a0b6..dc36691b63b1 100644
--- a/desktop/Library_deployment.mk
+++ b/desktop/Library_deployment.mk
@@ -39,6 +39,15 @@ $(eval $(call gb_Library_use_libraries,deployment,\
 
 $(eval $(call gb_Library_set_componentfile,deployment,desktop/source/deployment/deployment))
 
+ifneq ($(ENABLE_WASM_STRIP_CLUCENE),TRUE)
+$(eval $(call gb_Library_set_componentfile,deployment,desktop/source/deployment/deployment.extended))
+
+$(eval $(call gb_Library_add_exception_objects,deployment,\
+    desktop/source/deployment/registry/help/dp_help \
+    desktop/source/deployment/registry/component/dp_component \
+))
+endif
+
 $(eval $(call gb_Library_add_exception_objects,deployment,\
     desktop/source/deployment/dp_log \
     desktop/source/deployment/dp_persmap \
@@ -51,7 +60,6 @@ $(eval $(call gb_Library_add_exception_objects,deployment,\
     desktop/source/deployment/manager/dp_managerfac \
     desktop/source/deployment/manager/dp_properties \
     desktop/source/deployment/registry/component/dp_compbackenddb \
-    desktop/source/deployment/registry/component/dp_component \
     desktop/source/deployment/registry/configuration/dp_configuration \
     desktop/source/deployment/registry/configuration/dp_configurationbackenddb \
     desktop/source/deployment/registry/dp_backend \
@@ -59,7 +67,6 @@ $(eval $(call gb_Library_add_exception_objects,deployment,\
     desktop/source/deployment/registry/dp_registry \
     desktop/source/deployment/registry/executable/dp_executable \
     desktop/source/deployment/registry/executable/dp_executablebackenddb \
-    desktop/source/deployment/registry/help/dp_help \
     desktop/source/deployment/registry/help/dp_helpbackenddb \
     desktop/source/deployment/registry/package/dp_extbackenddb \
     desktop/source/deployment/registry/package/dp_package \
@@ -71,11 +78,9 @@ $(eval $(call gb_Library_add_exception_objects,deployment,\
 ))
 
 ifneq (,$(filter XMLHELP,$(BUILD_TYPE)))
-
 $(eval $(call gb_Library_use_libraries,deployment,\
     helplinker \
 ))
-
 endif
 
 # vim: set ts=4 sw=4 et:
diff --git a/desktop/Module_desktop.mk b/desktop/Module_desktop.mk
index 3be81056aad9..265f0248534e 100644
--- a/desktop/Module_desktop.mk
+++ b/desktop/Module_desktop.mk
@@ -20,7 +20,7 @@ $(eval $(call gb_Module_add_targets,desktop,\
     $(if $(ENABLE_BREAKPAD), \
         Library_crashreport \
         ) \
-    $(if $(DISABLE_GUI),,Library_spl) \
+    $(if $(or $(DISABLE_GUI),$(ENABLE_WASM_STRIP_SPLASH)),,Library_spl) \
     Package_branding \
     $(if $(CUSTOM_BRAND_DIR),Package_branding_custom) \
     UIConfig_deployment \
@@ -107,9 +107,11 @@ $(eval $(call gb_Module_add_targets,desktop,\
 
 else ifeq (,$(filter MACOSX ANDROID iOS HAIKU,$(OS)))
 
+ifneq ($(ENABLE_WASM_STRIP_ACCESSIBILITY),TRUE)
 $(eval $(call gb_Module_add_targets,desktop,\
     $(if $(DISABLE_DYNLOADING),,Executable_oosplash) \
 ))
+endif # ENABLE_WASM_STRIP_ACCESSIBILITY
 
 endif
 
diff --git a/desktop/Pagein_common.mk b/desktop/Pagein_common.mk
index d0a0e689c2d2..96d5fe49f919 100644
--- a/desktop/Pagein_common.mk
+++ b/desktop/Pagein_common.mk
@@ -9,6 +9,12 @@
 
 $(eval $(call gb_Pagein_Pagein,common))
 
+ifneq ($(ENABLE_WASM_STRIP_CLUCENE),TRUE)
+$(eval $(call gb_Pagein_add_objects,common,\
+    helplinker \
+))
+endif
+
 # sorted in approx. reverse load order (ld.so.1)
 $(eval $(call gb_Pagein_add_objects,common,\
     $(if $(MERGELIBS),merged) \
@@ -56,7 +62,6 @@ $(eval $(call gb_Pagein_add_objects,common,\
     svt \
     spl \
     avmedia \
-    helplinker \
     sax \
     fsstorage \
     desktopbe1 \
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index b0c4fac53e10..98e64ec9df2c 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -24,6 +24,7 @@
 #include <config_java.h>
 #include <config_folders.h>
 #include <config_extensions.h>
+#include <config_wasm_strip.h>
 
 #include <sal/config.h>
 
@@ -957,6 +958,7 @@ struct RefClearGuard
     @param  bEmergencySave
             differs between EMERGENCY_SAVE and RECOVERY
 */
+#ifndef ENABLE_WASM_STRIP_RECOVERYUI
 bool impl_callRecoveryUI(bool bEmergencySave     ,
                          bool bExistsRecoveryData)
 {
@@ -988,6 +990,7 @@ bool impl_callRecoveryUI(bool bEmergencySave     ,
     aRet >>= bRet;
     return bRet;
 }
+#endif
 
 bool impl_bringToFrontRecoveryUI()
 {
@@ -1137,9 +1140,11 @@ void Desktop::Exception(ExceptionCategory nCategory)
         // Save all open documents so they will be reopened
         // the next time the application is started
         // returns true if at least one document could be saved...
+#ifndef ENABLE_WASM_STRIP_RECOVERYUI
         bRestart = impl_callRecoveryUI(
                         true , // force emergency save
                         false);
+#endif
     }
 
     FlushConfiguration();
@@ -1153,8 +1158,10 @@ void Desktop::Exception(ExceptionCategory nCategory)
             osl_removeSignalHandler( pSignalHandler );
 
         restartOnMac(false);
+#ifndef ENABLE_WASM_STRIP_SPLASH
         if ( m_rSplashScreen.is() )
             m_rSplashScreen->reset();
+#endif
 
         _exit( EXITHELPER_CRASH_WITH_RESTART );
     }
@@ -1257,7 +1264,9 @@ int Desktop::Main()
     Translate::SetReadStringHook(ReplaceStringHookProc);
 
     // Startup screen
+#ifndef ENABLE_WASM_STRIP_SPLASH
     OpenSplashScreen();
+#endif
 
     SetSplashScreenProgress(10);
 
@@ -1697,8 +1706,10 @@ int Desktop::doShutdown()
     if ( bRR )
     {
         restartOnMac(true);
+#ifndef ENABLE_WASM_STRIP_SPLASH
         if ( m_rSplashScreen.is() )
             m_rSplashScreen->reset();
+#endif
 
         return EXITHELPER_NORMAL_RESTART;
     }
@@ -1992,8 +2003,9 @@ void Desktop::OpenClients()
     }
     else
     {
-        bool bCrashed            = false;
         bool bExistsRecoveryData = false;
+#ifndef ENABLE_WASM_STRIP_RECOVERYUI
+        bool bCrashed            = false;
         bool bExistsSessionData  = false;
         bool const bDisableRecovery
             = getenv("OOO_DISABLE_RECOVERY") != nullptr
@@ -2019,6 +2031,7 @@ void Desktop::OpenClients()
                 TOOLS_WARN_EXCEPTION( "desktop.app", "Error during recovery");
             }
         }
+#endif
 
         Reference< XSessionManagerListener2 > xSessionListener;
         try
@@ -2377,6 +2390,7 @@ void Desktop::HandleAppEvent( const ApplicationEvent& rAppEvent )
     }
 }
 
+#ifndef ENABLE_WASM_STRIP_SPLASH
 void Desktop::OpenSplashScreen()
 {
     const CommandLineArgs &rCmdLine = GetCommandLineArgs();
@@ -2426,33 +2440,43 @@ void Desktop::OpenSplashScreen()
 
     if(m_rSplashScreen.is())
             m_rSplashScreen->start("SplashScreen", 100);
-
 }
+#endif
 
 void Desktop::SetSplashScreenProgress(sal_Int32 iProgress)
 {
+#ifdef ENABLE_WASM_STRIP_SPLASH
+    (void) iProgress;
+#else
     if(m_rSplashScreen.is())
     {
         m_rSplashScreen->setValue(iProgress);
     }
+#endif
 }
 
 void Desktop::SetSplashScreenText( const OUString& rText )
 {
+#ifdef ENABLE_WASM_STRIP_SPLASH
+    (void) rText;
+#else
     if( m_rSplashScreen.is() )
     {
         m_rSplashScreen->setText( rText );
     }
+#endif
 }
 
 void Desktop::CloseSplashScreen()
 {
+#ifndef ENABLE_WASM_STRIP_SPLASH
     if(m_rSplashScreen.is())
     {
         SolarMutexGuard ensureSolarMutex;
         m_rSplashScreen->end();
         m_rSplashScreen = nullptr;
     }
+#endif
 }
 
 
diff --git a/desktop/source/app/cmdlineargs.cxx b/desktop/source/app/cmdlineargs.cxx
index 4d5a3bb78396..6c64502e9d38 100644
--- a/desktop/source/app/cmdlineargs.cxx
+++ b/desktop/source/app/cmdlineargs.cxx
@@ -275,6 +275,26 @@ CommandLineArgs::CommandLineArgs( Supplier& supplier )
 
 void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
 {
+#ifdef ENABLE_WASM_STRIP
+    // use hard-coded init-params for wasm '-nolockcheck -norestore -nologo -writer'
+    // no restore tries
+    m_norestore = true;
+    // no logo needed
+    m_nologo = true;
+#if HAVE_FEATURE_MULTIUSER_ENVIRONMENT
+    // no lock-checks needed
+    m_nolockcheck = true;
+#endif
+    // start with writer only
+    m_writer = true;
+    m_bDocumentArgs = true;
+
+    m_bEmpty = false;
+
+    // return to avoid #elif
+    return;
+#endif
+
     m_cwdUrl = supplier.getCwdUrl();
     CommandLineEvent eCurrentEvent = CommandLineEvent::Open;
 
diff --git a/desktop/source/deployment/deployment.component b/desktop/source/deployment/deployment.component
index f7a481bf43c9..79c966deadc0 100644
--- a/desktop/source/deployment/deployment.component
+++ b/desktop/source/deployment/deployment.component
@@ -38,10 +38,6 @@
     constructor="com_sun_star_comp_deployment_ProgressLog_get_implementation">
     <service name="com.sun.star.comp.deployment.ProgressLog"/>
   </implementation>
-  <implementation name="com.sun.star.comp.deployment.component.PackageRegistryBackend"
-    constructor="com_sun_star_comp_deployment_component_PackageRegistryBackend_get_implementation">
-    <service name="com.sun.star.deployment.PackageRegistryBackend"/>
-  </implementation>
   <implementation name="com.sun.star.comp.deployment.configuration.PackageRegistryBackend"
     constructor="com_sun_star_comp_deployment_configuration_PackageRegistryBackend_get_implementation">
     <service name="com.sun.star.deployment.PackageRegistryBackend"/>
@@ -50,10 +46,6 @@
     constructor="com_sun_star_comp_deployment_executable_PackageRegistryBackend_get_implementation">
     <service name="com.sun.star.deployment.PackageRegistryBackend"/>
   </implementation>
-  <implementation name="com.sun.star.comp.deployment.help.PackageRegistryBackend"
-    constructor="com_sun_star_comp_deployment_help_PackageRegistryBackend_get_implementation">
-    <service name="com.sun.star.deployment.PackageRegistryBackend"/>
-  </implementation>
   <implementation name="com.sun.star.comp.deployment.script.PackageRegistryBackend"
     constructor="com_sun_star_comp_deployment_script_PackageRegistryBackend_get_implementation">
     <service name="com.sun.star.deployment.PackageRegistryBackend"/>
diff --git a/desktop/source/deployment/deployment.extended.component b/desktop/source/deployment/deployment.extended.component
new file mode 100644
index 000000000000..8d0b70a9c028
--- /dev/null
+++ b/desktop/source/deployment/deployment.extended.component
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ -->
+
+<component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
+    xmlns="http://openoffice.org/2010/uno-components">
+  <implementation name="com.sun.star.comp.deployment.component.PackageRegistryBackend"
+    constructor="com_sun_star_comp_deployment_component_PackageRegistryBackend_get_implementation">
+    <service name="com.sun.star.deployment.PackageRegistryBackend"/>
+  </implementation>
+  <implementation name="com.sun.star.comp.deployment.help.PackageRegistryBackend"
+    constructor="com_sun_star_comp_deployment_help_PackageRegistryBackend_get_implementation">
+    <service name="com.sun.star.deployment.PackageRegistryBackend"/>
+  </implementation>
+</component>
diff --git a/drawinglayer/Library_drawinglayer.mk b/drawinglayer/Library_drawinglayer.mk
index 43a42b83b42c..06c803f5bd37 100644
--- a/drawinglayer/Library_drawinglayer.mk
+++ b/drawinglayer/Library_drawinglayer.mk
@@ -29,11 +29,16 @@ $(eval $(call gb_Library_use_externals,drawinglayer,\
 	libxml2 \
 ))
 
+ifneq ($(ENABLE_WASM_STRIP_CANVAS),TRUE)
 $(eval $(call gb_Library_use_libraries,drawinglayer,\
-    basegfx \
     canvastools \
-    comphelper \
     cppcanvas \
+))
+endif
+
+$(eval $(call gb_Library_use_libraries,drawinglayer,\
+    basegfx \
+    comphelper \
     cppu \
     cppuhelper \
     i18nlangtag \
diff --git a/editeng/Library_editeng.mk b/editeng/Library_editeng.mk
index 1237954ad6e9..6602793e3e02 100644
--- a/editeng/Library_editeng.mk
+++ b/editeng/Library_editeng.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_Library_add_defs,editeng,\
 
 $(eval $(call gb_Library_use_sdk_api,editeng))
 
+ifneq ($(ENABLE_WASM_STRIP_ACCESSIBILITY),TRUE)
 $(eval $(call gb_Library_add_exception_objects,editeng,\
     editeng/source/accessibility/AccessibleComponentBase \
     editeng/source/accessibility/AccessibleContextBase \
@@ -45,6 +46,10 @@ $(eval $(call gb_Library_add_exception_objects,editeng,\
     editeng/source/accessibility/AccessibleSelectionBase \
     editeng/source/accessibility/AccessibleStaticTextBase \
     editeng/source/accessibility/AccessibleStringWrap \
+))
+endif
+
+$(eval $(call gb_Library_add_exception_objects,editeng,\
     editeng/source/editeng/editattr \
     editeng/source/editeng/editdata \
     editeng/source/editeng/editdbg \
diff --git a/editeng/source/misc/splwrap.cxx b/editeng/source/misc/splwrap.cxx
index b51c9c97b613..ef3d7bb89ac0 100644
--- a/editeng/source/misc/splwrap.cxx
+++ b/editeng/source/misc/splwrap.cxx
@@ -17,6 +17,8 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <config_wasm_strip.h>
+
 #include <rtl/ustring.hxx>
 #include <i18nlangtag/languagetag.hxx>
 #include <vcl/svapp.hxx>
@@ -249,6 +251,9 @@ void SvxSpellWrapper::InsertHyphen( const sal_Int32 )
 // Testing of the document areas in the order specified by the flags
 void SvxSpellWrapper::SpellDocument( )
 {
+#ifdef ENABLE_WASM_STRIP_HUNSPELL
+    return;
+#else
     if ( bOtherCntnt )
     {
         bReverse = false;
@@ -275,6 +280,7 @@ void SvxSpellWrapper::SpellDocument( )
                         xHyph, this ));
         pDlg->Execute();
     }
+#endif
 }
 
 
diff --git a/external/Module_external.mk b/external/Module_external.mk
index 4566d825301c..6d015590587e 100644
--- a/external/Module_external.mk
+++ b/external/Module_external.mk
@@ -13,6 +13,18 @@ ifeq ($(COM),MSC)
 $(eval $(call gb_Module_add_moduledir,external,msc-externals))
 endif
 
+ifneq ($(ENABLE_WASM_STRIP_CLUCENE),TRUE)
+$(eval $(call gb_Module_add_moduledirs,external,\
+	$(call gb_Helper_optional,CLUCENE,clucene) \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_EPUB),TRUE)
+$(eval $(call gb_Module_add_moduledirs,external,\
+	$(call gb_Helper_optional,EPUBGEN,libepubgen) \
+))
+endif
+
 $(eval $(call gb_Module_add_moduledirs,external,\
 	$(call gb_Helper_optional,XMLSEC,xmlsec) \
 	$(call gb_Helper_optional,ABW,libabw) \
@@ -25,7 +37,6 @@ $(eval $(call gb_Module_add_moduledirs,external,\
 	$(call gb_Helper_optional,CAIRO,cairo) \
 	$(call gb_Helper_optional,CDR,libcdr) \
 	$(call gb_Helper_optional,OPENCL,clew) \
-	$(call gb_Helper_optional,CLUCENE,clucene) \
 	$(call gb_Helper_optional,LIBCMIS,libcmis) \
 	$(call gb_Helper_optional,COINMP,coinmp) \
 	$(call gb_Helper_optional,CPPUNIT,cppunit) \
@@ -35,7 +46,6 @@ $(eval $(call gb_Module_add_moduledirs,external,\
 	$(call gb_Helper_optional,EBOOK,libebook) \
 	$(call gb_Helper_optional,EPM,epm) \
 	$(call gb_Helper_optional,EPOXY,epoxy) \
-	$(call gb_Helper_optional,EPUBGEN,libepubgen) \
 	$(call gb_Helper_optional,ETONYEK,libetonyek) \
 	$(call gb_Helper_optional,EXPAT,expat) \
 	$(call gb_Helper_optional,FIREBIRD,firebird) \
diff --git a/external/hunspell/StaticLibrary_hunspell.mk b/external/hunspell/StaticLibrary_hunspell.mk
index 02d534f69169..3a2eccafb0aa 100644
--- a/external/hunspell/StaticLibrary_hunspell.mk
+++ b/external/hunspell/StaticLibrary_hunspell.mk
@@ -20,6 +20,12 @@ $(eval $(call gb_StaticLibrary_add_defs,hunspell,\
 	-DOPENOFFICEORG \
 ))
 
+ifneq ($(ENABLE_WASM_STRIP_HUNSPELL),TRUE)
+$(eval $(call gb_StaticLibrary_add_generated_exception_objects,hunspell,\
+	UnpackedTarball/hunspell/src/hunspell/hunspell \
+))
+endif
+
 $(eval $(call gb_StaticLibrary_add_generated_exception_objects,hunspell,\
 	UnpackedTarball/hunspell/src/hunspell/affentry \
 	UnpackedTarball/hunspell/src/hunspell/affixmgr \
@@ -30,7 +36,6 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,hunspell,\
 	UnpackedTarball/hunspell/src/hunspell/hunzip \
 	UnpackedTarball/hunspell/src/hunspell/filemgr \
 	UnpackedTarball/hunspell/src/hunspell/replist \
-	UnpackedTarball/hunspell/src/hunspell/hunspell \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/hyphen/ExternalProject_hyphen.mk b/external/hyphen/ExternalProject_hyphen.mk
index 63d167f7804b..1419c9b02890 100644
--- a/external/hyphen/ExternalProject_hyphen.mk
+++ b/external/hyphen/ExternalProject_hyphen.mk
@@ -9,7 +9,9 @@
 
 $(eval $(call gb_ExternalProject_ExternalProject,hyphen))
 
+ifneq ($(ENABLE_WASM_STRIP_HUNSPELL),TRUE)
 $(eval $(call gb_ExternalProject_use_external,hyphen,hunspell))
+endif
 
 $(eval $(call gb_ExternalProject_register_targets,hyphen,\
 	build \
diff --git a/external/mythes/ExternalProject_mythes.mk b/external/mythes/ExternalProject_mythes.mk
index 298607f0aa73..6a1e9b14e882 100644
--- a/external/mythes/ExternalProject_mythes.mk
+++ b/external/mythes/ExternalProject_mythes.mk
@@ -9,7 +9,9 @@
 
 $(eval $(call gb_ExternalProject_ExternalProject,mythes))
 
+ifneq ($(ENABLE_WASM_STRIP_HUNSPELL),TRUE)
 $(eval $(call gb_ExternalProject_use_external,mythes,hunspell))
+endif
 
 $(eval $(call gb_ExternalProject_register_targets,mythes,\
 	build \
diff --git a/extras/Module_extras.mk b/extras/Module_extras.mk
index cf7177c21180..516209c5df49 100644
--- a/extras/Module_extras.mk
+++ b/extras/Module_extras.mk
@@ -61,7 +61,7 @@ $(eval $(call gb_Module_add_l10n_targets,extras,\
 ifneq ($(WITH_GALLERY_BUILD),)
 $(eval $(call gb_Module_add_targets,extras,\
 	Gallery_backgrounds \
-	Gallery_sound \
+    $(call gb_Helper_optional,AVMEDIA,Gallery_sound) \
 ))
 endif
 
diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index 7162cd2de2b2..e184eea8d39c 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -17,6 +17,8 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <config_wasm_strip.h>
+
 #include "impdialog.hxx"
 #include <strings.hrc>
 #include <officecfg/Office/Common.hxx>
@@ -349,7 +351,7 @@ short ImpPDFTabDialog::Ok( )
 {
     // here the whole mechanism of the base class is not used
     // when Ok is hit, the user means 'convert to PDF', so simply close with ok
-
+#ifndef ENABLE_WASM_STRIP_ACCESSIBILITY
     if (getGeneralPage()->IsPdfUaSelected())
     {
         SfxObjectShell* pShell = SfxObjectShell::GetShellFromComponent(mrDoc);
@@ -363,6 +365,8 @@ short ImpPDFTabDialog::Ok( )
             }
         }
     }
+#endif
+
     return RET_OK;
 }
 
diff --git a/framework/Library_fwk.mk b/framework/Library_fwk.mk
index 2d4fdda1c1ef..1f2f9c1aaff2 100644
--- a/framework/Library_fwk.mk
+++ b/framework/Library_fwk.mk
@@ -61,6 +61,12 @@ $(eval $(call gb_Library_use_libraries,fwk,\
     vcl \
 ))
 
+ifneq ($(ENABLE_WASM_STRIP_RECOVERYUI),TRUE)
+$(eval $(call gb_Library_add_exception_objects,fwk,\
+    framework/source/services/autorecovery \
+))
+endif
+
 $(eval $(call gb_Library_add_exception_objects,fwk,\
     framework/source/accelerators/acceleratorcache \
     framework/source/accelerators/acceleratorconfiguration \
@@ -150,7 +156,6 @@ $(eval $(call gb_Library_add_exception_objects,fwk,\
     framework/source/recording/dispatchrecorder \
     framework/source/recording/dispatchrecordersupplier \
     framework/source/services/ContextChangeEventMultiplexer \
-    framework/source/services/autorecovery \
     framework/source/services/desktop \
     framework/source/services/dispatchhelper \
     framework/source/services/frame \
diff --git a/framework/util/autorecovery.component b/framework/util/autorecovery.component
new file mode 100644
index 000000000000..d3e457cb1ce0
--- /dev/null
+++ b/framework/util/autorecovery.component
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ -->
+
+<component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
+    xmlns="http://openoffice.org/2010/uno-components">
+  <implementation name="com.sun.star.comp.framework.AutoRecovery"
+      constructor="com_sun_star_comp_framework_AutoRecovery_get_implementation"
+      single-instance="true">
+    <service name="com.sun.star.frame.AutoRecovery"/>
+    <singleton name="com.sun.star.frame.theAutoRecovery"/>
+  </implementation>
+</component>
diff --git a/framework/util/fwk.component b/framework/util/fwk.component
index 2b9eb7807fee..019549f29de7 100644
--- a/framework/util/fwk.component
+++ b/framework/util/fwk.component
@@ -27,12 +27,6 @@
       constructor="com_sun_star_comp_framework_AddonsToolBarFactory_get_implementation">
     <service name="com.sun.star.ui.ToolBarFactory"/>
   </implementation>
-  <implementation name="com.sun.star.comp.framework.AutoRecovery"
-      constructor="com_sun_star_comp_framework_AutoRecovery_get_implementation"
-      single-instance="true">
-    <service name="com.sun.star.frame.AutoRecovery"/>
-    <singleton name="com.sun.star.frame.theAutoRecovery"/>
-  </implementation>
   <implementation name="com.sun.star.comp.framework.ControlMenuController"
       constructor="com_sun_star_comp_framework_ControlMenuController_get_implementation">
     <service name="com.sun.star.frame.PopupMenuController"/>
diff --git a/i18npool/source/breakiterator/breakiteratorImpl.cxx b/i18npool/source/breakiterator/breakiteratorImpl.cxx
index a449be4d17fe..71f371a7eddc 100644
--- a/i18npool/source/breakiterator/breakiteratorImpl.cxx
+++ b/i18npool/source/breakiterator/breakiteratorImpl.cxx
@@ -16,6 +16,7 @@
  *   except in compliance with the License. You may obtain a copy of
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
+
 #include <config_locales.h>
 
 #include <breakiteratorImpl.hxx>
diff --git a/include/vcl/BitmapTools.hxx b/include/vcl/BitmapTools.hxx
index fa7a43bc99a6..a5479763c888 100644
--- a/include/vcl/BitmapTools.hxx
+++ b/include/vcl/BitmapTools.hxx
@@ -11,6 +11,8 @@
 #define INCLUDED_VCL_BITMAP_TOOLS_HXX
 
 #include <config_cairo_canvas.h>
+#include <config_wasm_strip.h>
+
 #include <vcl/bitmapex.hxx>
 #include <vcl/ImageTree.hxx>
 #if ENABLE_CAIRO_CANVAS
@@ -26,10 +28,12 @@ namespace com::sun::star::geometry { struct IntegerRectangle2D; }
 
 namespace vcl::bitmap {
 
+#ifndef ENABLE_WASM_STRIP_PREMULTIPLY
 typedef std::array<std::array<sal_uInt8, 256>, 256> lookup_table;
 
 VCL_DLLPUBLIC lookup_table const & get_premultiply_table();
 VCL_DLLPUBLIC lookup_table const & get_unpremultiply_table();
+#endif
 
 sal_uInt8 unpremultiply(sal_uInt8 c, sal_uInt8 a);
 sal_uInt8 premultiply(sal_uInt8 c, sal_uInt8 a);
diff --git a/lingucomponent/Library_guesslang.mk b/lingucomponent/Library_guesslang.mk
index 55f9225722a5..3363e6aa1831 100644
--- a/lingucomponent/Library_guesslang.mk
+++ b/lingucomponent/Library_guesslang.mk
@@ -12,10 +12,15 @@ $(eval $(call gb_Library_Library,guesslang))
 
 $(eval $(call gb_Library_set_componentfile,guesslang,lingucomponent/source/languageguessing/guesslang))
 
+ifneq ($(ENABLE_WASM_STRIP_GUESSLANG),TRUE)
 $(eval $(call gb_Library_use_externals,guesslang,\
-	boost_headers \
 	libexttextcat \
 ))
+endif
+
+$(eval $(call gb_Library_use_externals,guesslang,\
+	boost_headers \
+))
 
 $(eval $(call gb_Library_use_sdk_api,guesslang))
 
diff --git a/lingucomponent/Module_lingucomponent.mk b/lingucomponent/Module_lingucomponent.mk
index 2bde5d5391e5..9f19dcedbc67 100644
--- a/lingucomponent/Module_lingucomponent.mk
+++ b/lingucomponent/Module_lingucomponent.mk
@@ -10,13 +10,23 @@
 
 $(eval $(call gb_Module_Module,lingucomponent))
 
+ifneq ($(ENABLE_WASM_STRIP_GUESSLANG),TRUE)
 $(eval $(call gb_Module_add_targets,lingucomponent,\
 	Library_guesslang \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_HUNSPELL),TRUE)
+$(eval $(call gb_Module_add_targets,lingucomponent,\
 	Library_hyphen \
 	Library_lnth \
-	$(if $(filter iOS MACOSX,$(OS)),Library_MacOSXSpell) \
 	Library_spell \
 	StaticLibrary_ulingu \
+))
+endif
+
+$(eval $(call gb_Module_add_targets,lingucomponent,\
+	$(if $(filter iOS MACOSX,$(OS)),Library_MacOSXSpell) \
 	Library_numbertext \
 ))
 
diff --git a/oox/Library_oox.mk b/oox/Library_oox.mk
index 287a4bb70003..4473423d0dd8 100644
--- a/oox/Library_oox.mk
+++ b/oox/Library_oox.mk
@@ -83,28 +83,10 @@ endif
 
 $(eval $(call gb_Library_set_componentfile,oox,oox/util/oox))
 
+# WASM_CHART change
+ifeq (,$(ENABLE_WASM_STRIP_CHART))
 $(eval $(call gb_Library_add_exception_objects,oox,\
-    oox/source/core/binarycodec \
-    oox/source/core/contexthandler2 \
-    oox/source/core/contexthandler \
-    oox/source/core/fastparser \
-    oox/source/core/fasttokenhandler \
-    oox/source/core/filterbase \
-    oox/source/core/filterdetect \
-    oox/source/core/fragmenthandler2 \
-    oox/source/core/fragmenthandler \
-    oox/source/core/recordparser \
-    oox/source/core/relations \
-    oox/source/core/relationshandler \
-    oox/source/core/xmlfilterbase \
-    oox/source/crypto/AgileEngine \
-    oox/source/crypto/CryptTools \
-    oox/source/crypto/DocumentEncryption \
-    oox/source/crypto/DocumentDecryption \
-    oox/source/crypto/Standard2007Engine \
-    oox/source/crypto/StrongEncryptionDataSpace \
-    oox/source/docprop/docprophandler \
-    oox/source/docprop/ooxmldocpropimport \
+    oox/source/export/chartexport \
     oox/source/drawingml/chart/axiscontext \
     oox/source/drawingml/chart/axisconverter \
     oox/source/drawingml/chart/axismodel \
@@ -132,6 +114,31 @@ $(eval $(call gb_Library_add_exception_objects,oox,\
     oox/source/drawingml/chart/typegroupcontext \
     oox/source/drawingml/chart/typegroupconverter \
     oox/source/drawingml/chart/typegroupmodel \
+))
+endif
+
+$(eval $(call gb_Library_add_exception_objects,oox,\
+    oox/source/core/binarycodec \
+    oox/source/core/contexthandler2 \
+    oox/source/core/contexthandler \
+    oox/source/core/fastparser \
+    oox/source/core/fasttokenhandler \
+    oox/source/core/filterbase \
+    oox/source/core/filterdetect \
+    oox/source/core/fragmenthandler2 \
+    oox/source/core/fragmenthandler \
+    oox/source/core/recordparser \
+    oox/source/core/relations \
+    oox/source/core/relationshandler \
+    oox/source/core/xmlfilterbase \
+    oox/source/crypto/AgileEngine \
+    oox/source/crypto/CryptTools \
+    oox/source/crypto/DocumentEncryption \
+    oox/source/crypto/DocumentDecryption \
+    oox/source/crypto/Standard2007Engine \
+    oox/source/crypto/StrongEncryptionDataSpace \
+    oox/source/docprop/docprophandler \
+    oox/source/docprop/ooxmldocpropimport \
     oox/source/drawingml/clrschemecontext \
     oox/source/drawingml/clrscheme \
     oox/source/drawingml/colorchoicecontext \
@@ -214,7 +221,6 @@ $(eval $(call gb_Library_add_exception_objects,oox,\
     oox/source/dump/dumperbase \
     oox/source/dump/oledumper \
     oox/source/dump/pptxdumper \
-    oox/source/export/chartexport \
     oox/source/export/ColorPropertySet \
     oox/source/export/drawingml \
     oox/source/export/shapes \
diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index ed26e2313941..650149020a4a 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -17,6 +17,8 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <config_wasm_strip.h>
+
 #include <oox/drawingml/shape.hxx>
 #include <drawingml/customshapeproperties.hxx>
 #include <oox/drawingml/theme.hxx>
@@ -1905,6 +1907,15 @@ void Shape::finalizeXShape( XmlFilterBase& rFilter, const Reference< XShapes >&
                 Reference< chart2::XChartDocument > xChartDoc( xDocModel, UNO_QUERY_THROW );
 
                 // load the chart data from the XML fragment
+#ifdef ENABLE_WASM_STRIP_CHART
+                (void) rFilter;
+                (void) rxShapes;
+#else
+                // WASM_CHART change
+                // TODO: Instead of using convertFromModel an alternative may be
+                // added to convert not to Chart/OLE SdrObejct, but to GraphicObject
+                // with the Chart visualization. There should be a preiew available
+                // in the imported chart data
                 bool bMSO2007Doc = rFilter.isMSO2007Document();
                 chart::ChartSpaceModel aModel(bMSO2007Doc);
                 rtl::Reference<chart::ChartSpaceFragment> pChartSpaceFragment = new chart::ChartSpaceFragment(
@@ -1945,6 +1956,7 @@ void Shape::finalizeXShape( XmlFilterBase& rFilter, const Reference< XShapes >&
                     }
 
                 }
+#endif
             }
             catch( Exception& )
             {
diff --git a/oox/source/export/shapes.cxx b/oox/source/export/shapes.cxx
index f45b0aabc61d..a47825d1cead 100644
--- a/oox/source/export/shapes.cxx
+++ b/oox/source/export/shapes.cxx
@@ -17,9 +17,11 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include <sal/config.h>
+#include <config_wasm_strip.h>
 
+#include <sal/config.h>
 #include <sal/log.hxx>
+
 #include <filter/msfilter/util.hxx>
 #include <oox/core/xmlfilterbase.hxx>
 #include <oox/export/shapes.hxx>
@@ -2005,9 +2007,14 @@ ShapeExport& ShapeExport::WriteOLE2Shape( const Reference< XShape >& xShape )
         xPropSet->getPropertyValue("Model") >>= xChartDoc;
         assert(xChartDoc.is());
         //export the chart
+#ifndef ENABLE_WASM_STRIP_CHART
+        // WASM_CHART change
+        // TODO: With Chart extracted this cannot really happen since
+        // no Chart could've been added at all
         ChartExport aChartExport( mnXmlNamespace, GetFS(), xChartDoc, GetFB(), GetDocumentType() );
         static sal_Int32 nChartCount = 0;
         aChartExport.WriteChartObj( xShape, GetNewShapeID( xShape ), ++nChartCount );
+#endif
         return *this;
     }
 
diff --git a/oox/source/ppt/pptimport.cxx b/oox/source/ppt/pptimport.cxx
index 573dbd0c4234..12adc9fc5b7d 100644
--- a/oox/source/ppt/pptimport.cxx
+++ b/oox/source/ppt/pptimport.cxx
@@ -17,6 +17,8 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <config_wasm_strip.h>
+
 #include <sal/config.h>
 #include <sal/log.hxx>
 
@@ -60,8 +62,12 @@ XmlFilterBase* PowerPointImport::mpDebugFilterBase = nullptr;
 
 PowerPointImport::PowerPointImport( const Reference< XComponentContext >& rxContext ) :
     XmlFilterBase( rxContext ),
+#ifdef ENABLE_WASM_STRIP_CHART
+    // WASM_CHART change
+    mxChartConv( )
+#else
     mxChartConv( std::make_shared<::oox::drawingml::chart::ChartConverter>() )
-
+#endif
 {
 #if OSL_DEBUG_LEVEL > 0
     mpDebugFilterBase = this;
diff --git a/oox/source/shape/ShapeFilterBase.cxx b/oox/source/shape/ShapeFilterBase.cxx
index f5bb1af03955..486e844a3542 100644
--- a/oox/source/shape/ShapeFilterBase.cxx
+++ b/oox/source/shape/ShapeFilterBase.cxx
@@ -17,6 +17,8 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <config_wasm_strip.h>
+
 #include <oox/shape/ShapeFilterBase.hxx>
 #include <oox/drawingml/chart/chartconverter.hxx>
 #include <oox/drawingml/themefragmenthandler.hxx>
@@ -34,7 +36,12 @@ using namespace ::com::sun::star;
 
 ShapeFilterBase::ShapeFilterBase( const uno::Reference< uno::XComponentContext >& rxContext ) :
     XmlFilterBase( rxContext ),
+#ifdef ENABLE_WASM_STRIP_CHART
+    // WASM_CHART change
+    mxChartConv( )
+#else
     mxChartConv( std::make_shared<::oox::drawingml::chart::ChartConverter>() )
+#endif
 {
 }
 
diff --git a/postprocess/Rdb_services.mk b/postprocess/Rdb_services.mk
index 82110c712127..a5843e6becab 100644
--- a/postprocess/Rdb_services.mk
+++ b/postprocess/Rdb_services.mk
@@ -15,9 +15,8 @@ ifeq (,$(ENABLE_SERVICES_RDB_FROM_BUILD))
 #
 # "minimal" list of services for cross-compiling build tools
 #
+ifneq ($(ENABLE_WASM_STRIP_CANVAS),TRUE)
 $(eval $(call gb_Rdb_add_components,services,\
-	$(call gb_Helper_optional,AVMEDIA,avmedia/util/avmedia) \
-	$(call gb_Helper_optional,SCRIPTING,basic/util/sb) \
 	canvas/source/factory/canvasfactory \
 	canvas/source/simplecanvas/simplecanvas \
 	canvas/source/vcl/vclcanvas \
@@ -27,13 +26,19 @@ $(eval $(call gb_Rdb_add_components,services,\
 		canvas/source/directx/directx9canvas \
 		canvas/source/directx/gdipluscanvas \
 	) \
+	cppcanvas/source/uno/mtfrenderer \
+))
+endif
+
+$(eval $(call gb_Rdb_add_components,services,\
+	$(call gb_Helper_optional,AVMEDIA,avmedia/util/avmedia) \
+	$(call gb_Helper_optional,SCRIPTING,basic/util/sb) \
 	comphelper/util/comphelp \
 	configmgr/source/configmgr \
 	$(if $(filter DBCONNECTIVITY,$(BUILD_TYPE)), \
 		connectivity/source/dbtools/dbtools \
 		connectivity/source/drivers/dbase/dbase \
 	) \
-	cppcanvas/source/uno/mtfrenderer \
 	drawinglayer/drawinglayer \
 	emfio/emfio \
 	filter/source/config/cache/filterconfig1 \
@@ -72,10 +77,45 @@ $(eval $(call gb_Rdb_add_components,services,\
 
 ifeq ($(gb_Side),host)
 
+# WASM_CHART change
+ifneq ($(ENABLE_WASM_STRIP_CHART),TRUE)
 $(eval $(call gb_Rdb_add_components,services,\
-	animations/source/animcore/animcore \
 	chart2/source/controller/chartcontroller \
 	chart2/source/chartcore \
+	writerperfect/source/calc/wpftcalc \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_CLUCENE),TRUE)
+$(eval $(call gb_Rdb_add_components,services,\
+	desktop/source/deployment/deployment.extended \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_ACCESSIBILITY),TRUE)
+$(eval $(call gb_Rdb_add_components,services,\
+	$(if $(filter WNT,$(OS)), \
+		winaccessibility/source/service/winaccessibility \
+	) \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_GUESSLANG),TRUE)
+$(eval $(call gb_Rdb_add_components,services,\
+	lingucomponent/source/languageguessing/guesslang \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_HUNSPELL),TRUE)
+$(eval $(call gb_Rdb_add_components,services,\
+	lingucomponent/source/hyphenator/hyphen/hyphen \
+	lingucomponent/source/thesaurus/libnth/lnth \
+	lingucomponent/source/spellcheck/spell/spell \
+))
+endif
+
+$(eval $(call gb_Rdb_add_components,services,\
+	animations/source/animcore/animcore \
 	cui/util/cui \
 	desktop/source/deployment/deployment \
 	embeddedobj/util/embobj \
@@ -94,10 +134,6 @@ $(eval $(call gb_Rdb_add_components,services,\
 	$(call gb_Helper_optional,DESKTOP,fpicker/source/office/fps_office) \
 	$(if $(filter MACOSX,$(OS)),fpicker/source/aqua/fps_aqua) \
 	hwpfilter/source/hwp \
-	lingucomponent/source/hyphenator/hyphen/hyphen \
-	lingucomponent/source/languageguessing/guesslang \
-	lingucomponent/source/spellcheck/spell/spell \
-	lingucomponent/source/thesaurus/libnth/lnth \
 	lingucomponent/source/numbertext/numbertext \
 	linguistic/source/lng \
 	$(if $(ENABLE_LWP), \
@@ -156,7 +192,6 @@ $(eval $(call gb_Rdb_add_components,services,\
 	writerperfect/source/draw/wpftdraw \
 	writerperfect/source/impress/wpftimpress \
 	writerperfect/source/writer/wpftwriter \
-	writerperfect/source/calc/wpftcalc \
 	$(if $(filter MACOSX,$(OS)), \
 		$(call gb_Helper_optional,AVMEDIA,avmedia/source/macavf/avmediaMacAVF) \
 		shell/source/backends/macbe/macbe1 \
@@ -173,7 +208,6 @@ $(eval $(call gb_Rdb_add_components,services,\
 		shell/source/backends/wininetbe/wininetbe1 \
 		shell/source/win32/simplemail/smplmail \
 		shell/source/win32/syssh \
-		winaccessibility/source/service/winaccessibility \
 	) \
 	$(if $(filter-out WNT,$(OS)), \
 		embeddedobj/source/msole/emboleobj \
@@ -232,13 +266,26 @@ $(eval $(call gb_Rdb_add_components,services,\
     $(call gb_Helper_optional,XMLHELP,xmlhelp/util/ucpchelp1) \
 ))
 
+ifneq ($(ENABLE_WASM_STRIP_DBACCESS),TRUE)
 $(eval $(call gb_Rdb_add_components,services,\
-	extensions/source/bibliography/bib \
 	dbaccess/util/dba \
 ))
+endif
+
+$(eval $(call gb_Rdb_add_components,services,\
+	extensions/source/bibliography/bib \
+))
 
 ifneq (,$(filter DBCONNECTIVITY,$(BUILD_TYPE)))
 
+ifneq ($(ENABLE_WASM_STRIP_DBACCESS),TRUE)
+$(eval $(call gb_Rdb_add_components,services,\
+	dbaccess/source/filter/xml/dbaxml \
+	dbaccess/util/dbu \
+	dbaccess/util/sdbt \
+))
+endif
+
 $(eval $(call gb_Rdb_add_components,services,\
 	extensions/source/dbpilots/dbp \
 	extensions/source/propctrlr/pcr \
@@ -267,9 +314,6 @@ $(eval $(call gb_Rdb_add_components,services,\
 	connectivity/source/drivers/mysql_jdbc/mysql_jdbc \
 	connectivity/source/manager/sdbc2 \
 	connectivity/source/drivers/writer/writer \
-	dbaccess/source/filter/xml/dbaxml \
-	dbaccess/util/dbu \
-	dbaccess/util/sdbt \
 	forms/util/frm \
 	reportdesign/util/rpt \
 	reportdesign/util/rptui \
@@ -295,7 +339,7 @@ $(eval $(call gb_Rdb_add_components,services,\
 	desktop/source/migration/services/migrationoo2 \
 	desktop/source/migration/services/migrationoo3 \
 	desktop/source/offacc/offacc \
-	$(if $(DISABLE_GUI),,desktop/source/splash/spl) \
+	$(if $(or $(DISABLE_GUI),$(ENABLE_WASM_STRIP_SPLASH)),,desktop/source/splash/spl) \
 	$(if $(DISABLE_DYNLOADING),,extensions/source/abpilot/abp) \
 	$(if $(ENABLE_LDAP),extensions/source/config/ldap/ldapbe2) \
 	$(if $(filter WNT,$(OS)),\
diff --git a/sd/Library_sd.mk b/sd/Library_sd.mk
index 647f975e1f16..6dd18c73ae71 100644
--- a/sd/Library_sd.mk
+++ b/sd/Library_sd.mk
@@ -127,6 +127,23 @@ endif
 
 $(eval $(call gb_Library_set_componentfile,sd,sd/util/sd))
 
+ifneq ($(ENABLE_WASM_STRIP_ACCESSIBILITY),TRUE)
+$(eval $(call gb_Library_add_exception_objects,sd,\
+	sd/source/ui/accessibility/AccessibleDocumentViewBase \
+	sd/source/ui/accessibility/AccessibleDrawDocumentView \
+	sd/source/ui/accessibility/AccessibleOutlineEditSource \
+	sd/source/ui/accessibility/AccessibleOutlineView \
+	sd/source/ui/accessibility/AccessiblePageShape \
+	sd/source/ui/accessibility/AccessiblePresentationGraphicShape \
+	sd/source/ui/accessibility/AccessiblePresentationOLEShape \
+	sd/source/ui/accessibility/AccessiblePresentationShape \
+	sd/source/ui/accessibility/AccessibleSlideSorterObject \
+	sd/source/ui/accessibility/AccessibleSlideSorterView \
+	sd/source/ui/accessibility/AccessibleViewForwarder \
+	sd/source/ui/accessibility/SdShapeTypes \
+))
+endif
+
 $(eval $(call gb_Library_add_exception_objects,sd,\
 	sd/source/core/CustomAnimationCloner \
 	sd/source/core/CustomAnimationEffect \
@@ -170,18 +187,6 @@ $(eval $(call gb_Library_add_exception_objects,sd,\
 	sd/source/filter/xml/sdtransform \
 	sd/source/filter/xml/sdxmlwrp \
 	sd/source/helper/simplereferencecomponent \
-	sd/source/ui/accessibility/AccessibleDocumentViewBase \
-	sd/source/ui/accessibility/AccessibleDrawDocumentView \
-	sd/source/ui/accessibility/AccessibleOutlineEditSource \
-	sd/source/ui/accessibility/AccessibleOutlineView \
-	sd/source/ui/accessibility/AccessiblePageShape \
-	sd/source/ui/accessibility/AccessiblePresentationGraphicShape \
-	sd/source/ui/accessibility/AccessiblePresentationOLEShape \
-	sd/source/ui/accessibility/AccessiblePresentationShape \
-	sd/source/ui/accessibility/AccessibleSlideSorterObject \
-	sd/source/ui/accessibility/AccessibleSlideSorterView \
-	sd/source/ui/accessibility/AccessibleViewForwarder \
-	sd/source/ui/accessibility/SdShapeTypes \
 	sd/source/ui/animations/CustomAnimationDialog \
 	sd/source/ui/animations/CustomAnimationList \
 	sd/source/ui/animations/CustomAnimationPane \
diff --git a/sfx2/Library_sfx.mk b/sfx2/Library_sfx.mk
index cab55c2a3335..91afa70bba50 100644
--- a/sfx2/Library_sfx.mk
+++ b/sfx2/Library_sfx.mk
@@ -23,6 +23,10 @@ $(eval $(call gb_Library_add_sdi_headers,sfx,sfx2/sdi/sfxslots))
 
 $(eval $(call gb_Library_set_componentfile,sfx,sfx2/util/sfx))
 
+ifneq ($(ENABLE_WASM_STRIP_RECENT),TRUE)
+$(eval $(call gb_Library_set_componentfile,sfx,sfx2/util/sfx.extended))
+endif
+
 $(eval $(call gb_Library_set_precompiled_header,sfx,sfx2/inc/pch/precompiled_sfx))
 
 $(eval $(call gb_Library_use_custom_headers,sfx,\
@@ -77,9 +81,23 @@ $(eval $(call gb_Library_use_externals,sfx,\
     orcus-parser\
 ))
 
+ifneq ($(ENABLE_WASM_STRIP_RECENT),TRUE)
+$(eval $(call gb_Library_add_exception_objects,sfx,\
+    sfx2/source/dialog/backingcomp \
+    sfx2/source/dialog/backingwindow \
+    sfx2/source/control/recentdocsview \
+    sfx2/source/control/recentdocsviewitem \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_ACCESSIBILITY),TRUE)
 $(eval $(call gb_Library_add_exception_objects,sfx,\
     sfx2/source/accessibility/AccessibilityCheck \
     sfx2/source/accessibility/AccessibilityIssue \
+))
+endif
+
+$(eval $(call gb_Library_add_exception_objects,sfx,\
     sfx2/source/appl/app \
     sfx2/source/appl/appbas \
     sfx2/source/appl/appbaslib \
@@ -142,8 +160,6 @@ $(eval $(call gb_Library_add_exception_objects,sfx,\
     sfx2/source/control/msg \
     sfx2/source/control/msgpool \
     sfx2/source/control/objface \
-    sfx2/source/control/recentdocsview \
-    sfx2/source/control/recentdocsviewitem \
     sfx2/source/control/request \
     sfx2/source/control/sfxstatuslistener \
     sfx2/source/control/shell \
@@ -171,8 +187,6 @@ $(eval $(call gb_Library_add_exception_objects,sfx,\
     sfx2/source/devtools/DocumentModelTreeHandler \
     sfx2/source/devtools/ObjectInspectorTreeHandler \
     sfx2/source/dialog/alienwarn \
-    sfx2/source/dialog/backingcomp \
-    sfx2/source/dialog/backingwindow \
     sfx2/source/dialog/basedlgs \
     sfx2/source/dialog/checkin \
     sfx2/source/dialog/dialoghelper \
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx
index 6138bd936082..f4ebfdd5c54f 100644
--- a/sfx2/source/appl/appserv.cxx
+++ b/sfx2/source/appl/appserv.cxx
@@ -18,6 +18,8 @@
  */
 
 #include <config_features.h>
+#include <config_wasm_strip.h>
+
 #include <com/sun/star/drawing/ModuleDispatcher.hpp>
 #include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/DispatchResultEvent.hpp>
@@ -504,6 +506,7 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
             sfx2::openUriExternally(sURL, false);
             break;
         }
+#ifndef ENABLE_WASM_STRIP_PINGUSER
         case SID_GETINVOLVED:
         {
             // Open get involved/join us page based on locales
@@ -531,6 +534,7 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
             sfx2::openUriExternally(sURL, false);
             break;
         }
+#endif
         case SID_SHOW_LICENSE:
         {
             LicenseDialog aDialog(rReq.GetFrameWeld());
@@ -606,6 +610,7 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
             break;
         }
         // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+#ifndef ENABLE_WASM_STRIP_PINGUSER
         case SID_TIPOFTHEDAY:
         {
             SfxAbstractDialogFactory* pFact = SfxAbstractDialogFactory::Create();
@@ -614,6 +619,7 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
             bDone = true;
             break;
         }
+#endif
 
         // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
         case SID_ABOUT:
diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
index d8d5bf69465a..6abc03354911 100644
--- a/sfx2/source/view/viewfrm.cxx
+++ b/sfx2/source/view/viewfrm.cxx
@@ -18,6 +18,8 @@
  */
 
 #include <config_feature_desktop.h>
+#include <config_wasm_strip.h>
+
 #include <osl/file.hxx>
 #include <sfx2/docfilt.hxx>
 #include <sfx2/infobar.hxx>
@@ -1344,6 +1346,7 @@ void SfxViewFrame::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
 
                 const auto t0 = std::chrono::system_clock::now().time_since_epoch();
 
+#ifndef ENABLE_WASM_STRIP_PINGUSER
                 bool bIsUITest = false; //uitest.uicheck fails when the dialog is open
                 for( sal_uInt16 i = 0; i < Application::GetCommandLineParamCount(); i++ )
                 {
@@ -1440,6 +1443,7 @@ void SfxViewFrame::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
                     officecfg::Setup::Product::LastTimeDonateShown::set(nNow, batch);
                     batch->commit();
                 }
+#endif
 
                 // read-only infobar if necessary
                 const SfxViewShell *pVSh;
@@ -1583,6 +1587,7 @@ void SfxViewFrame::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
     }
 }
 
+#ifndef ENABLE_WASM_STRIP_PINGUSER
 IMPL_LINK_NOARG(SfxViewFrame, WhatsNewHandler, weld::Button&, void)
 {
     GetDispatcher()->Execute(SID_WHATSNEW);
@@ -1597,6 +1602,7 @@ IMPL_LINK_NOARG(SfxViewFrame, DonationHandler, weld::Button&, void)
 {
     GetDispatcher()->Execute(SID_DONATION);
 }
+#endif
 
 IMPL_LINK(SfxViewFrame, SwitchReadOnlyHandler, weld::Button&, rButton, void)
 {
diff --git a/sfx2/util/sfx.component b/sfx2/util/sfx.component
index a7c9930e0ec8..af29af66defd 100644
--- a/sfx2/util/sfx.component
+++ b/sfx2/util/sfx.component
@@ -19,11 +19,6 @@
 
 <component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
     xmlns="http://openoffice.org/2010/uno-components">
-  <implementation name="com.sun.star.comp.sfx2.BackingComp"
-      constructor="com_sun_star_comp_sfx2_BackingComp_get_implementation">
-    <service name="com.sun.star.frame.StartModule"/>
-    <service name="com.sun.star.frame.ProtocolHandler"/>
-  </implementation>
   <implementation name="SfxDocumentMetaData"
       constructor="SfxDocumentMetaData_get_implementation">
     <service name="com.sun.star.document.DocumentProperties"/>
diff --git a/sfx2/util/sfx.extended.component b/sfx2/util/sfx.extended.component
new file mode 100644
index 000000000000..f501c997cba5
--- /dev/null
+++ b/sfx2/util/sfx.extended.component
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ -->
+
+<component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
+    xmlns="http://openoffice.org/2010/uno-components">
+  <implementation name="com.sun.star.comp.sfx2.BackingComp"
+      constructor="com_sun_star_comp_sfx2_BackingComp_get_implementation">
+    <service name="com.sun.star.frame.StartModule"/>
+    <service name="com.sun.star.frame.ProtocolHandler"/>
+  </implementation>
+</component>
diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py
index 32288b4e529d..d743a5bda75a 100755
--- a/solenv/bin/native-code.py
+++ b/solenv/bin/native-code.py
@@ -35,62 +35,62 @@ core_constructor_list = [
     "stardiv_UnoControls_ProgressMonitor_get_implementation",
     "stardiv_UnoControls_StatusIndicator_get_implementation",
 # canvas/source/factory/canvasfactory.component
-    "com_sun_star_comp_rendering_CanvasFactory_get_implementation",
+    ("com_sun_star_comp_rendering_CanvasFactory_get_implementation", "#ifndef ENABLE_WASM_STRIP_CANVAS"),
 # canvas/source/vcl/vclcanvas.component
-    "com_sun_star_comp_rendering_Canvas_VCL_get_implementation",
-    "com_sun_star_comp_rendering_SpriteCanvas_VCL_get_implementation",
+    ("com_sun_star_comp_rendering_Canvas_VCL_get_implementation", "#ifndef ENABLE_WASM_STRIP_CANVAS"),
+    ("com_sun_star_comp_rendering_SpriteCanvas_VCL_get_implementation", "#ifndef ENABLE_WASM_STRIP_CANVAS"),
 # chart2/source/chartcore.component
-    "com_sun_star_chart2_ExponentialScaling_get_implementation",
-    "com_sun_star_chart2_LinearScaling_get_implementation",
-    "com_sun_star_chart2_LogarithmicScaling_get_implementation",
-    "com_sun_star_chart2_PowerScaling_get_implementation",
-    "com_sun_star_comp_chart_AreaChartType_get_implementation",
-    "com_sun_star_comp_chart_BarChartType_get_implementation",
-    "com_sun_star_comp_chart_BubbleChartType_get_implementation",
-    "com_sun_star_comp_chart_CachedDataSequence_get_implementation",
-    "com_sun_star_comp_chart_CandleStickChartType_get_implementation",
-    "com_sun_star_comp_chart_ChartTypeManager_get_implementation",
-    "com_sun_star_comp_chart_ColumnChartType_get_implementation",
-    "com_sun_star_comp_chart_DataSeries_get_implementation",
-    "com_sun_star_comp_chart_DataSource_get_implementation",
-    "com_sun_star_comp_chart_FilledNetChartType_get_implementation",
-    "com_sun_star_comp_chart_FormattedString_get_implementation",
-    "com_sun_star_comp_chart_InternalDataProvider_get_implementation",
-    "com_sun_star_comp_chart_LineChartType_get_implementation",
-    "com_sun_star_comp_chart_NetChartType_get_implementation",
-    "com_sun_star_comp_chart_PieChartType_get_implementation",
-    "com_sun_star_comp_chart_ScatterChartType_get_implementation",
-    "com_sun_star_comp_chart2_Axis_get_implementation",
-    "com_sun_star_comp_chart2_CartesianCoordinateSystem2d_get_implementation",
-    "com_sun_star_comp_chart2_CartesianCoordinateSystem3d_get_implementation",
-    "com_sun_star_comp_chart2_ChartController_get_implementation",
-    "com_sun_star_comp_chart2_ChartDocumentWrapper_get_implementation",
-    "com_sun_star_comp_chart2_ChartModel_get_implementation",
-    "com_sun_star_comp_chart2_ChartView_get_implementation",
-    "com_sun_star_comp_chart2_ConfigDefaultColorScheme_get_implementation",
-    "com_sun_star_comp_chart2_Diagram_get_implementation",
-    "com_sun_star_comp_chart2_ErrorBar_get_implementation",
-    "com_sun_star_comp_chart2_ExponentialRegressionCurve_get_implementation",
-    "com_sun_star_comp_chart2_GridProperties_get_implementation",
-    "com_sun_star_comp_chart2_LabeledDataSequence_get_implementation",
-    "com_sun_star_comp_chart2_Legend_get_implementation",
-    "com_sun_star_comp_chart2_LinearRegressionCurve_get_implementation",
-    "com_sun_star_comp_chart2_LogarithmicRegressionCurve_get_implementation",
-    "com_sun_star_comp_chart2_MeanValueRegressionCurve_get_implementation",
-    "com_sun_star_comp_chart2_MovingAverageRegressionCurve_get_implementation",
-    "com_sun_star_comp_chart2_PageBackground_get_implementation",
-    "com_sun_star_comp_chart2_PolarCoordinateSystem2d_get_implementation",
-    "com_sun_star_comp_chart2_PolarCoordinateSystem3d_get_implementation",
-    "com_sun_star_comp_chart2_PolynomialRegressionCurve_get_implementation",
-    "com_sun_star_comp_chart2_PotentialRegressionCurve_get_implementation",
-    "com_sun_star_comp_chart2_RegressionEquation_get_implementation",
-    "com_sun_star_comp_chart2_Title_get_implementation",
-    "com_sun_star_comp_chart2_XMLFilter_get_implementation",
+    ("com_sun_star_chart2_ExponentialScaling_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_chart2_LinearScaling_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_chart2_LogarithmicScaling_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_chart2_PowerScaling_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart_AreaChartType_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart_BarChartType_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart_BubbleChartType_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart_CachedDataSequence_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart_CandleStickChartType_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart_ChartTypeManager_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart_ColumnChartType_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart_DataSeries_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart_DataSource_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart_FilledNetChartType_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart_FormattedString_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart_InternalDataProvider_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart_LineChartType_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart_NetChartType_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart_PieChartType_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart_ScatterChartType_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_Axis_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_CartesianCoordinateSystem2d_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_CartesianCoordinateSystem3d_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_ChartController_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_ChartDocumentWrapper_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_ChartModel_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_ChartView_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_ConfigDefaultColorScheme_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_Diagram_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_ErrorBar_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_ExponentialRegressionCurve_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_GridProperties_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_LabeledDataSequence_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_Legend_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_LinearRegressionCurve_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_LogarithmicRegressionCurve_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_MeanValueRegressionCurve_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_MovingAverageRegressionCurve_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_PageBackground_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_PolarCoordinateSystem2d_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_PolarCoordinateSystem3d_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_PolynomialRegressionCurve_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_PotentialRegressionCurve_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_RegressionEquation_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_Title_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_XMLFilter_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
 # chart2/source/controller/chartcontroller.component
-    "com_sun_star_comp_chart2_ChartDocumentWrapper_get_implementation",
-    "com_sun_star_comp_chart2_ChartFrameLoader_get_implementation",
-    "com_sun_star_comp_chart2_WizardDialog_get_implementation",
-    "org_libreoffice_comp_chart2_sidebar_ChartPanelFactory",
+    ("com_sun_star_comp_chart2_ChartDocumentWrapper_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_ChartFrameLoader_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_chart2_WizardDialog_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("org_libreoffice_comp_chart2_sidebar_ChartPanelFactory", "#ifndef ENABLE_WASM_STRIP_CHART"),
 # comphelper/util/comphelp.component
     "com_sun_star_comp_MemoryStream",
     "com_sun_star_comp_task_OfficeRestartManager",
@@ -110,17 +110,17 @@ core_constructor_list = [
     "com_sun_star_comp_configuration_ReadWriteAccess_get_implementation",
     "com_sun_star_comp_configuration_Update_get_implementation",
 # cppcanvas/source/uno/mtfrenderer.component
-    "com_sun_star_comp_rendering_MtfRenderer_get_implementation",
+    ("com_sun_star_comp_rendering_MtfRenderer_get_implementation", "#ifndef ENABLE_WASM_STRIP_CANVAS"),
 # cui/util/cui.component
     "com_sun_star_cui_ColorPicker_get_implementation",
 # dbaccess/util/dba.component
-    "com_sun_star_comp_dba_DataAccessDescriptorFactory",
-    "com_sun_star_comp_dba_OCommandDefinition",
-    "com_sun_star_comp_dba_OComponentDefinition",
-    "com_sun_star_comp_dba_ODatabaseContext_get_implementation",
-    "com_sun_star_comp_dba_ODatabaseDocument",
-    "com_sun_star_comp_dba_ODatabaseSource",
-    "com_sun_star_comp_dba_ORowSet_get_implementation",
+    ("com_sun_star_comp_dba_DataAccessDescriptorFactory", "#ifndef ENABLE_WASM_STRIP_DBACCESS"),
+    ("com_sun_star_comp_dba_OCommandDefinition", "#ifndef ENABLE_WASM_STRIP_DBACCESS"),
+    ("com_sun_star_comp_dba_OComponentDefinition", "#ifndef ENABLE_WASM_STRIP_DBACCESS"),
+    ("com_sun_star_comp_dba_ODatabaseContext_get_implementation", "#ifndef ENABLE_WASM_STRIP_DBACCESS"),
+    ("com_sun_star_comp_dba_ODatabaseDocument", "#ifndef ENABLE_WASM_STRIP_DBACCESS"),
+    ("com_sun_star_comp_dba_ODatabaseSource", "#ifndef ENABLE_WASM_STRIP_DBACCESS"),
+    ("com_sun_star_comp_dba_ORowSet_get_implementation", "#ifndef ENABLE_WASM_STRIP_DBACCESS"),
 # drawinglayer/drawinglayer.component
     "drawinglayer_XPrimitive2DRenderer",
 # embeddedobj/util/embobj.component
@@ -187,7 +187,7 @@ core_constructor_list = [
     ("com_sun_star_form_ORadioButtonModel_get_implementation", "#if HAVE_FEATURE_DBCONNECTIVITY"),
     ("com_sun_star_form_XForms_get_implementation", "#if HAVE_FEATURE_DBCONNECTIVITY"),
 # framework/util/fwk.component
-    "com_sun_star_comp_framework_AutoRecovery_get_implementation",
+    ("com_sun_star_comp_framework_AutoRecovery_get_implementation","#ifndef ENABLE_WASM_STRIP_RECOVERYUI"),
     "com_sun_star_comp_framework_Desktop_get_implementation",
     "com_sun_star_comp_framework_DocumentAcceleratorConfiguration_get_implementation",
     "com_sun_star_comp_framework_Frame_get_implementation",
@@ -297,10 +297,10 @@ core_constructor_list = [
 # linguistic/source/spellcheck/MacOSXSpellMacOSXSpell.component
     ("lingucomponent_MacSpellChecker_get_implementation", "#ifdef IOS"),
 # lingucomponent/source/thesaurus/libnth/lnth.component
-    "lingucomponent_Thesaurus_get_implementation",
-    "lingucomponent_SpellChecker_get_implementation",
-    "lingucomponent_LangGuess_get_implementation",
-    "lingucomponent_Hyphenator_get_implementation",
+    ("lingucomponent_Thesaurus_get_implementation", "#ifndef ENABLE_WASM_STRIP_HUNSPELL"),
+    ("lingucomponent_SpellChecker_get_implementation", "#ifndef ENABLE_WASM_STRIP_HUNSPELL"),
+    ("lingucomponent_LangGuess_get_implementation", "#ifndef ENABLE_WASM_STRIP_HUNSPELL"),
+    ("lingucomponent_Hyphenator_get_implementation", "#ifndef ENABLE_WASM_STRIP_HUNSPELL"),
 # package/source/xstor/xstor.component
     "package_OStorageFactory_get_implementation",
 # package/util/package2.component
@@ -438,35 +438,35 @@ core_constructor_list = [
     "dtrans_CMimeContentTypeFactory_get_implementation",
     "vcl_SystemClipboard_get_implementation",
 # xmloff/source/transform/xof.component
-    "xmloff_XMLCalcContentImportOOO_get_implementation",
-    "xmloff_XMLCalcImportOOO_get_implementation",
-    "xmloff_XMLCalcMetaImportOOO_get_implementation",
-    "xmloff_XMLCalcSettingsImportOOO_get_implementation",
-    "xmloff_XMLCalcStylesImportOOO_get_implementation",
-    "xmloff_XMLChartContentImportOOO_get_implementation",
-    "xmloff_XMLChartImportOOO_get_implementation",
-    "xmloff_XMLChartStylesImportOOO_get_implementation",
-    "xmloff_XMLDrawContentImportOOO_get_implementation",
-    "xmloff_XMLDrawImportOOO_get_implementation",
-    "xmloff_XMLDrawMetaImportOOO_get_implementation",
-    "xmloff_XMLDrawSettingsImportOOO_get_implementation",
-    "xmloff_XMLDrawStylesImportOOO_get_implementation",
-    "xmloff_XMLImpressContentImportOOO_get_implementation",
-    "xmloff_XMLImpressImportOOO_get_implementation",
-    "xmloff_XMLImpressMetaImportOOO_get_implementation",
-    "xmloff_XMLImpressSettingsImportOOO_get_implementation",
-    "xmloff_XMLImpressStylesImportOOO_get_implementation",
-    "xmloff_XMLMathMetaImportOOO_get_implementation",
-    "xmloff_XMLMathSettingsImportOOO_get_implementation",
-    "xmloff_OOo2OasisTransformer_get_implementation",
-    "xmloff_Oasis2OOoTransformer_get_implementation",
-    "xmloff_XMLAutoTextEventImportOOO_get_implementation",
-    "xmloff_XMLWriterContentImportOOO_get_implementation",
-    "xmloff_XMLWriterImportOOO_get_implementation",
-    "xmloff_XMLWriterMetaImportOOO_get_implementation",
-    "xmloff_XMLWriterSettingsImportOOO_get_implementation",
-    "xmloff_XMLWriterStylesImportOOO_get_implementation",
-    "xmloff_XMLMetaImportOOO_get_implementation",
+    ("xmloff_XMLCalcContentImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLCalcImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLCalcMetaImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLCalcSettingsImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLCalcStylesImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLChartContentImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLChartImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLChartStylesImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLDrawContentImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLDrawImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLDrawMetaImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLDrawSettingsImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLDrawStylesImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLImpressContentImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLImpressImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLImpressMetaImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLImpressSettingsImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLImpressStylesImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLMathMetaImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLMathSettingsImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_OOo2OasisTransformer_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_Oasis2OOoTransformer_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLAutoTextEventImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLWriterContentImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLWriterImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLWriterMetaImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLWriterSettingsImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLWriterStylesImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("xmloff_XMLMetaImportOOO_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
 # xmloff/util/xo.component
     "XMLMetaExportComponent_get_implementation",
     "XMLMetaExportOOo_get_implementation",
@@ -497,17 +497,17 @@ core_constructor_list = [
     "com_sun_star_comp_Xmloff_AnimationsImport",
     "com_sun_star_comp_DrawingLayer_XMLExporter_get_implementation",
     "com_sun_star_comp_Impress_XMLClipboardExporter_get_implementation",
-    "com_sun_star_comp_Chart_XMLOasisImporter_get_implementation",
-    "com_sun_star_comp_Chart_XMLOasisMetaImporter_get_implementation",
-    "com_sun_star_comp_Chart_XMLOasisMetaExporter_get_implementation",
-    "com_sun_star_comp_Chart_XMLOasisStylesExporter_get_implementation",
-    "com_sun_star_comp_Chart_XMLOasisContentExporter_get_implementation",
-    "com_sun_star_comp_Chart_XMLExporter_get_implementation",
-    "com_sun_star_comp_Chart_XMLStylesExporter_get_implementation",
-    "com_sun_star_comp_Chart_XMLContentExporter_get_implementation",
-    "com_sun_star_comp_Chart_XMLOasisStylesImporter_get_implementation",
-    "com_sun_star_comp_Chart_XMLOasisContentImporter_get_implementation",
-    "com_sun_star_comp_Chart_XMLOasisExporter_get_implementation",
+    ("com_sun_star_comp_Chart_XMLOasisImporter_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_Chart_XMLOasisMetaImporter_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_Chart_XMLOasisMetaExporter_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_Chart_XMLOasisStylesExporter_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_Chart_XMLOasisContentExporter_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_Chart_XMLExporter_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_Chart_XMLStylesExporter_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_Chart_XMLContentExporter_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_Chart_XMLOasisStylesImporter_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_Chart_XMLOasisContentImporter_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
+    ("com_sun_star_comp_Chart_XMLOasisExporter_get_implementation", "#ifndef ENABLE_WASM_STRIP_CHART"),
     "com_sun_star_comp_Writer_XMLOasisAutotextEventsExporter_get_implementation",
     "com_sun_star_comp_Writer_XMLAutotextEventsExporter_get_implementation",
     "com_sun_star_comp_Writer_XMLOasisAutotextEventsImporter_get_implementation",
@@ -657,14 +657,15 @@ draw_constructor_list = [
     "com_sun_star_animations_SequenceTimeContainer_get_implementation",
     "com_sun_star_animations_TransitionFilter_get_implementation",
 # desktop/source/deployment/deployment.component
+    ("desktop/source/deployment/deployment.component", "#ifndef ENABLE_WASM_STRIP_CLUCENE"),
     "com_sun_star_comp_deployment_ExtensionManager_get_implementation",
     "com_sun_star_comp_deployment_PackageInformationProvider_get_implementation",
     "com_sun_star_comp_deployment_PackageManagerFactory_get_implementation",
     "com_sun_star_comp_deployment_ProgressLog_get_implementation",
-    "com_sun_star_comp_deployment_component_PackageRegistryBackend_get_implementation",
+    ("com_sun_star_comp_deployment_component_PackageRegistryBackend_get_implementation", "#ifndef ENABLE_WASM_STRIP_CLUCENE"),
     "com_sun_star_comp_deployment_configuration_PackageRegistryBackend_get_implementation",
     "com_sun_star_comp_deployment_executable_PackageRegistryBackend_get_implementation",
-    "com_sun_star_comp_deployment_help_PackageRegistryBackend_get_implementation",
+    ("com_sun_star_comp_deployment_help_PackageRegistryBackend_get_implementation", "#ifndef ENABLE_WASM_STRIP_CLUCENE"),
     "com_sun_star_comp_deployment_script_PackageRegistryBackend_get_implementation",
     "com_sun_star_comp_deployment_sfwk_PackageRegistryBackend_get_implementation",
 # embedded/source/msole/emboleobj.windows.component
@@ -713,6 +714,9 @@ writer_factory_list = [
     ]
 
 writer_constructor_list = [
+# basic/util/sb.component
+    ("com_sun_star_comp_sfx2_DialogLibraryContainer_get_implementation", "#if HAVE_FEATURE_SCRIPTING"),
+    ("com_sun_star_comp_sfx2_ScriptLibraryContainer_get_implementation", "#if HAVE_FEATURE_SCRIPTING"),
 # filter/source/textfilterdetect/textfd.component
     "com_sun_star_comp_filters_PlainTextFilterDetect_get_implementation",
 # sw/util/sw.component
@@ -732,7 +736,7 @@ writer_constructor_list = [
     "com_sun_star_comp_Writer_RtfFilter_get_implementation",
     "com_sun_star_comp_Writer_WriterFilter_get_implementation",
 # writerperfect/source/writer/wpftwriter.component
-    "com_sun_star_comp_Writer_EPUBExportFilter_get_implementation",
+    ("com_sun_star_comp_Writer_EPUBExportFilter_get_implementation", "#ifndef ENABLE_WASM_STRIP_EPUB"),
     ]
 
 desktop_factory_list = [
@@ -746,12 +750,12 @@ desktop_constructor_list = [
     "com_sun_star_comp_configuration_DefaultProvider_get_implementation",
     "com_sun_star_comp_configuration_ReadOnlyAccess_get_implementation",
     "com_sun_star_comp_configuration_ReadWriteAccess_get_implementation",
-    "com_sun_star_comp_deployment_component_PackageRegistryBackend_get_implementation",
+    ("com_sun_star_comp_deployment_component_PackageRegistryBackend_get_implementation", "#ifndef ENABLE_WASM_STRIP_CLUCENE"),
     "com_sun_star_comp_deployment_configuration_PackageRegistryBackend_get_implementation",
     "com_sun_star_comp_deployment_executable_PackageRegistryBackend_get_implementation",
     "com_sun_star_comp_deployment_ExtensionManager_get_implementation",
     "com_sun_star_comp_deployment_ExtensionManager_get_implementation",
-    "com_sun_star_comp_deployment_help_PackageRegistryBackend_get_implementation",
+    ("com_sun_star_comp_deployment_help_PackageRegistryBackend_get_implementation","#ifndef ENABLE_WASM_STRIP_CLUCENE"),
     "com_sun_star_comp_deployment_PackageManagerFactory_get_implementation",
     "com_sun_star_comp_deployment_PackageManagerFactory_get_implementation",
     "com_sun_star_comp_deployment_ProgressLog_get_implementation",
@@ -805,7 +809,7 @@ desktop_constructor_list = [
     "com_sun_star_comp_graphic_GraphicProvider_get_implementation",
     "com_sun_star_comp_office_FrameLoader_get_implementation",
     "com_sun_star_comp_sfx2_AppDispatchProvider_get_implementation",
-    "com_sun_star_comp_sfx2_BackingComp_get_implementation",
+    ("com_sun_star_comp_sfx2_BackingComp_get_implementation", "#ifndef ENABLE_WASM_STRIP_RECENT"),
     "com_sun_star_comp_sfx2_GlobalEventBroadcaster_get_implementation",
     "com_sun_star_comp_sfx2_InsertSymbolToolBoxControl_get_implementation",
     "com_sun_star_comp_sfx2_InsertSymbolToolBoxControl_get_implementation",
@@ -819,7 +823,7 @@ desktop_constructor_list = [
     "com_sun_star_comp_svx_Impl_FindbarDispatcher_get_implementation",
     "com_sun_star_comp_svx_LineSpacingToolBoxControl_get_implementation",
     "com_sun_star_comp_svx_NumberingToolBoxControl_get_implementation",
-    "com_sun_star_comp_svx_RecoveryUI_get_implementation",
+    ("com_sun_star_comp_svx_RecoveryUI_get_implementation", "#ifndef ENABLE_WASM_STRIP_RECOVERYUI"),
     "com_sun_star_comp_svx_StyleToolBoxControl_get_implementation",
     "com_sun_star_comp_svx_TableToolBoxControl_get_implementation",
     "com_sun_star_comp_svx_TableToolBoxControl_get_implementation",
@@ -877,10 +881,10 @@ desktop_constructor_list = [
     "framework_ToolbarsMenuController_get_implementation",
     "i18npool_Collator_Unicode_get_implementation",
     "IndexedPropertyValuesContainer_get_implementation",
-    "lingucomponent_Hyphenator_get_implementation",
-    "lingucomponent_LangGuess_get_implementation",
-    "lingucomponent_SpellChecker_get_implementation",
-    "lingucomponent_Thesaurus_get_implementation",
+    ("lingucomponent_Hyphenator_get_implementation", "#ifndef ENABLE_WASM_STRIP_HUNSPELL"),
+    ("lingucomponent_LangGuess_get_implementation", "#ifndef ENABLE_WASM_STRIP_HUNSPELL"),
+    ("lingucomponent_SpellChecker_get_implementation", "#ifndef ENABLE_WASM_STRIP_HUNSPELL"),
+    ("lingucomponent_Thesaurus_get_implementation", "#ifndef ENABLE_WASM_STRIP_HUNSPELL"),
     "linguistic_DicList_get_implementation",
     "linguistic_GrammarCheckingIterator_get_implementation",
     "linguistic_LinguProps_get_implementation",
@@ -1047,6 +1051,10 @@ print ("""/*
 #include <osl/detail/component-mapping.h>
 #include <string.h>
 
+#ifdef ENABLE_WASM_STRIP_LOCALES
+#define WITH_LOCALE_ALL 0
+#endif
+
 """)
 if not options.pure_c:
     print ("""extern "C" {""")
diff --git a/solenv/gbuild/extensions/pre_MergedLibsList.mk b/solenv/gbuild/extensions/pre_MergedLibsList.mk
index 12fd14edf522..579f0e3a8a67 100644
--- a/solenv/gbuild/extensions/pre_MergedLibsList.mk
+++ b/solenv/gbuild/extensions/pre_MergedLibsList.mk
@@ -43,7 +43,9 @@ MERGE_LIBRARY_LIST := \
 	fwk \
 	$(if $(filter WNT,$(OS)),gdipluscanvas) \
 	guesslang \
-	$(call gb_Helper_optional,DESKTOP,helplinker) \
+	$(call gb_Helper_optional,DESKTOP, \
+		$(if $(ENABLE_WASM_STRIP_CLUCENE),, \
+		helplinker)) \
 	hyphen \
 	i18nsearch \
 	i18npool \
@@ -70,7 +72,7 @@ MERGE_LIBRARY_LIST := \
 	sofficeapp \
 	sot \
 	spell \
-	$(if $(DISABLE_GUI),,spl) \
+	$(if $(or $(DISABLE_GUI),$(ENABLE_WASM_STRIP_SPLASH)),,spl) \
 	srtrs1 \
 	$(call gb_Helper_optional,SCRIPTING,stringresource) \
 	svgio \
diff --git a/svx/Library_svx.mk b/svx/Library_svx.mk
index cc2875c52c0c..9e3fe52de150 100644
--- a/svx/Library_svx.mk
+++ b/svx/Library_svx.mk
@@ -24,6 +24,10 @@ $(eval $(call gb_Library_set_componentfiles,svx, \
     svx/util/svx \
 ))
 
+ifneq ($(ENABLE_WASM_STRIP_RECOVERYUI),TRUE)
+$(eval $(call gb_Library_set_componentfile,svx,svx/util/svx.extended))
+endif
+
 $(eval $(call gb_Library_set_include,svx,\
     -I$(SRCDIR)/svx/inc \
     -I$(SRCDIR)/svx/source/inc \
@@ -82,10 +86,17 @@ $(eval $(call gb_Library_use_externals,svx,\
 	icu_headers \
 ))
 
+ifneq ($(ENABLE_WASM_STRIP_RECOVERYUI),TRUE)
+$(eval $(call gb_Library_add_exception_objects,svx,\
+    svx/source/dialog/docrecovery \
+    svx/source/unodraw/recoveryui \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_ACCESSIBILITY),TRUE)
 $(eval $(call gb_Library_add_exception_objects,svx,\
     svx/source/accessibility/AccessibleControlShape \
     svx/source/accessibility/AccessibleEmptyEditSource \
-    svx/source/accessibility/AccessibleFrameSelector \
     svx/source/accessibility/AccessibleGraphicShape \
     svx/source/accessibility/AccessibleOLEShape \
     svx/source/accessibility/AccessibleShape \
@@ -99,15 +110,20 @@ $(eval $(call gb_Library_add_exception_objects,svx,\
     svx/source/accessibility/GraphCtlAccessibleContext \
     svx/source/accessibility/ShapeTypeHandler \
     svx/source/accessibility/SvxShapeTypes \
-    svx/source/accessibility/charmapacc \
     svx/source/accessibility/lookupcolorname \
-	svx/source/accessibility/svxpixelctlaccessiblecontext \
+    svx/source/dialog/AccessibilityCheckDialog \
+))
+endif
+
+$(eval $(call gb_Library_add_exception_objects,svx,\
+    svx/source/accessibility/AccessibleFrameSelector \
+    svx/source/accessibility/charmapacc \
+    svx/source/accessibility/svxpixelctlaccessiblecontext \
     svx/source/accessibility/svxrectctaccessiblecontext \
     svx/source/customshapes/EnhancedCustomShape3d \
     svx/source/customshapes/EnhancedCustomShapeEngine \
     svx/source/customshapes/EnhancedCustomShapeFontWork \
     svx/source/customshapes/EnhancedCustomShapeHandle \
-    svx/source/dialog/AccessibilityCheckDialog \
     svx/source/dialog/_bmpmask \
     svx/source/dialog/charmap \
     svx/source/dialog/searchcharmap \
@@ -126,7 +142,6 @@ $(eval $(call gb_Library_add_exception_objects,svx,\
     svx/source/dialog/dialcontrol \
     svx/source/dialog/dlgctl3d \
     svx/source/dialog/dlgctrl \
-    svx/source/dialog/docrecovery \
     svx/source/dialog/fntctrl \
     svx/source/dialog/fontwork \
     svx/source/dialog/frmdirlbox \
@@ -245,7 +260,6 @@ $(eval $(call gb_Library_add_exception_objects,svx,\
     svx/source/tbxctrls/tbxdrctl \
     svx/source/tbxctrls/verttexttbxctrl \
     svx/source/uitest/uiobject \
-    svx/source/unodraw/recoveryui \
     svx/source/unodraw/unoctabl \
     svx/source/unodraw/UnoNamespaceMap \
     svx/source/unodraw/unopool \
diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx
index a31c1fff1b68..aa9bb0d941b9 100644
--- a/svx/source/dialog/charmap.cxx
+++ b/svx/source/dialog/charmap.cxx
@@ -17,6 +17,8 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <config_wasm_strip.h>
+
 #include <vcl/event.hxx>
 #include <vcl/fontcharmap.hxx>
 #include <vcl/svapp.hxx>
@@ -728,6 +730,7 @@ void SvxShowCharSet::SelectIndex(int nNewIndex, bool bFocus)
     if( nSelectedIndex >= 0 )
     {
         getSelectedChar() = mxFontCharMap->GetCharFromIndex( nSelectedIndex );
+#ifndef ENABLE_WASM_STRIP_ACCESSIBILITY
         if( m_xAccessible.is() )
         {
             svx::SvxShowCharSetItem* pItem = ImplGetItem(nSelectedIndex);
@@ -747,6 +750,7 @@ void SvxShowCharSet::SelectIndex(int nNewIndex, bool bFocus)
             aNewAny <<= AccessibleStateType::SELECTED;
             pItem->m_xItem->fireEvent( AccessibleEventId::STATE_CHANGED, aOldAny, aNewAny );
         }
+#endif
     }
     aHighHdl.Call( this );
 }
@@ -781,6 +785,7 @@ IMPL_LINK_NOARG(SvxShowCharSet, VscrollHdl, weld::ScrolledWindow&, void)
     }
     else if( nSelectedIndex > LastInView() )
     {
+#ifndef ENABLE_WASM_STRIP_ACCESSIBILITY
         if( m_xAccessible.is() )
         {
             css::uno::Any aOldAny, aNewAny;
@@ -791,6 +796,7 @@ IMPL_LINK_NOARG(SvxShowCharSet, VscrollHdl, weld::ScrolledWindow&, void)
                 m_xAccessible ->fireEvent( AccessibleEventId::CHILD, aOldAny, aNewAny );
             }
         }
+#endif
         SelectIndex( (LastInView() - COLUMN_COUNT + 1) + (nSelectedIndex % COLUMN_COUNT) );
     }
 
@@ -799,18 +805,22 @@ IMPL_LINK_NOARG(SvxShowCharSet, VscrollHdl, weld::ScrolledWindow&, void)
 
 SvxShowCharSet::~SvxShowCharSet()
 {

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list