[Libreoffice-commits] core.git: Branch 'feature/wasm' - 1389 commits - accessibility/inc accessibility/Library_acc.mk accessibility/README accessibility/README.md accessibility/source android/.gitignore android/README android/README.md android/source animations/README animations/README.md animations/source apple_remote/README apple_remote/README.md autogen.sh avmedia/README avmedia/README.md avmedia/source basctl/inc basctl/README basctl/README.md basctl/source basegfx/README basegfx/README.md basegfx/source basic/CppunitTest_basic_macros.mk basic/inc basic/qa basic/README basic/README.md basic/source bean/com bean/README bean/README.md binaryurp/README binaryurp/README.md bin/check-missing-unittests.py bin/README bin/README.md bin/run bin/update_pch bin/update_pch.sh bridges/Library_cpp_uno.mk bridges/Module_bridges.mk bridges/README bridges/README.md canvas/Module_canvas.mk canvas/README canvas/README.md canvas/source chart2/inc chart2/Module_chart2.mk chart2/qa chart2/README chart2/README.md c hart2/source chart2/uiconfig cli_ure/Module_cli_ure.mk cli_ure/README cli_ure/README.md codemaker/README codemaker/README.md comphelper/inc comphelper/README comphelper/README.md comphelper/source comphelper/util compilerplugins/clang compilerplugins/README compilerplugins/README.md config_host/config_features.h.in config_host/config_qrcodegen.h.in config_host/config_zxing.h.in config_host.mk.in config_host/README config_host/README.md configmgr/inc configmgr/README configmgr/README.md configmgr/source configure.ac connectivity/inc connectivity/qa connectivity/README connectivity/README.md connectivity/source connectivity/workben cppcanvas/inc cppcanvas/qa cppcanvas/README cppcanvas/README.md cppcanvas/source cppuhelper/inc cppuhelper/README cppuhelper/README.md cppuhelper/source cppu/Module_cppu.mk cppu/README cppu/README.md cppu/source cpputools/Module_cpputools.mk cpputools/README cpputools/README.md cpputools/source cui/inc cui/Library_cui.mk cui/README cui/README.md cui/source cui/uiconfig cui/UIConfig_cui.mk dbaccess/inc dbaccess/Module_dbaccess.mk dbaccess/qa dbaccess/README dbaccess/README.md dbaccess/source dbaccess/uiconfig dbaccess/util desktop/Executable_oosplash.mk desktop/inc desktop/Library_sofficeapp.mk desktop/Module_desktop.mk desktop/qa desktop/README desktop/README.md desktop/source desktop/win32 dictionaries distro-configs/LibreOfficeFlatpak.conf distro-configs/LibreOfficeiOS.conf distro-configs/LibreOfficeiOS_Sim.conf distro-configs/LibreOfficeOssFuzz.conf distro-configs/README distro-configs/README.md download.lst drawinglayer/inc drawinglayer/README drawinglayer/README.md drawinglayer/source editeng/inc editeng/README editeng/README.md editeng/source embeddedobj/README embeddedobj/README.md embeddedobj/source embedserv/README embedserv/README.md emfio/inc emfio/qa emfio/README emfio/README.md emfio/source eventattacher/README eventattacher/README.md extensions/Module_extensions.mk extensions/README extensions/README.md extensions/source extensions/test external/apache-commons external/apr external/boost external/breakpad external/cairo external/coinmp external/cppunit external/curl external/epm external/epoxy external/expat external/firebird external/fontconfig external/freetype external/gpgmepp external/harfbuzz external/hunspell external/hyphen external/icu external/jfreereport external/lcms2 external/libabw external/libassuan external/libatomic_ops external/libcdr external/libebook external/libeot external/libepubgen external/libetonyek external/libexttextcat external/libffi external/libfreehand external/libgpg-error external/libjpeg-turbo external/liblangtag external/libmspub external/libmwaw external/libnumbertext external/libodfgen external/liborcus external/libpagemaker external/libpng external/libqxp external/librevenge external/libstaroffice external/libvisio external/libwpd external/libwpg external/libwps external/libxml2 external/libxslt external/libzmf external/Module_external.mk external/mythes extern al/neon external/nss external/openldap external/openssl external/owncloud-android-lib external/pdfium external/poppler external/postgresql external/python3 external/qrcodegen external/README external/README.md external/redland external/serf external/skia external/xmlsec external/zxing extras/README extras/README.md extras/source filter/inc filter/README filter/README.md filter/source forms/inc forms/README forms/README.md forms/source formula/inc formula/README formula/README.md formula/source fpicker/inc fpicker/README fpicker/README.md fpicker/source framework/inc framework/README framework/README.md framework/source framework/util .gitignore helpcontent2 hwpfilter/README hwpfilter/README.md hwpfilter/source i18nlangtag/README i18nlangtag/README.md i18nlangtag/source i18npool/Library_i18npool.mk i18npool/README i18npool/README.md i18npool/source i18nutil/README i18nutil/README.md i18nutil/source icon-themes/breeze icon-themes/breeze_dark icon-themes/breeze_dark_svg icon-themes/bre eze_svg icon-themes/colibre icon-themes/colibre_svg icon-themes/elementary icon-themes/elementary_svg icon-themes/karasa_jaga icon-themes/karasa_jaga_svg icon-themes/README icon-themes/README.md icon-themes/sifr icon-themes/sifr_dark icon-themes/sifr_dark_svg icon-themes/sifr_svg icon-themes/sukapura icon-themes/sukapura_svg idlc/Module_idlc.mk idlc/README idlc/README.md idl/inc idl/README idl/README.md idl/source include/avmedia include/basegfx include/basic include/codemaker include/comphelper include/cppuhelper include/dbaccess include/editeng include/filter include/formula include/framework include/i18nlangtag include/IwyuFilter_include.yaml include/o3tl include/oox include/osl include/rtl include/sal include/sax include/sfx2 include/svl include/svtools include/svx include/systools include/test include/toolkit include/tools include/unotest include/unotools include/vcl include/xmloff install_deps.sh instsetoo_native/README instsetoo_native/README.md io/README io/README.md ios/Cus tomTarget_iOS_setup.mk io/source io/test javaunohelper/README javaunohelper/README.md jurt/README jurt/README.md jvmaccess/README jvmaccess/README.md jvmfwk/README jvmfwk/README.md l10ntools/README l10ntools/README.md librelogo/README librelogo/README.md libreofficekit/qa libreofficekit/README libreofficekit/README.md libreofficekit/source lingucomponent/Module_lingucomponent.mk lingucomponent/README lingucomponent/README.md lingucomponent/source linguistic/README linguistic/README.md linguistic/source logerrit lotuswordpro/inc lotuswordpro/README lotuswordpro/README.md lotuswordpro/source m4/README m4/README.md Makefile.fetch Makefile.gbuild Makefile.in nlpsolver/README nlpsolver/README.md o3tl/README o3tl/README.md odk/CustomTarget_check.mk odk/Module_odk.mk odk/README odk/README.md offapi/com offapi/README offapi/README.md offapi/type_reference officecfg/README officecfg/README.md officecfg/registry onlineupdate/README onlineupdate/README.md oovbaapi/ooo oovbaapi/README oovbaapi/ README.md oox/inc oox/qa oox/README oox/README.md oox/source opencl/README opencl/README.md osx/README osx/README.md package/inc package/README package/README.md package/source pch/README pch/README.md postprocess/Rdb_services.mk postprocess/README postprocess/README.md pyuno/README pyuno/README.md pyuno/source qadevOOo/README qadevOOo/README.md qadevOOo/runner readlicense_oo/license readlicense_oo/README readlicense_oo/README.md README.md README.wasm registry/Module_registry.mk registry/README registry/README.md remotebridges/README remotebridges/README.md reportbuilder/Jar_reportbuilder.mk reportbuilder/java reportbuilder/README reportbuilder/README.md reportdesign/inc reportdesign/README reportdesign/README.md reportdesign/source RepositoryExternal.mk RepositoryFixes.mk Repository.mk RepositoryModule_host.mk ridljar/README ridljar/README.md salhelper/README salhelper/README.md sal/Library_cppunitmain.mk sal/Library_sal.mk sal/Library_sal_textenc.mk sal/Module_sal.mk sal/osl sal/q a sal/README sal/README.md sal/rtl sax/README sax/README.md sax/source scaddins/inc scaddins/README scaddins/README.md scaddins/source sccomp/inc sccomp/Module_sccomp.mk sccomp/README sccomp/README.md sccomp/source schema/libreoffice schema/odf1.3 schema/README schema/README.md sc/inc sc/Library_scui.mk sc/Module_sc.mk scp2/README scp2/README.md scp2/source sc/qa sc/README sc/README.md scripting/java scripting/Module_scripting.mk scripting/README scripting/README.md scripting/source sc/source sc/uiconfig sdext/inc sdext/README sdext/README.md sdext/source sd/inc sd/Library_sd.mk sd/Library_sdui.mk sd/qa sd/README sd/README.md sd/sdi sd/source sd/uiconfig sd/workben sd/xml setup_native/scripts setup_native/source sfx2/inc sfx2/Library_sfx.mk sfx2/qa sfx2/README sfx2/README.md sfx2/source sfx2/uiconfig sfx2/UIConfig_sfx.mk sfx2/util shell/Module_shell.mk shell/README shell/README.md slideshow/inc slideshow/README slideshow/README.md slideshow/source smoketest/README smoketest/README.m d solenv/bin solenv/clang-format solenv/flatpak-manifest.in solenv/gbuild solenv/README solenv/README.md solenv/sanitizers soltools/README.md sot/inc sot/README sot/README.md sot/source starmath/inc starmath/README starmath/README.md starmath/source static/CustomTarget_components.mk static/Library_components.mk static/Makefile static/Module_static.mk static/README stoc/README stoc/README.md stoc/source store/README store/README.md svgio/inc svgio/README svgio/README.md svl/inc svl/Library_svl.mk svl/README svl/README.md svl/source svtools/inc svtools/Library_svt.mk svtools/README svtools/README.md svtools/source svtools/uiconfig svtools/UIConfig_svt.mk svtools/util svx/CppunitTest_svx_unit.mk svx/inc svx/Library_svx.mk svx/qa svx/README svx/README.md svx/source svx/uiconfig svx/UIConfig_svx.mk sw/CppunitTest_sw_apitests.mk sw/CppunitTest_sw_core_text.mk sw/CppunitTest_sw_macros_test.mk sw/CppunitTest_sw_odfexport2.mk sw/CppunitTest_sw_odfimport.mk sw/CppunitTest_sw_uwriter.mk swext/ mediawiki swext/README swext/README.md sw/inc sw/Library_swui.mk sw/Module_sw.mk sw/ooxmlexport_setup.mk sw/qa sw/README sw/README.md sw/sdi sw/source sw/uiconfig sysui/README sysui/README.md test/Module_test.mk test/README test/README.md test/source testtools/README testtools/README.md toolkit/inc toolkit/Library_tk.mk toolkit/README toolkit/README.md toolkit/source toolkit/util tools/inc tools/qa tools/README tools/README.md tools/source translations ucbhelper/README ucbhelper/README.md ucb/README ucb/README.md ucb/source udkapi/README udkapi/README.md uitest/demo_ui uitest/libreoffice uitest/math_tests uitest/README uitest/README.md uitest/uitest UnoControls/README UnoControls/README.md UnoControls/source unodevtools/inc unodevtools/README unodevtools/README.md unodevtools/source unoidl/Executable_unoidl-read.mk unoidl/README unoidl/README.md unoidl/source unoil/Module_unoil.mk unoil/README unoil/README.md unotest/Module_unotest.mk unotest/source unotools/README unotools/README.m d unotools/source unotools/util unoxml/inc unoxml/README unoxml/README.md unoxml/source ure/README ure/README.md uui/inc uui/README uui/README.md uui/source vbahelper/inc vbahelper/README vbahelper/README.md vbahelper/source vcl/backendtest vcl/CppunitTest_vcl_bitmap_test.mk vcl/CppunitTest_vcl_graphic_test.mk vcl/Executable_ui-previewer.mk vcl/Executable_vcldemo.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_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/qt5 vcl/quartz vcl/README vcl/README.md vcl/README.vars vcl/skia vcl/source vcl/uiconfig vcl/unx vcl/wasm vcl/win vcl/workben wasm-qt/CustomTarget_wasm-qt5-mandelbrot_moc.mk wasm-qt/Executable_wasm-qt5-mandelbrot.mk wasm-qt/Makefile wasm-qt/Module_wasm-qt.mk wasm-qt/README wasm-qt/source winaccessibility/inc winaccessibility/README winaccessibility/README.md winaccessibility/source wizards/README wizards/README.md wizards/source writerfilter/inc writerfilter/qa writerfilter/README writerfilter/README.md writerfilter/source writerperfect/inc writerperfect/Module_writerperfect.mk writerperfect/qa writerperfect/README writerperfect/README.md writerperfect/source xmerge/README xmerge/README.md xmlhelp/README xmlhelp/README.md xmlhelp/source xmloff/CppunitTest_xmloff_style.mk xmloff/inc xmloff/Library_xo.mk xmloff/qa xmloff/README.md xmloff/source xmlreader/README xmlreader/README.md xmlreader/source xmlscript/CppunitTest_xmlscript_cppunit.mk xmlscript/Module_xmlscript.mk xmlscript/qa xmlscript/README xmlscript/README.md xmlscript/source xmlscript/test xmlsecurity/inc xmlsecurity/Library_xmlsecurity.mk xmlsecurity/Library_xsec_xmlsec.mk xmlsecurity/Module_xmlsecurity.mk xmlsecurity/qa xmlsecurity/README xmlsecurity/README.md xmlsecurity/source

Jan-Marek Glogowski (via logerrit) logerrit at kemper.freedesktop.org
Fri Apr 16 13:40:49 UTC 2021


Rebased ref, commits from common ancestor:
commit c4455877d85b4191c38ad14dc74ed0250284f35d
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Thu Mar 25 13:13:53 2021 +0100
Commit:     Thorsten Behrens <thorsten.behrens at allotropia.de>
CommitDate: Fri Apr 16 15:31:52 2021 +0200

    Hack Windows static build stuff
    
    Change-Id: Ied05b72e95fceb47881f080d2b10eca29dfce73f

diff --git a/configure.ac b/configure.ac
index 5033dafdec42..96fa11de367e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3709,7 +3709,7 @@ fi
 
 if test "$_os" = "iOS" -o "$build_cpu" != "$host_cpu" -o -n "$DISABLE_DYNLOADING"; then
     # To allow building Windows multi-arch releases without cross-tooling
-    if test -z "$WIN_MULTI_ARCH" -a -z "$WIN_OTHER_ARCH"; then
+    if test -z "$WIN_MULTI_ARCH" -a -z "$WIN_OTHER_ARCH" -o -n "$DISABLE_DYNLOADING"; then
         cross_compiling="yes"
     fi
 fi
@@ -5554,9 +5554,15 @@ if test "$USING_X11" != TRUE; then
     test_dbus=no
     build_gstreamer_1_0=no
     test_kf5=no
-    test_qt5=yes
     test_gtk3_kde5=no
-    enable_cairo_canvas=yes
+    if test "$DISABLE_DYNLOADING" = "TRUE" -a "$OS" != "WNT"; then
+        enable_cairo_canvas=yes
+        test_qt5=yes
+        enable_qt5=yes
+    else
+        enable_cairo_canvas=no
+        test_qt5=no
+    fi
 fi
 
 if test "$OS" = "EMSCRIPTEN"; then
@@ -9435,7 +9441,11 @@ no|disable)
         # Python is required to build LibreOffice. In theory we could separate the build-time Python
         # requirement from the choice whether to include Python stuff in the installer, but why
         # bother?
-        AC_MSG_ERROR([Python is required at build time.])
+        if test "$cross_compiling" = yes; then
+            enable_python=system
+        else
+            AC_MSG_ERROR([Python is required at build time.])
+        fi
     fi
     enable_python=no
     AC_MSG_RESULT([none])
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index b9ec2a9f6c5c..a69a090cb3fa 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -775,7 +775,7 @@ endif
 ifeq ($(OS),WNT)
 $(eval $(call gb_Library_add_exception_objects,vcl,\
     vcl/source/opengl/win/WinDeviceInfo \
-    vcl/source/app/salplug \
+    $(if $(DISABLE_DYNLOADING),vcl/wasm/salplug,vcl/source/app/salplug) \
     vcl/win/app/fileregistration \
 ))
 
commit 4a5a722f833a4a381975d22873f3628c36930fe1
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Thu Mar 25 09:59:51 2021 +0100
Commit:     Thorsten Behrens <thorsten.behrens at allotropia.de>
CommitDate: Fri Apr 16 15:31:52 2021 +0200

    Working static Writer (use SAL_VCL_QT5_USE_CAIRO)
    
    Change-Id: Ie1aab718cbf36b43621e2be644328fdc3fa1c90b

diff --git a/configure.ac b/configure.ac
index f08b33ff1da4..5033dafdec42 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5151,7 +5151,7 @@ if test "$enable_gui" = "no"; then
     fi
     USING_X11=
     DISABLE_GUI=TRUE
-    AC_DEFINE(HAVE_FEATURE_UI,0)
+#    AC_DEFINE(HAVE_FEATURE_UI,0)
     test_cairo=yes
 fi
 AC_SUBST(DISABLE_GUI)
diff --git a/cppuhelper/source/paths.cxx b/cppuhelper/source/paths.cxx
index 0172e4c94a16..25e006d07c96 100644
--- a/cppuhelper/source/paths.cxx
+++ b/cppuhelper/source/paths.cxx
@@ -20,6 +20,7 @@
 #include <config_folders.h>
 
 #include <sal/config.h>
+#include <sal/log.hxx>
 
 #include <cassert>
 
@@ -85,7 +86,9 @@ OUString cppu::getUnoIniUri() {
     }
 #endif
 #endif
-    return uri + "/" SAL_CONFIGFILE("uno");
+    uri += "/" SAL_CONFIGFILE("uno");
+    SAL_INFO("cppuhelper", "expected uno config: " << uri);
+    return uri;
 }
 
 bool cppu::nextDirectoryItem(osl::Directory & directory, OUString * url) {
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index cd4b3da2d729..6f61dbef6926 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -3154,7 +3154,7 @@ static void doc_paintTile(LibreOfficeKitDocument* pThis,
         return;
     }
 
-#if defined(UNX) && !defined(MACOSX) && !defined(ENABLE_HEADLESS)
+#if defined(UNX) && !defined(MACOSX) && !defined(DISABLE_GUI)
 
     // Painting of zoomed or HiDPI spreadsheets is special, we actually draw everything at 100%,
     // and only set cairo's (or CoreGraphic's, in the iOS case) scale factor accordingly, so that
diff --git a/postprocess/Rdb_services.mk b/postprocess/Rdb_services.mk
index 97e75c13a001..447cd97941b8 100644
--- a/postprocess/Rdb_services.mk
+++ b/postprocess/Rdb_services.mk
@@ -281,8 +281,8 @@ $(eval $(call gb_Rdb_add_components,services,\
 		shell/source/unix/exec/syssh \
 	) \
 	$(if $(filter-out MACOSX WNT,$(OS)), \
-		$(if $(DISABLE_GUI),, \
 			shell/source/backends/desktopbe/desktopbe1 \
+		$(if $(DISABLE_GUI),, \
 			vcl/vcl.unx \
 		) \
 	) \
diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py
index 06e01a495237..de59f7093023 100755
--- a/solenv/bin/native-code.py
+++ b/solenv/bin/native-code.py
@@ -704,7 +704,187 @@ desktop_factory_list = [
     ]
 
 desktop_constructor_list = [
+    "com_sun_star_comp_bridge_BridgeFactory_get_implementation",
+    "com_sun_star_comp_bridge_BridgeFactory_get_implementation",
+    "com_sun_star_comp_configuration_ConfigurationProvider_get_implementation",
+    "com_sun_star_comp_configuration_ConfigurationRegistry_get_implementation",
+    "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_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_PackageManagerFactory_get_implementation",
+    "com_sun_star_comp_deployment_PackageManagerFactory_get_implementation",
+    "com_sun_star_comp_deployment_ProgressLog_get_implementation",
+    "com_sun_star_comp_deployment_script_PackageRegistryBackend_get_implementation",
+    "com_sun_star_comp_deployment_sfwk_PackageRegistryBackend_get_implementation",
+    "com_sun_star_comp_extensions_xml_sax_ParserExpat_get_implementation",
+    "com_sun_star_comp_frame_SessionListener_get_implementation",
+    "com_sun_star_comp_framework_AddonsToolBarFactory_get_implementation",
+    "com_sun_star_comp_framework_Desktop_get_implementation",
+    "com_sun_star_comp_framework_DocumentAcceleratorConfiguration_get_implementation",
+    "com_sun_star_comp_framework_Frame_get_implementation",
+    "com_sun_star_comp_framework_GenericPopupToolbarController_get_implementation",
+    "com_sun_star_comp_framework_GenericPopupToolbarController_get_implementation",
+    "com_sun_star_comp_framework_GlobalAcceleratorConfiguration_get_implementation",
+    "com_sun_star_comp_framework_JobExecutor_get_implementation",
+    "com_sun_star_comp_framework_LangSelectionStatusbarController_get_implementation",
+    "com_sun_star_comp_framework_LayoutManager_get_implementation",
+    "com_sun_star_comp_framework_MenuBarFactory_get_implementation",
+    "com_sun_star_comp_framework_MenuBarFactory_get_implementation",
+    "com_sun_star_comp_framework_ModuleAcceleratorConfiguration_get_implementation",
+    "com_sun_star_comp_framework_ModuleManager_get_implementation",
+    "com_sun_star_comp_framework_ModuleUIConfigurationManager_get_implementation",
+    "com_sun_star_comp_framework_ModuleUIConfigurationManagerSupplier_get_implementation",
+    "com_sun_star_comp_framework_ObjectMenuController_get_implementation",
+    "com_sun_star_comp_framework_PathSettings_get_implementation",
+    "com_sun_star_comp_framework_PathSubstitution_get_implementation",
+    "com_sun_star_comp_framework_PopupMenuControllerFactory_get_implementation",
+    "com_sun_star_comp_framework_RecentFilesMenuController_get_implementation",
+    "com_sun_star_comp_framework_RecentFilesMenuController_get_implementation",
+    "com_sun_star_comp_framework_ResourceMenuController_get_implementation",
+    "com_sun_star_comp_framework_SaveToolbarController_get_implementation",
+    "com_sun_star_comp_framework_SaveToolbarController_get_implementation",
+    "com_sun_star_comp_framework_StatusBarControllerFactory_get_implementation",
+    "com_sun_star_comp_framework_StatusBarFactory_get_implementation",
+    "com_sun_star_comp_framework_StatusIndicatorFactory_get_implementation",
+    "com_sun_star_comp_framework_SubToolBarController_get_implementation",
+    "com_sun_star_comp_framework_SubToolBarController_get_implementation",
+    "com_sun_star_comp_framework_TaskCreator_get_implementation",
+    "com_sun_star_comp_framework_ToolbarAsMenuController_get_implementation",
+    "com_sun_star_comp_framework_ToolBarControllerFactory_get_implementation",
+    "com_sun_star_comp_framework_ToolBarFactory_get_implementation",
+    "com_sun_star_comp_framework_ToolBarFactory_get_implementation",
+    "com_sun_star_comp_framework_UICommandDescription_get_implementation",
+    "com_sun_star_comp_framework_UICommandDescription_get_implementation",
+    "com_sun_star_comp_framework_UIConfigurationManager_get_implementation",
+    "com_sun_star_comp_framework_UIElementFactoryManager_get_implementation",
+    "com_sun_star_comp_framework_URLTransformer_get_implementation",
+    "com_sun_star_comp_framework_WindowListMenuController_get_implementation",
+    "com_sun_star_comp_framework_WindowListMenuController_get_implementation",
+    "com_sun_star_comp_framework_WindowStateConfiguration_get_implementation",
+    "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_GlobalEventBroadcaster_get_implementation",
+    "com_sun_star_comp_sfx2_InsertSymbolToolBoxControl_get_implementation",
+    "com_sun_star_comp_sfx2_InsertSymbolToolBoxControl_get_implementation",
+    "com_sun_star_comp_stoc_CoreReflection_get_implementation",
+    "com_sun_star_comp_stoc_Introspection_get_implementation",
+    "com_sun_star_comp_svx_CharacterSpacingToolBoxControl_get_implementation",
+    "com_sun_star_comp_svx_ColorToolBoxControl_get_implementation",
+    "com_sun_star_comp_svx_CTLToolBoxControl_get_implementation",
+    "com_sun_star_comp_svx_FontNameToolBoxControl_get_implementation",
+    "com_sun_star_comp_svx_Impl_FindbarDispatcher_get_implementation",
+    "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_StyleToolBoxControl_get_implementation",
+    "com_sun_star_comp_svx_TableToolBoxControl_get_implementation",
+    "com_sun_star_comp_svx_TableToolBoxControl_get_implementation",
+    "com_sun_star_comp_svx_UnderlineToolBoxControl_get_implementation",
+    "com_sun_star_comp_svx_UndoRedoToolBoxControl_get_implementation",
+    "com_sun_star_comp_svx_UndoRedoToolBoxControl_get_implementation",
+    "com_sun_star_comp_svx_VertTextToolBoxControl_get_implementation",
+    "com_sun_star_comp_svx_VertTextToolBoxControl_get_implementation",
+    "com_sun_star_comp_uri_ExternalUriReferenceTranslator_get_implementation",
+    "com_sun_star_comp_uri_UriReferenceFactory_get_implementation",
+    "com_sun_star_comp_uri_UriSchemeParser_vndDOTsunDOTstarDOTexpand_get_implementation",
+    "com_sun_star_comp_uri_UriSchemeParser_vndDOTsunDOTstarDOTscript_get_implementation",
+    "com_sun_star_comp_uui_UUIInteractionHandler_get_implementation",
+    "com_sun_star_extensions_xml_sax_Writer_get_implementation",
+    "com_sun_star_frame_VCLSessionManagerClient_get_implementation",
+    "com_sun_star_i18n_BreakIterator_get_implementation",
+    "com_sun_star_i18n_BreakIterator_Unicode_get_implementation",
+    "com_sun_star_i18n_CharacterClassification_get_implementation",
+    "com_sun_star_i18n_CharacterClassification_Unicode_get_implementation",
+    "com_sun_star_i18n_Collator_get_implementation",
+    "com_sun_star_i18n_LocaleDataImpl_get_implementation",
+    "com_sun_star_i18n_NumberFormatCodeMapper_get_implementation",
+    "com_sun_star_i18n_Transliteration_get_implementation",
+    "com_sun_star_i18n_Transliteration_IGNORE_CASE_get_implementation",
+    "com_sun_star_i18n_Transliteration_IGNORE_KANA_get_implementation",
+    "com_sun_star_i18n_Transliteration_IGNORE_WIDTH_get_implementation",
+    "com_sun_star_svx_DownSearchToolboxController_get_implementation",
+    "com_sun_star_svx_ExitFindbarToolboxController_get_implementation",
+    "com_sun_star_svx_FindAllToolboxController_get_implementation",
+    "com_sun_star_svx_FindTextToolboxController_get_implementation",
+    "com_sun_star_svx_FontHeightToolBoxController_get_implementation",
+    "com_sun_star_svx_MatchCaseToolboxController_get_implementation",
+    "com_sun_star_svx_SearchLabelToolboxController_get_implementation",
+    "com_sun_star_svx_UpSearchToolboxController_get_implementation",
+    "com_sun_star_text_DefaultNumberingProvider_get_implementation",
+    "dtrans_CMimeContentTypeFactory_get_implementation",
+    "filter_ConfigFlush_get_implementation",
+    "filter_ContentHandlerFactory_get_implementation",
+    "filter_FilterFactory_get_implementation",
+    "filter_FrameLoaderFactory_get_implementation",
+    "filter_TypeDetection_get_implementation",
+    "framework_FooterMenuController_get_implementation",
+    "framework_FooterMenuController_get_implementation",
+    "framework_HeaderMenuController_get_implementation",
+    "framework_HeaderMenuController_get_implementation",
+    "framework_LanguageSelectionMenuController_get_implementation",
+    "framework_LanguageSelectionMenuController_get_implementation",
+    "framework_MacrosMenuController_get_implementation",
+    "framework_MacrosMenuController_get_implementation",
+    "framework_NewMenuController_get_implementation",
+    "framework_NewMenuController_get_implementation",
+    "framework_ServiceHandler_get_implementation",
+    "framework_ServiceHandler_get_implementation",
+    "framework_ToolbarsMenuController_get_implementation",
+    "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",
+    "linguistic_DicList_get_implementation",
+    "linguistic_GrammarCheckingIterator_get_implementation",
+    "linguistic_LinguProps_get_implementation",
+    "linguistic_LngSvcMgr_get_implementation",
+    "lo_writer_NavElementToolBoxController_get_implementation",
+    "lo_writer_NextScrollToolboxController_get_implementation",
+    "lo_writer_PreviousScrollToolboxController_get_implementation",
+    "org_apache_openoffice_comp_framework_ContextChangeEventMultiplexer_get_implementation",
+    "org_apache_openoffice_comp_framework_NewToolbarController_get_implementation",
+    "org_apache_openoffice_comp_framework_NewToolbarController_get_implementation",
+    "org_apache_openoffice_comp_svx_sidebar_PanelFactory_get_implementation",
+    "package_ManifestReader_get_implementation",
+    "package_OStorageFactory_get_implementation",
+    "package_OZipFileAccess_get_implementation",
+    "package_ZipPackage_get_implementation",
+    "SfxDocumentMetaData_get_implementation",
+    "shell_DesktopBackend_get_implementation",
+    "shell_LocaleBackend_get_implementation",
+    "stardiv_Toolkit_VCLXPopupMenu_get_implementation",
+    "stardiv_Toolkit_VCLXToolkit_get_implementation",
+    "stoc_FactoryImpl_get_implementation",
+    "svl_FSStorageFactory_get_implementation",
+    "ucb_expand_ExpandContentProviderImpl_get_implementation",
+    "ucb_file_FileProvider_get_implementation",
+    "ucb_OFileAccess_get_implementation",
+    "ucb_tdoc_ContentProvider_get_implementation",
+    "ucb_tdoc_DocumentContentFactory_get_implementation",
+    "ucb_UcbContentProviderProxyFactory_get_implementation",
+    "ucb_UcbStore_get_implementation",
+    "ucb_UniversalContentBroker_get_implementation",
+    "unotools_OTempFileService_get_implementation",
+    "unoxml_CDocumentBuilder_get_implementation",
+    "unoxml_CURI_get_implementation",
+    "unoxml_CXPathAPI_get_implementation",
+    "unoxml_rdfRepository_get_implementation",
+    "vcl_SystemClipboard_get_implementation",
+    "Writer_SwTextDocument_get_implementation",
+    "com_sun_star_comp_svx_FrameToolBoxControl_get_implementation",
+    "com_sun_star_i18n_InputSequenceChecker_get_implementation",
     ]
 
 factory_map = {
diff --git a/sw/source/uibase/app/swmodule.cxx b/sw/source/uibase/app/swmodule.cxx
index f8e5c016db90..55d795719cc8 100644
--- a/sw/source/uibase/app/swmodule.cxx
+++ b/sw/source/uibase/app/swmodule.cxx
@@ -176,9 +176,14 @@ OUString SwResId(const char* pId, int nCardinality)
 uno::Reference< scanner::XScannerManager2 > const &
 SwModule::GetScannerManager()
 {
-    if (!m_xScannerManager.is())
+    static bool bTestScannerManager = true;
+    if (bTestScannerManager && !m_xScannerManager.is())
     {
-        m_xScannerManager = scanner::ScannerManager::create( comphelper::getProcessComponentContext() );
+        try {
+            m_xScannerManager = scanner::ScannerManager::create( comphelper::getProcessComponentContext() );
+        }
+        catch (...) {}
+        bTestScannerManager = false;
     }
     return m_xScannerManager;
 }
commit 8353b0d91332d8bdff6e49706c33c7613a06ad73
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Wed Mar 24 16:46:09 2021 +0100
Commit:     Thorsten Behrens <thorsten.behrens at allotropia.de>
CommitDate: Fri Apr 16 15:31:52 2021 +0200

    catchall vcldemo
    
    Change-Id: I07c8b12b9926e2228fc69b173ac4acf3dd6ef075

diff --git a/bin/run b/bin/run
index ea3a551d9e50..1fcbd07a8626 100755
--- a/bin/run
+++ b/bin/run
@@ -64,7 +64,7 @@ else
 
     export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}"${dir}"/instdir/program
     SEARCH_PATH="${LD_LIBRARY_PATH}"
-
+    export UNO_HOME="file://${dir}/instdir/program"
 fi
 
 # echo "setting URE_BOOTSTRAP to: ${URE_BOOTSTRAP}"
diff --git a/cppu/source/uno/lbmap.cxx b/cppu/source/uno/lbmap.cxx
index cdaa21ff7200..685bf6d4a2a8 100644
--- a/cppu/source/uno/lbmap.cxx
+++ b/cppu/source/uno/lbmap.cxx
@@ -328,14 +328,12 @@ static void setNegativeBridge( const OUString & rBridgeName )
 
 static uno_ext_getMappingFunc selectMapFunc( const OUString & rBridgeName )
 {
-#if 0
     if (rBridgeName.equalsAscii( CPPU_CURRENT_LANGUAGE_BINDING_NAME "_uno" ))
         return CPPU_ENV_uno_ext_getMapping;
 #if HAVE_FEATURE_JAVA
     if (rBridgeName.equalsAscii( "java" "_uno" ))
         return java_uno_ext_getMapping;
 #endif
-#endif
 
 #if 0
     // I don't think the affine or log bridges will be needed on any
diff --git a/cppuhelper/source/paths.cxx b/cppuhelper/source/paths.cxx
index 0f59fb1272da..0172e4c94a16 100644
--- a/cppuhelper/source/paths.cxx
+++ b/cppuhelper/source/paths.cxx
@@ -26,6 +26,7 @@
 #include <com/sun/star/uno/DeploymentException.hpp>
 #include <osl/file.hxx>
 #include <osl/module.hxx>
+#include <osl/thread.h>
 #include <rtl/ustring.hxx>
 #include <sal/types.h>
 
@@ -62,7 +63,14 @@ OUString cppu::getUnoIniUri() {
     // clean here is hardish.
     OUString uri("file:///assets/program");
 #else
+
     OUString uri(get_this_libpath());
+    static const char* uno_home = getenv("UNO_HOME");
+    if (!uno_home)
+        uri = get_this_libpath();
+    else
+        uri = OStringToOUString(uno_home, osl_getThreadTextEncoding());
+
 #ifdef MACOSX
     // We keep both the LO and URE dylibs directly in "Frameworks"
     // (that is, LIBO_LIB_FOLDER) and rc files in "Resources"
diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py
index 638f70643e67..06e01a495237 100755
--- a/solenv/bin/native-code.py
+++ b/solenv/bin/native-code.py
@@ -700,6 +700,13 @@ writer_constructor_list = [
     "com_sun_star_comp_Writer_EPUBExportFilter_get_implementation",
     ]
 
+desktop_factory_list = [
+    ]
+
+desktop_constructor_list = [
+    "com_sun_star_comp_deployment_ExtensionManager_get_implementation",
+    ]
+
 factory_map = {
     'core' : core_factory_list,
     'edit' : edit_factory_list,
@@ -707,6 +714,7 @@ factory_map = {
     'calc' : calc_factory_list,
     'draw' : draw_factory_list,
     'writer' : writer_factory_list,
+    'desktop' : desktop_factory_list,
     }
 
 constructor_map = {
@@ -716,6 +724,7 @@ constructor_map = {
     'calc' : calc_constructor_list,
     'draw' : draw_constructor_list,
     'writer' : writer_constructor_list,
+    'desktop' : desktop_constructor_list,
     }
 
 custom_widgets = [
diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk
index 296b8e379a0c..711509cd846d 100644
--- a/solenv/gbuild/CppunitTest.mk
+++ b/solenv/gbuild/CppunitTest.mk
@@ -80,6 +80,7 @@ gb_CppunitTest_CPPTESTCOMMAND := $(call gb_Executable_get_target_for_build,cppun
 else
 gb_CppunitTest_RUNTIMEDEPS :=
 gb_CppunitTest_CPPTESTCOMMAND :=
+#gb_CppunitTest_CPPTESTCOMMAND := strace -o trace.log
 endif
 
 # i18npool dlopens localedata_* libraries.
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 79b437ca8eef..1afa9e0451af 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -279,6 +279,7 @@ gb_TEST_ENV_VARS += SAL_DISABLE_SYNCHRONOUS_PRINTER_DETECTION=1
 ifeq (,$(SAL_USE_VCLPLUGIN))
 gb_TEST_ENV_VARS += SAL_USE_VCLPLUGIN=svp
 endif
+gb_TEST_ENV_VARS += UNO_HOME=file://$$I/program
 
 # This is used to detect whether LibreOffice is being built (as opposed to building
 # 3rd-party code). Used for tag deprecation for API we want to
diff --git a/static/CustomTarget_components.mk b/static/CustomTarget_components.mk
index 384985426a2a..9bd72a0b1f26 100644
--- a/static/CustomTarget_components.mk
+++ b/static/CustomTarget_components.mk
@@ -19,6 +19,6 @@ $(static_WORKDIR)/component_maps.cxx: \
 	    $(SRCDIR)/solenv/bin/native-code.py \
 	    | $(static_WORKDIR)/.dir
 	$(call gb_Output_announce,$(subst $(BUILDDIR)/,,$@),$(true),GEN,2)
-	$(call gb_Helper_abbreviate_dirs,$(call gb_ExternalExecutable_get_command,python) $< -g core -g writer) > $@
+	$(call gb_Helper_abbreviate_dirs,$(call gb_ExternalExecutable_get_command,python) $< -g core -g writer -g desktop) > $@
 
 # vim: set noet sw=4:
diff --git a/vcl/wasm/salplug.cxx b/vcl/wasm/salplug.cxx
index b5ba480dd104..6e498742b5c1 100644
--- a/vcl/wasm/salplug.cxx
+++ b/vcl/wasm/salplug.cxx
@@ -33,7 +33,12 @@ const OUString& SalGetDesktopEnvironment()
     return aEnv;
 }
 
-SalInstance* CreateSalInstance() { return create_SalInstance(); }
+SalInstance* CreateSalInstance()
+{
+    SalInstance* pInst = create_SalInstance();
+    pInst->AcquireYieldMutex();
+    return pInst;
+}
 
 void DestroySalInstance(SalInstance* pInst)
 {
commit 8eea797076c94eb4b66dbbae1be26a04021c2168
Author:     Thorsten Behrens <thorsten.behrens at allotropia.de>
AuthorDate: Mon Mar 15 00:17:41 2021 +0100
Commit:     Thorsten Behrens <thorsten.behrens at allotropia.de>
CommitDate: Fri Apr 16 15:31:52 2021 +0200

    Add docs for container build setup
    
    Change-Id: Ib250ae58e0dc36169125707a8c523d59239cabf6

diff --git a/README.wasm b/README.wasm
index b27c863b99f3..53774549a46c 100644
--- a/README.wasm
+++ b/README.wasm
@@ -21,6 +21,7 @@ change later to a newer emscripten.
 
 Qt WASM is not yet used with LO, just if you're wondering!
 
+ ++ See below under Docker build for another build option ++
 
 == Setup emscripten ==
 
@@ -112,6 +113,36 @@ QT5DIR=/dir/of/git_qt5/qtbase
 Many will also be encoded in configure.ac at some point, some already is.
 
 
+== Using Docker to cross-build with emscripten ==
+
+If you prefer a controlled environment (sadly emsdk install/activate
+is _not_ stable over time, as e.g. nodejs versions evolve), that is
+easy to replicate across different machines - consider the docker
+images we're providing.
+
+Config/setup file see
+https://git.libreoffice.org/lode/+/ccb36979563635b51215477455953252c99ec013
+
+Run
+
+ docker-compose build
+
+in the lode/docker dir to get the container prepared. Run
+
+ PARALLELISM=4 BUILD_OPTIONS= BUILD_TARGET=build docker-compose run --rm -e PARALLELISM -e BUILD_TARGET -e BUILD_OPTIONS builder
+
+to perform an actual srcdir != buildir build; the container mounts
+checked-out git repo and output dir via docker-compose.yml (so make
+sure the path names there match your setup):
+
+The lode setup expects, inside the lode/docker subdir, the following directories:
+
+- core (git checkout)
+- workdir (the output dir - gets written into)
+- cache (ccache tree)
+- tarballs (external project tarballs gets written and cached there)
+
+
 = Ideas for an UNO bridge implementation =
 
 My post to Discord #emscripten: "I'm looking for a way to do an abstract call
commit 7434151775f05c653b0ddc7ffa869f0470386b42
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Sat Mar 13 00:13:30 2021 +0100
Commit:     Thorsten Behrens <thorsten.behrens at allotropia.de>
CommitDate: Fri Apr 16 15:31:52 2021 +0200

    catchall
    
    Change-Id: I8b4dea6870dc6698a03cd2607f98eb57971eca4b

diff --git a/Repository.mk b/Repository.mk
index 2c7f3c2565b6..3c9a242c663b 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -201,9 +201,7 @@ $(eval $(call gb_Helper_register_executables_for_install,OOO,ooo, \
 	gengal \
 	$(if $(filter WNT,$(OS)),,uri-encode) \
 	$(if $(ENABLE_MACOSX_SANDBOX),, \
-		$(if $(DISABLE_GUI),, \
 			ui-previewer \
-		) \
 	) \
 	$(if $(filter WNT,$(OS)), \
 		senddoc \
@@ -326,7 +324,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ogltrans, \
 ))
 
 $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
-	acc \
 	$(call gb_Helper_optional,AVMEDIA,avmedia) \
 	$(if $(filter MACOSX,$(OS)),\
 		avmediaMacAVF \
@@ -345,10 +342,8 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
 	$(call gb_Helper_optional,OPENCL,clew) \
 	$(if $(filter $(OS),WNT),,cmdmail) \
 	cppcanvas \
-	$(if $(filter $(OS),EMSCRIPTEN),components) \
 	configmgr \
 	ctl \
-	cui \
 	dba \
 	dbahsql \
 	$(call gb_Helper_optional,DBCONNECTIVITY, \
@@ -479,12 +474,15 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
 ))
 
 $(eval $(call gb_Helper_register_plugins_for_install,OOOLIBS,ooo, \
+    acc \
+    $(if $(DISABLE_DYNLOADING),components) \
+    cui \
     gie \
     sdui \
     $(if $(USING_X11),vclplug_gen) \
     $(if $(filter $(OS),WNT),vclplug_win) \
     $(if $(filter $(OS),MACOSX),vclplug_osx) \
-    $(if $(filter EMSCRIPTEN,$(OS)),vclplug_qt5) \
+    vclplug_qt5 \
 ))
 
 $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,postgresqlsdbc, \
diff --git a/RepositoryFixes.mk b/RepositoryFixes.mk
index 741f6bbfee21..5f149631919a 100644
--- a/RepositoryFixes.mk
+++ b/RepositoryFixes.mk
@@ -69,11 +69,6 @@ else
 # libpyuno_wrapper.so => pyuno.so
 gb_Library_FILENAMES := $(patsubst pyuno_wrapper:libpyuno_wrapper.so,pyuno_wrapper:pyuno.so,$(gb_Library_FILENAMES))
 endif
-
-ifneq ($(OS),ANDROID)
-gb_Library_FILENAMES := $(patsubst unobootstrapprotector:libuno%,unobootstrapprotector:uno%,$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst unoexceptionprotector:libuno%,unoexceptionprotector:uno%,$(gb_Library_FILENAMES))
-endif
 endif
 
 ifeq ($(OS),WNT)
diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index 64068ffc0e49..ff07e415e25f 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -111,6 +111,7 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	solenv \
 	soltools \
 	sot \
+	static \
 	stoc \
 	store \
 	svl \
@@ -140,20 +141,20 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	uui \
 	vbahelper \
 	vcl \
-	wasm \
 	wasm-qt \
 	winaccessibility \
 	wizards \
 	writerfilter \
 	writerperfect \
 	xmerge \
-	$(call gb_Helper_optional,DESKTOP,xmlhelp) \
+	$(call gb_Helper_optional,DESKTOP,$(if $(DISABLE_DYNLOADING),,xmlhelp)) \
 	xmloff \
 	xmlreader \
 	xmlscript \
 	xmlsecurity \
 ))
 
+ifeq (,$(DISABLE_DYNLOADING))
 # Especially when building everything with symbols, the linking of the largest
 # libraries takes enormous amounts of RAM.	To prevent annoying OOM situations
 # etc., try to prevent linking these in parallel by adding artificial build
@@ -186,5 +187,6 @@ $(eval $(call repositorymodule_serialize,\
 		svx svxcore xo sfx fwk svt vcl) \
 ))
 endif
+endif # !$(DISABLE_DYNLOADING)
 
 # vim: set noet sw=4 ts=4:
diff --git a/accessibility/Library_acc.mk b/accessibility/Library_acc.mk
index 6e4c90eba50d..cf63cf5836a8 100644
--- a/accessibility/Library_acc.mk
+++ b/accessibility/Library_acc.mk
@@ -9,6 +9,8 @@
 
 $(eval $(call gb_Library_Library,acc))
 
+$(eval $(call gb_Library_set_plugin_for,acc,tk))
+
 $(eval $(call gb_Library_set_include,acc,\
     $$(INCLUDE) \
     -I$(SRCDIR)/accessibility/inc \
@@ -31,7 +33,6 @@ $(eval $(call gb_Library_use_libraries,acc,\
     sot \
     svl \
     svt \
-    tk \
     tl \
     utl \
     vcl \
diff --git a/bin/run b/bin/run
index 523da3c0e178..ea3a551d9e50 100755
--- a/bin/run
+++ b/bin/run
@@ -71,6 +71,7 @@ fi
 # echo "setting search path to: ${SEARCH_PATH}"
 # echo "execing: ${exedir}/$1"
 
+env | sort
 exec ${LO_TRACE} "${exedir}/$@"
 
 # vi:set shiftwidth=4 expandtab:
diff --git a/chart2/Module_chart2.mk b/chart2/Module_chart2.mk
index 37acfdc3730f..02a56e276205 100644
--- a/chart2/Module_chart2.mk
+++ b/chart2/Module_chart2.mk
@@ -24,23 +24,6 @@ $(eval $(call gb_Module_add_check_targets,chart2,\
 	CppunitTest_chart2_common_functors \
 ))
 
-$(eval $(call gb_Module_add_slowcheck_targets,chart2,\
-    CppunitTest_chart2_export \
-    CppunitTest_chart2_import \
-    CppunitTest_chart2_trendcalculators \
-    CppunitTest_chart2_dump \
-    CppunitTest_chart2_pivot_chart_test \
-    CppunitTest_chart2_geometry \
-))
-
-ifeq ($(ENABLE_CHART_TESTS),TRUE)
-ifeq ($(WITH_FONTS), TRUE)
-$(eval $(call gb_Module_add_slowcheck_targets,chart2,\
-    CppunitTest_chart2_xshape \
-))
-endif
-endif
-
 $(eval $(call gb_Module_add_subsequentcheck_targets,chart2,\
     JunitTest_chart2_unoapi \
 ))
diff --git a/configure.ac b/configure.ac
index fd68c0b8985c..f08b33ff1da4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1884,6 +1884,16 @@ libo_FUZZ_ARG_ENABLE(librelogo,
         [Do not build LibreLogo.]),
 ,enable_librelogo=yes)
 
+AC_ARG_ENABLE(cmis,
+    AS_HELP_STRING([--disable-cmis],
+        [Disable CMIS support.]),
+,enable_cmis=yes)
+
+AC_ARG_ENABLE(curl,
+    AS_HELP_STRING([--disable-curl],
+        [Disable CURL support.]),
+,enable_curl=yes)
+
 dnl ===================================================================
 dnl Optional Packages (--with/without-)
 dnl ===================================================================
@@ -3697,7 +3707,7 @@ if test -n "$WIN_MULTI_ARCH" -a -n "$WIN_OTHER_ARCH"; then
 fi
 
 
-if test "$_os" = "iOS" -o "$build_cpu" != "$host_cpu"; then
+if test "$_os" = "iOS" -o "$build_cpu" != "$host_cpu" -o -n "$DISABLE_DYNLOADING"; then
     # To allow building Windows multi-arch releases without cross-tooling
     if test -z "$WIN_MULTI_ARCH" -a -z "$WIN_OTHER_ARCH"; then
         cross_compiling="yes"
@@ -5544,9 +5554,9 @@ if test "$USING_X11" != TRUE; then
     test_dbus=no
     build_gstreamer_1_0=no
     test_kf5=no
-    test_qt5=no
+    test_qt5=yes
     test_gtk3_kde5=no
-    enable_cairo_canvas=no
+    enable_cairo_canvas=yes
 fi
 
 if test "$OS" = "EMSCRIPTEN"; then
@@ -7138,7 +7148,7 @@ dnl ===================================================================
 dnl Check for system libcmis
 dnl ===================================================================
 # libcmis requires curl and we can't build curl for iOS
-if test "$test_cmis" = "yes"; then
+if test "$test_cmis" = "yes" -a "$enable_cmis" = "yes"; then
     libo_CHECK_SYSTEM_MODULE([libcmis],[LIBCMIS],[libcmis-0.5 >= 0.5.2])
     ENABLE_LIBCMIS=TRUE
 else
@@ -10113,7 +10123,7 @@ if test "$with_system_curl" = "auto"; then
     with_system_curl="$with_system_libs"
 fi
 
-if test "$test_curl" = "yes" -a "$with_system_curl" = "yes"; then
+if test "$test_curl" = "yes" -a "$enable_curl" = "yes" -a "$with_system_curl" = "yes"; then
     AC_MSG_RESULT([external])
     SYSTEM_CURL=TRUE
 
diff --git a/cppu/Module_cppu.mk b/cppu/Module_cppu.mk
index 17f6936f7878..f00558a4056a 100644
--- a/cppu/Module_cppu.mk
+++ b/cppu/Module_cppu.mk
@@ -26,7 +26,6 @@ $(eval $(call gb_Module_add_check_targets,cppu,\
 	CppunitTest_cppu_qa_recursion \
 	CppunitTest_cppu_qa_reference \
 	CppunitTest_cppu_qa_unotype \
-	CppunitTest_cppu_test_cppumaker \
 	CppunitTest_cppu_typelib \
 ))
 
diff --git a/cpputools/Module_cpputools.mk b/cpputools/Module_cpputools.mk
index de043ea9bf45..72b2b4307dbf 100644
--- a/cpputools/Module_cpputools.mk
+++ b/cpputools/Module_cpputools.mk
@@ -14,7 +14,6 @@ ifneq ($(OS),EMSCRIPTEN)
 
 $(eval $(call gb_Module_add_targets,cpputools,\
     Executable_sp2bv \
-    Executable_uno \
 ))
 
 endif
diff --git a/cui/Library_cui.mk b/cui/Library_cui.mk
index d6fa68e0d194..01e2bd8cd191 100644
--- a/cui/Library_cui.mk
+++ b/cui/Library_cui.mk
@@ -9,6 +9,8 @@
 
 $(eval $(call gb_Library_Library,cui))
 
+$(eval $(call gb_Library_set_plugin_for,cui,vcl))
+
 $(eval $(call gb_Library_set_componentfile,cui,cui/util/cui))
 
 $(eval $(call gb_Library_set_include,cui,\
@@ -58,7 +60,6 @@ $(eval $(call gb_Library_use_libraries,cui,\
     tl \
     ucbhelper \
     utl \
-    vcl \
     $(if $(ENABLE_BREAKPAD), \
         crashreport \
     ) \
diff --git a/desktop/Executable_oosplash.mk b/desktop/Executable_oosplash.mk
index a14acd626b74..ae7b3dfaa74e 100644
--- a/desktop/Executable_oosplash.mk
+++ b/desktop/Executable_oosplash.mk
@@ -56,6 +56,8 @@ endif
 ifeq ($(OS),LINUX)
 $(eval $(call gb_Executable_add_libs,oosplash,\
     -lm \
+    -lstdc++ \
+    -pthread \
 ))
 endif
 
diff --git a/desktop/Module_desktop.mk b/desktop/Module_desktop.mk
index 31bbf9d3a472..64717578b26f 100644
--- a/desktop/Module_desktop.mk
+++ b/desktop/Module_desktop.mk
@@ -33,7 +33,6 @@ $(eval $(call gb_Module_add_l10n_targets,desktop,\
 ifneq (,$(filter DESKTOP,$(BUILD_TYPE)))
 $(eval $(call gb_Module_add_targets,desktop,\
     Executable_soffice_bin \
-    Executable_unopkg_bin \
     $(if $(ENABLE_BREAKPAD),Executable_minidump_upload) \
     Library_migrationoo2 \
     Library_migrationoo3 \
@@ -44,10 +43,7 @@ $(eval $(call gb_Module_add_targets,desktop,\
 ifneq ($(OS),MACOSX)
 ifneq ($(OS),WNT)
 $(eval $(call gb_Module_add_targets,desktop,\
-    Pagein_calc \
     Pagein_common \
-    Pagein_draw \
-    Pagein_impress \
     Pagein_writer \
     CustomTarget_soffice \
 ))
@@ -142,7 +138,6 @@ $(eval $(call gb_Module_add_check_targets,desktop, \
 
 ifeq ($(OS),LINUX)
 $(eval $(call gb_Module_add_check_targets,desktop, \
-    CppunitTest_desktop_lib \
     CppunitTest_desktop_lokinit \
 ))
 endif
diff --git a/extensions/Module_extensions.mk b/extensions/Module_extensions.mk
index c3f87aca815c..f0a4784b8b56 100644
--- a/extensions/Module_extensions.mk
+++ b/extensions/Module_extensions.mk
@@ -13,7 +13,7 @@ $(eval $(call gb_Module_add_l10n_targets,extensions,\
 	AllLangMoTarget_pcr \
 ))
 
-ifneq ($(filter-out EMSCRIPTEN iOS ANDROID,$(OS)),)
+ifeq (,$(DISABLE_DYNLOADING))
 $(eval $(call gb_Module_add_targets,extensions,\
 	Library_abp \
 	Library_scn \
diff --git a/external/liborcus/ExternalProject_liborcus.mk b/external/liborcus/ExternalProject_liborcus.mk
index e7dd23b7d5ba..c7dd76ebfee5 100644
--- a/external/liborcus/ExternalProject_liborcus.mk
+++ b/external/liborcus/ExternalProject_liborcus.mk
@@ -95,7 +95,7 @@ $(call gb_ExternalProject_get_state_target,liborcus,build) :
 	$(call gb_ExternalProject_run,build,\
 		$(if $(liborcus_LIBS),LIBS='$(liborcus_LIBS)') \
 		$(if $(liborcus_CXXFLAGS),CXXFLAGS='$(liborcus_CXXFLAGS)') \
-		$(if $(liborcus_CPPFLAGS),CPPFLAGS='$(liborcus_CPPFLAGS)') \
+		$(if $(liborcus_CPPFLAGS),CPPFLAGS='$(liborcus_CPPFLAGS) $(gb_EMSCRIPTEN_CPPFLAGS)') \
 		$(if $(liborcus_LDFLAGS),LDFLAGS='$(liborcus_LDFLAGS)') \
 		MDDS_CFLAGS='$(MDDS_CFLAGS)' \
 		MDDS_LIBS=' ' \
diff --git a/postprocess/Rdb_services.mk b/postprocess/Rdb_services.mk
index a2ea54397951..97e75c13a001 100644
--- a/postprocess/Rdb_services.mk
+++ b/postprocess/Rdb_services.mk
@@ -193,9 +193,6 @@ $(eval $(call gb_Rdb_add_components,services,\
 		extensions/source/update/check/updchk.uno \
 		extensions/source/update/ui/updchk \
 	) \
-	$(if $(ENABLE_OPENGL_TRANSITIONS), \
-		slideshow/source/engine/opengl/ogltrans \
-	) \
 	$(if $(ENABLE_JAVA), \
 		xmerge/source/bridge/XMergeBridge \
 		scripting/java/ScriptFramework \
@@ -272,15 +269,11 @@ $(eval $(call gb_Rdb_add_components,services,\
 	desktop/source/migration/services/migrationoo3 \
 	desktop/source/offacc/offacc \
 	$(if $(DISABLE_GUI),,desktop/source/splash/spl) \
-	extensions/source/abpilot/abp \
 	$(if $(ENABLE_LDAP),extensions/source/config/ldap/ldapbe2) \
 	$(if $(filter WNT,$(OS)),\
 		extensions/source/config/WinUserInfo/WinUserInfoBe \
 	) \
 	extensions/source/logging/log \
-	extensions/source/scanner/scn \
-	extensions/source/update/feed/updatefeed \
-	xmlhelp/util/ucpchelp1 \
 	$(if $(filter-out WNT,$(OS)),\
 		shell/source/cmdmail/cmdmail \
 	) \
diff --git a/sal/StaticLibrary_cppunitmain.mk b/sal/Library_cppunitmain.mk
similarity index 60%
rename from sal/StaticLibrary_cppunitmain.mk
rename to sal/Library_cppunitmain.mk
index 30c64d7b3980..07f51e0c4821 100644
--- a/sal/StaticLibrary_cppunitmain.mk
+++ b/sal/Library_cppunitmain.mk
@@ -8,30 +8,32 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 #
 
-$(eval $(call gb_StaticLibrary_StaticLibrary,cppunitmain))
+$(eval $(call gb_Library_Library,cppunitmain))
 
-$(eval $(call gb_StaticLibrary_set_include,cppunitmain,\
+$(eval $(call gb_Library_set_include,cppunitmain,\
     $$(INCLUDE) \
     -I$(SRCDIR)/sal/inc \
 ))
 
-$(eval $(call gb_StaticLibrary_use_libraries,cppunitmain,\
+$(eval $(call gb_Library_use_libraries,cppunitmain,\
     sal \
     unoexceptionprotector \
+    unobootstrapprotector \
+    vclbootstrapprotector \
 ))
 
-$(eval $(call gb_StaticLibrary_use_externals,cppunitmain,\
+$(eval $(call gb_Library_use_externals,cppunitmain,\
     boost_headers \
     cppunit \
 ))
 
-$(eval $(call gb_StaticLibrary_add_exception_objects,cppunitmain,\
+$(eval $(call gb_Library_add_exception_objects,cppunitmain,\
     sal/cppunittester/cppunittester \
 ))
 
 ifeq ($(COM),MSC)
 
-$(eval $(call gb_StaticLibrary_add_ldflags,cppunitmain,\
+$(eval $(call gb_Library_add_ldflags,cppunitmain,\
     /STACK:10000000 \
 ))
 
diff --git a/sal/Module_sal.mk b/sal/Module_sal.mk
index a24fe27ab869..d7076bf31e70 100644
--- a/sal/Module_sal.mk
+++ b/sal/Module_sal.mk
@@ -10,7 +10,7 @@
 $(eval $(call gb_Module_Module,sal))
 
 $(eval $(call gb_Module_add_targets,sal,\
-	$(if $(or $(CROSS_COMPILING),$(DISABLE_DYNLOADING)),StaticLibrary_cppunitmain,Executable_cppunittester) \
+	$(if $(or $(CROSS_COMPILING),$(DISABLE_DYNLOADING)),Library_cppunitmain,Executable_cppunittester) \
 	$(if $(filter $(OS),ANDROID), \
 		Library_lo-bootstrap) \
 	Library_sal \
diff --git a/solenv/bin/image-sort.py b/solenv/bin/image-sort.py
index 75b5da6ce0e7..5d248684b4a6 100644
--- a/solenv/bin/image-sort.py
+++ b/solenv/bin/image-sort.py
@@ -30,7 +30,7 @@ def read_icons(fname):
     full_path = os.path.join(args.base_path, fname)
     if not os.path.exists(full_path):
         if not args.quiet:
-            print("Skipping non-existent {}\n".format(full_path), file=sys.stderr)
+            print("Skipping non-existent {}".format(full_path), file=sys.stderr)
         return images
     with open(full_path) as fp:
         for line in fp:
diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk
index 6255fc0544c8..296b8e379a0c 100644
--- a/solenv/gbuild/CppunitTest.mk
+++ b/solenv/gbuild/CppunitTest.mk
@@ -74,8 +74,13 @@ endif
 
 # defined by platform
 #  gb_CppunitTest_get_filename
+ifeq (,$(DISABLE_DYNLOADING))
 gb_CppunitTest_RUNTIMEDEPS := $(call gb_Executable_get_runtime_dependencies,cppunittester)
 gb_CppunitTest_CPPTESTCOMMAND := $(call gb_Executable_get_target_for_build,cppunittester)
+else
+gb_CppunitTest_RUNTIMEDEPS :=
+gb_CppunitTest_CPPTESTCOMMAND :=
+endif
 
 # i18npool dlopens localedata_* libraries.
 gb_CppunitTest_RUNTIMEDEPS += \
@@ -206,7 +211,8 @@ $(call gb_CppunitTest_get_target,$(1)) : EXTRA_ENV_VARS :=
 $$(eval $$(call gb_Module_register_target,$(call gb_CppunitTest_get_target,$(1)),$(call gb_CppunitTest_get_clean_target,$(1))))
 $(call gb_Helper_make_userfriendly_targets,$(1),CppunitTest)
 ifneq (,$(DISABLE_DYNLOADING))
-$$(eval $$(call  gb_CppunitTest_use_static_libraries,$(1),cppunitmain))
+$$(eval $$(call gb_CppunitTest_use_libraries,$(1),cppunitmain))
+$$(eval $$(call gb_CppunitTest_add_defs,$(1),-D__EMSCRIPTEN__))
 endif
 $(if $(filter $(1),$(gb_CppunitTest_KNOWN)),,gb_CppunitTest_KNOWN += $(1))
 
diff --git a/solenv/gbuild/platform/linux.mk b/solenv/gbuild/platform/linux.mk
index ece7a88bd71f..823190490589 100644
--- a/solenv/gbuild/platform/linux.mk
+++ b/solenv/gbuild/platform/linux.mk
@@ -17,12 +17,20 @@ gb_LinkTarget_LDFLAGS += $(gb__LinkTarget_LDFLAGS_zdefs)
 
 include $(GBUILDDIR)/platform/unxgcc.mk
 
+gb_STDLIBS :=
+
 ifeq ($(DISABLE_DYNLOADING),TRUE)
-gb_STDLIBS := -ldl
+gb_STDLIBS += -ldl -lm
 endif
 
+gb_STDLIBS_CXX :=
+
 ifneq ($(ATOMIC_LIB),)
-gb_STDLIBS_CXX := $(ATOMIC_LIB)
+gb_STDLIBS_CXX += $(ATOMIC_LIB)
+endif
+
+ifeq ($(DISABLE_DYNLOADING),TRUE)
+gb_STDLIBS_CXX += -lstdc++
 endif
 
 # vim: set noet sw=4 ts=4:
diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk
index 515a2b37c9d4..43579bd0c6aa 100644
--- a/solenv/gbuild/platform/unxgcc.mk
+++ b/solenv/gbuild/platform/unxgcc.mk
@@ -136,7 +136,7 @@ $(call gb_Helper_abbreviate_dirs,\
 		    $(patsubst lib%.a,-l%,$(patsubst lib%.so,-l%,$(patsubst %.$(gb_Library_UDK_MAJORVER),%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))))) \
 		    $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \
 		    $(T_LIBS) \
-		    $(if $(CXXOBJECTS)$(GENCXXOBJECTS)$(EXTRAOBJECTLISTS)$(filter-out XTRUE,X$(ENABLE_RUNTIME_OPTIMIZATIONS)),$(T_STDLIBS_CXX)) \
+		    $(T_STDLIBS_CXX) $(T_STDLIBS) \
 		    -Wl$(COMMA)--end-group \
 		, \
 		    -Wl$(COMMA)--start-group \
diff --git a/solenv/gbuild/static.mk b/solenv/gbuild/static.mk
index 7928a699d42f..be30960b0d3e 100644
--- a/solenv/gbuild/static.mk
+++ b/solenv/gbuild/static.mk
@@ -83,9 +83,9 @@ $(if $(strip $(filter-out GBUILD_TOUCHED, \
 
 ifeq (,$(gb_PARTIAL_BUILD))
 
-ifeq ($(OS),EMSCRIPTEN)
+#ifeq ($(OS),EMSCRIPTEN)
 $(foreach lib,$(gb_Library_KNOWNLIBS),$(if $(call gb_Library__get_component,$(lib)),$(eval $(call gb_Library_use_libraries,components,$(lib)))))
-endif
+#endif
 
 define gb_LinkTarget__add_x_template
 
@@ -147,6 +147,7 @@ endef
 define gb_LinkTarget__remove_touch
 $(call gb_LinkTarget__get_all_libraries_var,$(1)) := $(filter-out GBUILD_TOUCHED,$(call gb_LinkTarget__get_all_libraries,$(1)))
 $(call gb_LinkTarget__get_all_externals_var,$(1)) := $(filter-out GBUILD_TOUCHED,$(call gb_LinkTarget__get_all_externals,$(1)))
+$(call gb_LinkTarget__get_all_statics_var,$(1)) := $(filter-out GBUILD_TOUCHED,$(call gb_LinkTarget__get_all_statics,$(1)))
 
 endef
 
@@ -160,9 +161,10 @@ endef
 define gb_LinkTarget__fill_all_x_template
 
 define gb_LinkTarget__fill_all_$(if $(5),$(5),$(1))
-$$(if $$(filter GBUILD_TOUCHED,$$(call gb_$(2)__get_all_$(1),$$(1))),,
+$$(if $$(filter GBUILD_TOUCHED,$$(call gb_$(if $(6),$(6),$(2))__get_all_$(1),$$(1))),,
 	$(if $(gb_DEBUG_STATIC),$$(info gb_LinkTarget__fill_all_$(if $(5),$(5),$(1)) $(1) for $$(1) in: $$(call gb_$(if $(6),$(6),$(2))__get_all_$(1),$$(1))))
 	$(if $(gb_DEBUG_STATIC),$$(info gb_LinkTarget__fill_all_$(if $(5),$(5),$(1)) $(3) for $$(1) in: $$(call gb_$(if $(6),$(6),$(2))__get_all_$(3),$$(1))))
+	$$(eval $$(call gb_LinkTarget__add_touch,$$(call gb_$(if $(6),$(6),$(2))__get_workdir_linktargetname,$$(1))))
 	$$(foreach item,$$(call gb_$(if $(6),$(6),$(2))__get_all_$(1),$$(1)),
 		$$(call gb_LinkTarget__fill_all_$(1),$$(item))
 		$$(foreach dep,$$(call gb_$(2)__get_all_$(1),$$(item)),
@@ -179,7 +181,6 @@ $$(if $$(filter GBUILD_TOUCHED,$$(call gb_$(2)__get_all_$(1),$$(1))),,
 		$$(foreach dep,$$(call gb_$(4)__get_all_$(3),$$(item)),
 			$$(if $$(filter $$(dep),GBUILD_TOUCHED $$(call gb_$(if $(6),$(6),$(2))__get_all_$(3),$$(1))),,
 				$$(eval $$(call gb_LinkTarget__add_$(3),$$(call gb_$(if $(6),$(6),$(2))__get_workdir_linktargetname,$$(1)),$$(dep))))))
-	$$(eval $$(call gb_LinkTarget__add_touch,$$(call gb_$(if $(6),$(6),$(2))__get_workdir_linktargetname,$$(1))))
 	$(if $(gb_DEBUG_STATIC),$$(info gb_LinkTarget__fill_all_$(if $(5),$(5),$(1)) $(1) for $$(1) out: $$(call gb_$(if $(6),$(6),$(2))__get_all_$(1),$$(1))))
 	$(if $(gb_DEBUG_STATIC),$$(info gb_LinkTarget__fill_all_$(if $(5),$(5),$(1)) $(3) for $$(1) out: $$(call gb_$(if $(6),$(6),$(2))__get_all_$(3),$$(1)))))
 
@@ -203,13 +204,17 @@ $(eval $(call gb_LinkTarget__fill_all_x_template,libraries,Library,externals,Ext
 gb_Executable__LAST_KNOWN =
 gb_CppunitTest__LAST_KNOWN =
 
+#$(eval $(call gb_Library_use_libraries,cppuhelper,components))
+
 # The comment exists To help decipering / verifying the following block. Most later items depends on previous one(s).
 #
 # * Expand all libraries. It's not strictly needed, as we only need the info for the executables,
 #   but this way we can implement updating single gbuild-module dependencies as needed.
 # * For all executables (incl. CppunitTest(s)):
-#   * For EMSCRIPTEN, add components library to any cppuhelper user, as it contains the call to the mapper functions
-#   * Find any loader libraries and add the needed plugin dependences
+#   * Expand all normal dependencies
+#   * Check if cppuhelper loader for components is requested and add the needed plugin dependences
+#     This is a *HACK*, so we don't have to recursively check loader libraries - at least currently
+#   * Find any other loader libraries and add the needed plugin dependences
 #   * Add all statics to the executables
 #   * Add icudata as needed (it should be a plugin somehow declared in RepositoryExternal.mk, but that didn't work)
 #   * Serialize the linking of executables for EMSCRIPTEN, because wasm-opt is multi-threaded using all cores.
@@ -217,10 +222,11 @@ gb_CppunitTest__LAST_KNOWN =
 $(foreach lib,$(gb_Library_KNOWNLIBS),$(eval $(call gb_LinkTarget__fill_all_libraries,$(lib))))
 
 define gb_LinkTarget__expand_executable
-$$(if $$(and $$(filter EMSCRIPTEN,$$(OS)),$$(filter cppuhelper,$$(call gb_$(2)__get_all_libraries,$(3)))), \
-	$$(eval $$(call gb_$(2)_use_libraries,$(3),components))) \
 $$(eval $$(call gb_LinkTarget__fill_all_$(1),$(3))) \
-$$(foreach loader,$$(filter $$(gb_Library_KNOWNLOADERS),$$(call gb_$(2)__get_all_libraries,$(3))), \
+$$(if $$(filter cppuhelper,$$(filter $$(gb_Library_KNOWNLOADERS),$$(call gb_$(2)__get_all_libraries,$(3)))), \
+	$$(eval $$(call gb_$(2)_use_libraries,$(3),$$(call gb_Library__get_plugins,cppuhelper))) \
+	$$(eval $$(call gb_$(2)__add_libraries,$(3),$$(call gb_Library__get_plugins,cppuhelper)))) \
+$$(foreach loader,$$(filter $$(filter-out cppuhelper,$$(gb_Library_KNOWNLOADERS)),$$(call gb_$(2)__get_all_libraries,$(3))), \
 	$$(eval $$(call gb_$(2)_use_libraries,$(3),$$(call gb_Library__get_plugins,$$(loader)))) \
 	$$(eval $$(call gb_$(2)__add_libraries,$(3),$$(call gb_Library__get_plugins,$$(loader))))) \
 $$(if $$(filter-out GBUILD_TOUCHED,$$(call gb_$(2)__get_all_libraries,$(3))), \
diff --git a/wasm/CustomTarget_components.mk b/static/CustomTarget_components.mk
similarity index 67%
rename from wasm/CustomTarget_components.mk
rename to static/CustomTarget_components.mk
index cb188166d894..384985426a2a 100644
--- a/wasm/CustomTarget_components.mk
+++ b/static/CustomTarget_components.mk
@@ -8,16 +8,16 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 #
 
-$(eval $(call gb_CustomTarget_CustomTarget,wasm/components))
+$(eval $(call gb_CustomTarget_CustomTarget,static/components))
 
-wasm_WORKDIR := $(call gb_CustomTarget_get_workdir,wasm)
+static_WORKDIR := $(call gb_CustomTarget_get_workdir,static)
 
-$(call gb_CustomTarget_get_target,wasm/components): \
-	$(wasm_WORKDIR)/component_maps.cxx
+$(call gb_CustomTarget_get_target,static/components): \
+	$(static_WORKDIR)/component_maps.cxx
 
-$(wasm_WORKDIR)/component_maps.cxx: \
+$(static_WORKDIR)/component_maps.cxx: \
 	    $(SRCDIR)/solenv/bin/native-code.py \
-	    | $(wasm_WORKDIR)/.dir
+	    | $(static_WORKDIR)/.dir
 	$(call gb_Output_announce,$(subst $(BUILDDIR)/,,$@),$(true),GEN,2)
 	$(call gb_Helper_abbreviate_dirs,$(call gb_ExternalExecutable_get_command,python) $< -g core -g writer) > $@
 
diff --git a/wasm/Library_components.mk b/static/Library_components.mk
similarity index 72%
rename from wasm/Library_components.mk
rename to static/Library_components.mk
index 128a3c12c2df..d3e7a0d149c1 100644
--- a/wasm/Library_components.mk
+++ b/static/Library_components.mk
@@ -9,8 +9,14 @@
 
 $(eval $(call gb_Library_Library,components))
 
+$(eval $(call gb_Library_set_plugin_for,components,cppuhelper))
+
 $(eval $(call gb_Library_add_generated_exception_objects,components,\
-    CustomTarget/wasm/component_maps \
+    CustomTarget/static/component_maps \
+))
+
+$(eval $(call gb_Library_use_libraries,acc,\
+    $(gb_CPPU_ENV)_uno \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/wasm/Makefile b/static/Makefile
similarity index 100%
rename from wasm/Makefile
rename to static/Makefile
diff --git a/wasm/Module_wasm.mk b/static/Module_static.mk
similarity index 77%
rename from wasm/Module_wasm.mk
rename to static/Module_static.mk
index eff9d0d7d1e9..f8909994ab7b 100644
--- a/wasm/Module_wasm.mk
+++ b/static/Module_static.mk
@@ -6,11 +6,11 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-$(eval $(call gb_Module_Module,wasm))
+$(eval $(call gb_Module_Module,static))
 
-ifeq ($(OS),EMSCRIPTEN)
+ifeq ($(DISABLE_DYNLOADING),TRUE)
 
-$(eval $(call gb_Module_add_targets,wasm,\
+$(eval $(call gb_Module_add_targets,static,\
     CustomTarget_components \
     Library_components \
 ))
diff --git a/static/README b/static/README
new file mode 100644
index 000000000000..d1254dd22da3
--- /dev/null
+++ b/static/README
@@ -0,0 +1,2 @@
+Static components library, containing a map from all component names
+to their constructor function calls.
diff --git a/sw/CppunitTest_sw_apitests.mk b/sw/CppunitTest_sw_apitests.mk
index d65c058fc97c..4124c32be618 100644
--- a/sw/CppunitTest_sw_apitests.mk
+++ b/sw/CppunitTest_sw_apitests.mk
@@ -53,7 +53,7 @@ $(eval $(call gb_CppunitTest_use_libraries,sw_apitests, \
     ucbhelper \
     unotest \
     utl \
-    vbahelper \
+    $(call gb_Helper_optional,SCRIPTING,vbahelper) \
     vcl \
     xo \
 ))
diff --git a/sw/CppunitTest_sw_macros_test.mk b/sw/CppunitTest_sw_macros_test.mk
index 7f38c45180bb..bb675c609df3 100644
--- a/sw/CppunitTest_sw_macros_test.mk
+++ b/sw/CppunitTest_sw_macros_test.mk
@@ -48,7 +48,7 @@ $(eval $(call gb_CppunitTest_use_libraries,sw_macros_test, \
     ucbhelper \
 	unotest \
     utl \
-    vbahelper \
+    $(call gb_Helper_optional,SCRIPTING,vbahelper) \
     vcl \
     xo \
 ))
diff --git a/sw/CppunitTest_sw_uwriter.mk b/sw/CppunitTest_sw_uwriter.mk
index e6a490c5dff1..b0c36f396ba0 100644
--- a/sw/CppunitTest_sw_uwriter.mk
+++ b/sw/CppunitTest_sw_uwriter.mk
@@ -56,7 +56,7 @@ $(eval $(call gb_CppunitTest_use_libraries,sw_uwriter, \
     ucbhelper \
     unotest \
     utl \
-    vbahelper \
+    $(call gb_Helper_optional,SCRIPTING,vbahelper) \
     vcl \
 	xmlreader \
     xo \
diff --git a/unotest/source/cpp/bootstrapfixturebase.cxx b/unotest/source/cpp/bootstrapfixturebase.cxx
index 5c5b3bcc3a9c..348ecb796e85 100644
--- a/unotest/source/cpp/bootstrapfixturebase.cxx
+++ b/unotest/source/cpp/bootstrapfixturebase.cxx
@@ -8,10 +8,13 @@
  */
 
 #include <sal/config.h>
+#include <config_features.h>
 
 #include <unotest/bootstrapfixturebase.hxx>
 #include <comphelper/processfactory.hxx>
+#if HAVE_FEATURE_SCRIPTING
 #include <basic/sbstar.hxx>
+#endif
 
 using namespace ::com::sun::star;
 
@@ -30,6 +33,11 @@ void test::BootstrapFixtureBase::setUp()
     m_xSFactory.set(m_xFactory, uno::UNO_QUERY_THROW);
 }
 
-void test::BootstrapFixtureBase::tearDown() { StarBASIC::DetachAllDocBasicItems(); }
+void test::BootstrapFixtureBase::tearDown()
+{
+#if HAVE_FEATURE_SCRIPTING
+    StarBASIC::DetachAllDocBasicItems()
+#endif
+}
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/Executable_ui-previewer.mk b/vcl/Executable_ui-previewer.mk
index f853ce40864e..7b846a2d3c29 100644
--- a/vcl/Executable_ui-previewer.mk
+++ b/vcl/Executable_ui-previewer.mk
@@ -41,6 +41,7 @@ $(eval $(call gb_Executable_add_defs,ui-previewer,\
 ))
 
 ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS)))
+ifneq (,$(USING_X11))
 $(eval $(call gb_Executable_add_libs,ui-previewer,\
     -lm $(DLOPEN_LIBS) \
     -lX11 \
@@ -50,6 +51,7 @@ $(eval $(call gb_Executable_use_static_libraries,ui-previewer,\
     glxtest \
 ))
 endif
+endif
 
 $(eval $(call gb_Executable_add_default_nativeres,ui-previewer))
 
diff --git a/vcl/Executable_vcldemo.mk b/vcl/Executable_vcldemo.mk
index a9a8d195fdc9..7b8ecadab3cf 100644
--- a/vcl/Executable_vcldemo.mk
+++ b/vcl/Executable_vcldemo.mk
@@ -55,6 +55,7 @@ $(eval $(call gb_Executable_use_static_libraries,vcldemo,\
 ))
 
 ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS)))
+ifneq (,$(USING_X11))
 $(eval $(call gb_Executable_add_libs,vcldemo,\
 	-lm $(DLOPEN_LIBS) \
     -lX11 \
@@ -64,5 +65,6 @@ $(eval $(call gb_Executable_use_static_libraries,vcldemo,\
 	glxtest \
 ))
 endif
+endif
 
 # vim: set noet sw=4 ts=4:
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index 99fe1b2898d2..b9ec2a9f6c5c 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -580,7 +580,7 @@ vcl_headless_freetype_code=\
 
 ifeq ($(USING_X11),TRUE)
 $(eval $(call gb_Library_add_exception_objects,vcl,\
-    vcl/source/app/salplug \
+    $(if $(DISABLE_DYNLOADING),,vcl/source/app/salplug) \
     vcl/unx/generic/printer/jobdata \
     vcl/unx/generic/printer/ppdparser \
     vcl/unx/generic/window/screensaverinhibitor \
@@ -622,6 +622,12 @@ $(eval $(call gb_Library_use_externals,vcl,\
     fontconfig \
     freetype \
 ))
+else
+ifneq (,$(DISABLE_DYNLOADING))
+$(eval $(call gb_Library_add_exception_objects,vcl,\
+    vcl/wasm/salplug \
+))
+endif
 endif
 
 ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS)))
diff --git a/vcl/Library_vclplug_qt5.mk b/vcl/Library_vclplug_qt5.mk
index a91841ec32e4..cbf279ca179e 100644
--- a/vcl/Library_vclplug_qt5.mk
+++ b/vcl/Library_vclplug_qt5.mk
@@ -99,7 +99,6 @@ $(eval $(call gb_Library_add_exception_objects,vclplug_qt5,\
     vcl/qt5/Qt5MainWindow \
     vcl/qt5/Qt5Menu \
     vcl/qt5/Qt5Object \
-    vcl/qt5/Qt5OpenGLContext \
     vcl/qt5/Qt5Painter \
     vcl/qt5/Qt5Printer \
     vcl/qt5/Qt5SvpGraphics \
diff --git a/vcl/Module_vcl.mk b/vcl/Module_vcl.mk
index f01de5e0a89c..2e2034d131f9 100644
--- a/vcl/Module_vcl.mk
+++ b/vcl/Module_vcl.mk
@@ -32,19 +32,9 @@ $(eval $(call gb_Module_add_targets,vcl,\
     $(if $(filter DESKTOP,$(BUILD_TYPE))$(filter EMSCRIPTEN,$(OS)), \
         StaticLibrary_vclmain \
         $(if $(ENABLE_MACOSX_SANDBOX),, \
-            $(if $(DISABLE_GUI),, \
-                Executable_ui-previewer)) \
+                Executable_ui-previewer) \
         $(if $(filter EMSCRIPTEN LINUX MACOSX SOLARIS WNT %BSD,$(OS)), \
-            $(if $(DISABLE_GUI),, \
-                Executable_vcldemo ))) \
-))
-
-$(eval $(call gb_Module_add_targets,vcl,\
-    $(if $(filter-out EMSCRIPTEN ANDROID iOS WNT,$(OS)), \
-        Executable_svdemo \
-        Executable_fftester \
-        Executable_svptest \
-        Executable_svpclient) \
+                Executable_vcldemo )) \
 ))
 
 $(eval $(call gb_Module_add_l10n_targets,vcl,\
diff --git a/vcl/qt5/Qt5Instance.cxx b/vcl/qt5/Qt5Instance.cxx
index 226dac3730d2..ee68565a3bb1 100644
--- a/vcl/qt5/Qt5Instance.cxx
+++ b/vcl/qt5/Qt5Instance.cxx
@@ -432,7 +432,7 @@ OUString Qt5Instance::GetConnectionIdentifier() { return OUString(); }
 
 void Qt5Instance::AddToRecentDocumentList(const OUString&, const OUString&, const OUString&) {}
 
-OpenGLContext* Qt5Instance::CreateOpenGLContext() { return new Qt5OpenGLContext; }
+OpenGLContext* Qt5Instance::CreateOpenGLContext() { return nullptr; }
 
 bool Qt5Instance::IsMainThread() const
 {
diff --git a/wasm/README b/wasm/README
deleted file mode 100644
index a23bd6a45ea9..000000000000
--- a/wasm/README
+++ /dev/null
@@ -1 +0,0 @@
-See /README.wasm
diff --git a/xmlsecurity/Library_xmlsecurity.mk b/xmlsecurity/Library_xmlsecurity.mk
index 31992a969b23..1e974297f43e 100644
--- a/xmlsecurity/Library_xmlsecurity.mk
+++ b/xmlsecurity/Library_xmlsecurity.mk
@@ -91,7 +91,7 @@ $(eval $(call gb_Library_use_system_win32_libs,xmlsecurity,\
 ))
 else
 ifneq (,$(filter DESKTOP,$(BUILD_TYPE))$(filter ANDROID,$(OS)))
-ifneq ($(OS),EMSCRIPTEN)
+ifeq (TRUE,$(ENABLE_NSS))
 $(eval $(call gb_Library_add_defs,xmlsecurity,\
     -DXMLSEC_CRYPTO_NSS \
 ))
commit ac55f536a37334df1717e0f22cca97c1cc8c8dfa
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Fri Feb 26 14:42:02 2021 +0100
Commit:     Thorsten Behrens <thorsten.behrens at allotropia.de>
CommitDate: Fri Apr 16 15:31:52 2021 +0200

    catchall
    
    Change-Id: If3eadcc396ab500f1a08a334a957ee0494aef033

diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index 25a314e9785a..64068ffc0e49 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -107,12 +107,10 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	$(call gb_Helper_optional,DESKTOP,setup_native) \
 	sfx2 \
 	shell \
-	slideshow \
 	smoketest \
 	solenv \
 	soltools \
 	sot \
-	starmath \
 	stoc \
 	store \
 	svl \
@@ -143,6 +141,7 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	vbahelper \
 	vcl \
 	wasm \
+	wasm-qt \
 	winaccessibility \
 	wizards \
 	writerfilter \
@@ -177,11 +176,10 @@ endef
 # the default goal is build (see Module.mk)
 ifeq (,$(filter-out build check unitcheck slowcheck screenshot subsequentcheck uicheck,$(MAKECMDGOALS)))
 $(eval $(call repositorymodule_serialize,\
-	scfilt \
 	$(call gb_Helper_optional,SCRIPTING,vbaobj) \
-	sc msword \
+	msword \
 	$(call gb_Helper_optional,DESKTOP,swui) \
-	sw sd \
+	sw \
 	$(call gb_Helper_optional,DBCONNECTIVITY,dbu) \
 	writerfilter cui chartcontroller chartcore oox \
 	$(if $(MERGELIBS), merged, \
diff --git a/configure.ac b/configure.ac
index 54e6544f2423..fd68c0b8985c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1506,7 +1506,8 @@ libo_FUZZ_ARG_ENABLE(optimized,
         [Whether to compile with optimization flags.
          By default, disabled for --enable-debug and --enable-dbgutil, enabled
          otherwise. Using 'debug' will try to use only optimizations that should
-         not interfere with debugging.]))
+         not interfere with debugging. For Emscripten we default to optimized (-O1)
+         debug build, as otherwise biaries become too large.]))
 
 libo_FUZZ_ARG_ENABLE(runtime-optimizations,
     AS_HELP_STRING([--disable-runtime-optimizations],
@@ -4369,6 +4370,10 @@ if test -n "$ENABLE_DBGUTIL" -o \( -n "$enable_debug" -a "$enable_debug" != "no"
     else
         AC_MSG_RESULT([yes])
     fi
+    if test "$_os" = "Emscripten" -a -z "$enable_optimized"; then
+        # Otherwise binaries simply become too large (linker OOM + browser fails to load)
+        enable_optimized=debug
+    fi
 else
     ENABLE_DEBUG=""
     AC_MSG_RESULT([no])
@@ -4646,7 +4651,7 @@ elif test "$enable_optimized" = debug; then
     ENABLE_OPTIMIZED_DEBUG=TRUE
     AC_MSG_RESULT([yes (debug)])
     HAVE_GCC_OG=
-    if test "$GCC" = "yes"; then
+    if test "$GCC" = "yes" -a "$_os" != "Emscripten"; then
         AC_MSG_CHECKING([whether $CC_BASE supports -Og])
         save_CFLAGS=$CFLAGS
         CFLAGS="$CFLAGS -Werror -Og"
@@ -4658,7 +4663,7 @@ elif test "$enable_optimized" = debug; then
             AC_MSG_RESULT([no])
         fi
     fi
-    if test -z "$HAVE_GCC_OG"; then
+    if test -z "$HAVE_GCC_OG" -a "$_os" != "Emscripten"; then
         AC_MSG_ERROR([The compiler does not support optimizations suitable for debugging.])
     fi
 else
diff --git a/postprocess/Rdb_services.mk b/postprocess/Rdb_services.mk
index 2abee72f6d09..a2ea54397951 100644
--- a/postprocess/Rdb_services.mk
+++ b/postprocess/Rdb_services.mk
@@ -101,20 +101,6 @@ $(eval $(call gb_Rdb_add_components,services,\
 	    lotuswordpro/util/lwpfilter \
 	) \
 	oox/util/oox \
-	sc/util/sc \
-	sc/util/scd \
-	sc/util/scfilt \
-	scaddins/source/analysis/analysis \
-	scaddins/source/datefunc/date \
-	scaddins/source/pricing/pricing \
-	sd/util/sd \
-	sd/util/sdd \
-	sd/util/sdfilt \
-	sdext/source/presenter/presenter \
-	sdext/source/minimizer/minimizer \
-	slideshow/util/slideshow \
-	starmath/util/sm \
-	starmath/util/smd \
 	svx/util/svx \
 	svx/util/textconversiondlgs \
 	sw/util/msword \
@@ -144,7 +130,6 @@ $(eval $(call gb_Rdb_add_components,services,\
 	$(if $(ENABLE_LPSOLVE), \
 		sccomp/source/solver/lpsolvesolver \
 	) \
-	sccomp/source/solver/swarmsolver \
 	writerfilter/util/writerfilter \
 	writerperfect/source/draw/wpftdraw \
 	writerperfect/source/impress/wpftimpress \
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 404b394d4e0c..f71525c835de 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -45,10 +45,9 @@ gb_LinkTarget__symbols_enabled = \
 
 # debug flags, if the LinkTarget is named in the list of libraries of ENABLE_SYMBOLS_FOR
 gb_LinkTarget__get_debugflags= \
-$(if $(ENABLE_OPTIMIZED),$(gb_COMPILEROPTFLAGS), \
-$(if $(ENABLE_OPTIMIZED_DEBUG),$(gb_COMPILERDEBUGOPTFLAGS), \
-$(gb_COMPILERNOOPTFLAGS))) \
-$(if $(call gb_LinkTarget__symbols_enabled,$(1)),$(gb_DEBUGINFO_FLAGS))
+    $(if $(ENABLE_OPTIMIZED),$(gb_COMPILEROPTFLAGS), \
+        $(if $(ENABLE_OPTIMIZED_DEBUG),$(gb_COMPILERDEBUGOPTFLAGS),$(gb_COMPILERNOOPTFLAGS))) \
+    $(if $(call gb_LinkTarget__symbols_enabled,$(1)),$(gb_DEBUGINFO_FLAGS))
 
 # T_LDFLAGS is just expanded once. Override the flags here, so that the linker and compiler use the same.
 ifeq (EMSCRIPTEN,$(OS))
diff --git a/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk b/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk
index d9a348a42910..3131bbec0959 100644
--- a/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk
+++ b/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk
@@ -29,6 +29,10 @@ gb_LINKEROPTFLAGS :=
 gb_LINKERSTRIPDEBUGFLAGS :=
 # This maps to g4, AKA sorce maps. The LO default would otherwise be g2!
 gb_DEBUGINFO_FLAGS = -g
+# We need at least code elimination, otherwise linking OOMs even with 64GB.
+# So we "fake" -Og support to mean -O1 for Emscripten and always enable it for debug in configure.
+gb_COMPILERDEBUGOPTFLAGS := -O1
+gb_COMPILERNOOPTFLAGS := -O1 -fstrict-aliasing -fstrict-overflow
 
 # cleanup addition JS and wasm files for binaries
 define gb_Executable_Executable_platform
diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk
index d56b642382d2..515a2b37c9d4 100644
--- a/solenv/gbuild/platform/unxgcc.mk
+++ b/solenv/gbuild/platform/unxgcc.mk
@@ -158,7 +158,7 @@ $(call gb_Helper_abbreviate_dirs,\
 			$(WORKDIR)/LinkTarget/$(2).exports,$(1))))
 	$(if $(and $(filter CppunitTest Executable,$(TARGETTYPE)),$(filter EMSCRIPTEN,$(OS)),$(filter TRUE,$(ENABLE_QT5))), \
 		cp $(QT5_PLATFORMS_SRCDIR)/qtlogo.svg $(QT5_PLATFORMS_SRCDIR)/qtloader.js $(dir $(1)) ; \
-		sed -e 's/@APPNAME@/$(subst $(gb_Executable_EXT),,$(notdir $(1)))/' $(QT5_PLATFORMS_SRCDIR)/wasm_shell.html > $(1))
+		sed -e 's/@APPNAME@/$(subst $(gb_Executable_EXT),,$(notdir $(1)))/' $(QT5_PLATFORMS_SRCDIR)/wasm_shell.html > $(dir $(1))qt_$(notdir $(1)))
 endef
 
 define gb_LinkTarget__command_staticlink
diff --git a/solenv/gbuild/static.mk b/solenv/gbuild/static.mk
index da16724520d2..7928a699d42f 100644
--- a/solenv/gbuild/static.mk
+++ b/solenv/gbuild/static.mk
@@ -232,7 +232,7 @@ $$(if $$(filter-out GBUILD_TOUCHED,$$(call gb_$(2)__get_all_externals,$(3))), \
 	$$(eval $$(call gb_$(2)_use_externals,$(3),$$(filter-out GBUILD_TOUCHED,$$(call gb_$(2)__get_all_externals,$(3)))))) \
 $$(if $$(filter icui28n icuuc,$$(call gb_$(2)__get_all_externals,$(3))), \
 	$$(eval $$(call gb_$(2)_use_externals,$(3),icudata))) \
-$$(if $$(and $$(filter EMSCRIPTEN,$$(OS)),$$(call gb_$(2)__has_any_dependencies,$(3))), \
+$$(if $$(and $$(filter EMSCRIPTEN,$$(OS)),$$(call gb_$(2)__has_any_dependencies,$(3)),), \
 	$$(if $$(gb_$(2)__LAST_KNOWN), \
 		$$(if $$(gb_DEBUG_STATIC),$$(info $$(call gb_$(2)_get_linktargetfile,$(3)) => $$(call gb_$(2)_get_linktargetfile,$$(gb_$(2)__LAST_KNOWN)))) \
 		$$(eval $$(call gb_$(2)_get_linktargetfile,$(3)) : $$(call gb_$(2)_get_linktargetfile,$$(gb_$(2)__LAST_KNOWN)))) \
diff --git a/vcl/Module_vcl.mk b/vcl/Module_vcl.mk
index 3cf84ac21210..f01de5e0a89c 100644
--- a/vcl/Module_vcl.mk
+++ b/vcl/Module_vcl.mk
@@ -31,6 +31,9 @@ $(eval $(call gb_Module_add_targets,vcl,\
         Package_skia_denylist ) \
     $(if $(filter DESKTOP,$(BUILD_TYPE))$(filter EMSCRIPTEN,$(OS)), \
         StaticLibrary_vclmain \
+        $(if $(ENABLE_MACOSX_SANDBOX),, \
+            $(if $(DISABLE_GUI),, \
+                Executable_ui-previewer)) \
         $(if $(filter EMSCRIPTEN LINUX MACOSX SOLARIS WNT %BSD,$(OS)), \
             $(if $(DISABLE_GUI),, \
                 Executable_vcldemo ))) \
diff --git a/wasm/CustomTarget_wasm-qt5-mandelbrot_moc.mk b/wasm-qt/CustomTarget_wasm-qt5-mandelbrot_moc.mk
similarity index 71%
rename from wasm/CustomTarget_wasm-qt5-mandelbrot_moc.mk
rename to wasm-qt/CustomTarget_wasm-qt5-mandelbrot_moc.mk
index 52b7447d22e9..6267db3f5b8d 100644
--- a/wasm/CustomTarget_wasm-qt5-mandelbrot_moc.mk
+++ b/wasm-qt/CustomTarget_wasm-qt5-mandelbrot_moc.mk
@@ -7,15 +7,15 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 #
 
-$(eval $(call gb_CustomTarget_CustomTarget,wasm/qt5-mandelbrot))
+$(eval $(call gb_CustomTarget_CustomTarget,wasm-qt/qt5-mandelbrot))
 
-$(call gb_CustomTarget_get_target,wasm/qt5-mandelbrot) : \
-	$(call gb_CustomTarget_get_workdir,wasm/qt5-mandelbrot)/renderthread.moc \
-	$(call gb_CustomTarget_get_workdir,wasm/qt5-mandelbrot)/mandelbrotwidget.moc \
+$(call gb_CustomTarget_get_target,wasm-qt/qt5-mandelbrot) : \
+	$(call gb_CustomTarget_get_workdir,wasm-qt/qt5-mandelbrot)/renderthread.moc \
+	$(call gb_CustomTarget_get_workdir,wasm-qt/qt5-mandelbrot)/mandelbrotwidget.moc \
 
-qt5_mandelbrot_MOCDEFS_H := $(call gb_CustomTarget_get_workdir,wasm/qt5-mandelbrot)/moc_predefs.h
-qt5_mandelbrot_MOCDEFS_CXX := $(call gb_CustomTarget_get_workdir,wasm/qt5-mandelbrot)/moc_dummy.cxx
-qt5_mandelbrot_WORKDIR :=  $(call gb_CustomTarget_get_workdir,wasm/qt5-mandelbrot)/.dir
+qt5_mandelbrot_MOCDEFS_H := $(call gb_CustomTarget_get_workdir,wasm-qt/qt5-mandelbrot)/moc_predefs.h
+qt5_mandelbrot_MOCDEFS_CXX := $(call gb_CustomTarget_get_workdir,wasm-qt/qt5-mandelbrot)/moc_dummy.cxx
+qt5_mandelbrot_WORKDIR :=  $(call gb_CustomTarget_get_workdir,wasm-qt/qt5-mandelbrot)/.dir
 
 $(qt5_mandelbrot_MOCDEFS_CXX): | $(qt5_mandelbrot_WORKDIR)
 	touch $@
@@ -26,8 +26,8 @@ $(qt5_mandelbrot_MOCDEFS_H): $(qt5_mandelbrot_MOCDEFS_CXX) | $(qt5_mandelbrot_WO
 	$(CXX) -pipe -O2 -std=gnu++11 -fno-exceptions $(gb_EMSCRIPTEN_CPPFLAGS) -dM -E -o $@ $<
 	$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),MOC)
 
-$(call gb_CustomTarget_get_workdir,wasm/qt5-mandelbrot)/%.moc : \
-		$(SRCDIR)/wasm/source/qt5-mandelbrot/%.h \
+$(call gb_CustomTarget_get_workdir,wasm-qt/qt5-mandelbrot)/%.moc : \
+		$(SRCDIR)/wasm-qt/source/qt5-mandelbrot/%.h \
 		$(qt5_mandelbrot_MOCDEFS_H) | $(qt5_mandelbrot_WORKDIR)
 	$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),MOC,1)
 	$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),MOC)
diff --git a/wasm/Executable_wasm-qt5-mandelbrot.mk b/wasm-qt/Executable_wasm-qt5-mandelbrot.mk
similarity index 81%
rename from wasm/Executable_wasm-qt5-mandelbrot.mk
rename to wasm-qt/Executable_wasm-qt5-mandelbrot.mk
index 7afaa81c0dc4..040fad441219 100644
--- a/wasm/Executable_wasm-qt5-mandelbrot.mk
+++ b/wasm-qt/Executable_wasm-qt5-mandelbrot.mk
@@ -9,7 +9,7 @@
 
 $(eval $(call gb_Executable_Executable,wasm-qt5-mandelbrot))
 
-$(eval $(call gb_Executable_use_custom_headers,wasm-qt5-mandelbrot,wasm/qt5-mandelbrot))
+$(eval $(call gb_Executable_use_custom_headers,wasm-qt5-mandelbrot,wasm-qt/qt5-mandelbrot))
 
 $(eval $(call gb_Executable_use_externals,wasm-qt5-mandelbrot,\
     graphite \
@@ -20,9 +20,9 @@ $(eval $(call gb_Executable_use_externals,wasm-qt5-mandelbrot,\
 ))
 
 $(eval $(call gb_Executable_add_exception_objects,wasm-qt5-mandelbrot,\
-    wasm/source/qt5-mandelbrot/main \
-    wasm/source/qt5-mandelbrot/mandelbrotwidget \
-    wasm/source/qt5-mandelbrot/renderthread \
+    wasm-qt/source/qt5-mandelbrot/main \
+    wasm-qt/source/qt5-mandelbrot/mandelbrotwidget \
+    wasm-qt/source/qt5-mandelbrot/renderthread \
 ))
 
 $(eval $(call gb_Executable_add_defs,wasm-qt5-mandelbrot,\
diff --git a/wasm-qt/Makefile b/wasm-qt/Makefile
new file mode 100644
index 000000000000..0c6f47b1790f
--- /dev/null
+++ b/wasm-qt/Makefile
@@ -0,0 +1,13 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+
+include $(module_directory)/../solenv/gbuild/partial_build.mk
+
+# vim: set noet sw=4 ts=4:
diff --git a/wasm-qt/Module_wasm-qt.mk b/wasm-qt/Module_wasm-qt.mk
new file mode 100644
index 000000000000..8e86df4e8baa
--- /dev/null
+++ b/wasm-qt/Module_wasm-qt.mk
@@ -0,0 +1,20 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+$(eval $(call gb_Module_Module,wasm-qt))
+
+ifeq ($(OS),EMSCRIPTEN)
+
+$(eval $(call gb_Module_add_targets,wasm-qt,\
+    CustomTarget_wasm-qt5-mandelbrot_moc \
+    Executable_wasm-qt5-mandelbrot \
+))
+
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/wasm-qt/README b/wasm-qt/README
new file mode 100644
index 000000000000..a23bd6a45ea9
--- /dev/null
+++ b/wasm-qt/README
@@ -0,0 +1 @@
+See /README.wasm
diff --git a/wasm/source/qt5-mandelbrot/main.cxx b/wasm-qt/source/qt5-mandelbrot/main.cxx
similarity index 100%
rename from wasm/source/qt5-mandelbrot/main.cxx
rename to wasm-qt/source/qt5-mandelbrot/main.cxx
diff --git a/wasm/source/qt5-mandelbrot/mandelbrotwidget.cxx b/wasm-qt/source/qt5-mandelbrot/mandelbrotwidget.cxx
similarity index 100%
rename from wasm/source/qt5-mandelbrot/mandelbrotwidget.cxx
rename to wasm-qt/source/qt5-mandelbrot/mandelbrotwidget.cxx
diff --git a/wasm/source/qt5-mandelbrot/mandelbrotwidget.h b/wasm-qt/source/qt5-mandelbrot/mandelbrotwidget.h
similarity index 100%
rename from wasm/source/qt5-mandelbrot/mandelbrotwidget.h
rename to wasm-qt/source/qt5-mandelbrot/mandelbrotwidget.h
diff --git a/wasm/source/qt5-mandelbrot/renderthread.cxx b/wasm-qt/source/qt5-mandelbrot/renderthread.cxx
similarity index 100%
rename from wasm/source/qt5-mandelbrot/renderthread.cxx
rename to wasm-qt/source/qt5-mandelbrot/renderthread.cxx
diff --git a/wasm/source/qt5-mandelbrot/renderthread.h b/wasm-qt/source/qt5-mandelbrot/renderthread.h
similarity index 100%
rename from wasm/source/qt5-mandelbrot/renderthread.h
rename to wasm-qt/source/qt5-mandelbrot/renderthread.h
diff --git a/wasm/Module_wasm.mk b/wasm/Module_wasm.mk
index d6f507a005df..eff9d0d7d1e9 100644
--- a/wasm/Module_wasm.mk
+++ b/wasm/Module_wasm.mk
@@ -11,8 +11,6 @@ $(eval $(call gb_Module_Module,wasm))
 ifeq ($(OS),EMSCRIPTEN)
 
 $(eval $(call gb_Module_add_targets,wasm,\
-    CustomTarget_wasm-qt5-mandelbrot_moc \
-    Executable_wasm-qt5-mandelbrot \
     CustomTarget_components \
     Library_components \
 ))
commit 7a6fc056909d308f240bbadf45fcebda09dd5245
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Fri Feb 12 14:01:45 2021 +0100
Commit:     Thorsten Behrens <thorsten.behrens at allotropia.de>
CommitDate: Fri Apr 16 15:31:51 2021 +0200

    Strip some stuff from build
    
    Change-Id: I8c2351a03ad65f4b82ee3fd2b4d64d6cf42d4592

diff --git a/README.wasm b/README.wasm
index 2dbe16010c8d..b27c863b99f3 100644
--- a/README.wasm
+++ b/README.wasm
@@ -135,6 +135,8 @@ conventions in WASM_EmscriptenInvoke. I didn't get a reply to that question for
 hours. Maybe I'll open an Emscripten issue, if we really have to implement
 this.
 
+WASM dynamic dispatch: https://fitzgeraldnick.com/2018/04/26/how-does-dynamic-dispatch-work-in-wasm.html
+
 
 = Workaround for eventual clang WASM compiler bug =
 
@@ -160,6 +162,26 @@ from "Jul 23 2018" which pre-dates the emscripten tag 1.39.8 from 02/14/2020 by
   If you get linking errors that archive has no index.
 
 
+= Emscripten filesystem access with threads =
+
+This is closed, but not really fixed IMHO: https://github.com/emscripten-core/emscripten/issues/3922
+
+
+= Dynamic libraries / modules in emscripten =
+
+There is a good summary in https://bugreports.qt.io/browse/QTBUG-63925
+
+Summary: you can't use modules and threads.
+
+This is mentioned at the end of: https://github.com/emscripten-core/emscripten/wiki/Linking
+The usage of MAIN_MODULE and SIDE_MODULE has other problems, a major one IMHO is symbol resolution at runtime only.
+So this works really more like plugins in the sense of symbol resolution without dependencies / rpath.
+
+There is some clang-level dynamic-linking in progress (WASM dlload). The follwing link is already a bit old,
+but I found it a god summary of problems to expect:
+https://iandouglasscott.com/2019/07/18/experimenting-with-webassembly-dynamic-linking-with-clang/
+
+
 = Mixed information, links, problems, TODO =
 
 More info on Qt WASM emscripten pthreads: https://wiki.qt.io/Qt_for_WebAssembly#Multithreading_Support
@@ -210,8 +232,6 @@ This will be interesting: https://emscripten.org/docs/getting_started/FAQ.html#h
 This didn't help much yet: https://github.com/emscripten-ports
 
 Emscripten supports standalone WASI binaries: https://github.com/emscripten-core/emscripten/wiki/WebAssembly-Standalone
-WASM dynamic dispatch: https://fitzgeraldnick.com/2018/04/26/how-does-dynamic-dispatch-work-in-wasm.html
-WASM dlload: https://iandouglasscott.com/2019/07/18/experimenting-with-webassembly-dynamic-linking-with-clang/
 
 https://www.qt.io/qt-examples-for-webassembly
 http://qtandeverything.blogspot.com/2017/06/qt-for-web-assembly.html
diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index 20fdf05bc117..25a314e9785a 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -26,7 +26,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	animations \
 	apple_remote \
 	$(call gb_Helper_optional,AVMEDIA,avmedia) \
-	basctl \
 	basegfx \
 	basic \
 	bean \
@@ -103,13 +102,8 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
 	sal \
 	salhelper \
 	sax \
-	sc \
-	scaddins \
-	sccomp \
 	$(call gb_Helper_optional,DESKTOP,scp2) \
 	scripting \
-	sd \
-	sdext \
 	$(call gb_Helper_optional,DESKTOP,setup_native) \
 	sfx2 \
 	shell \
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index eab38bd528a4..404b394d4e0c 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -1609,7 +1609,7 @@ $(2) : $(call gb_LinkTarget_get_target,$(1))
 		touch -r $$< $$@; \
 	else \
 		rm -f $$<; \
-		echo "ERROR: aux-target missing, library deleted, please try running make again"; \
+		echo "ERROR: aux-target $$@ missing, library deleted, please try running make again"; \
 		false; \
 	fi
 
commit 235fda810fce9997a27b51ba8795d360c14928e3
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Fri Feb 5 14:21:43 2021 +0100
Commit:     Thorsten Behrens <thorsten.behrens at allotropia.de>
CommitDate: Fri Apr 16 15:31:51 2021 +0200

    catchall
    
    Change-Id: I2b10b0c78e81ac9332a0665037dbdaddec395bc4

diff --git a/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk b/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk
index 0831846c3392..d9a348a42910 100644
--- a/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk
+++ b/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk
@@ -27,10 +27,9 @@ gb_LinkTarget_LDFLAGS += $(gb_EMSCRIPTEN_LDFLAGS) $(gb_EMSCRIPTEN_CPPFLAGS) $(gb
 # Linker and compiler optimize + debug flags are handled in LinkTarget.mk
 gb_LINKEROPTFLAGS :=
 gb_LINKERSTRIPDEBUGFLAGS :=
+# This maps to g4, AKA sorce maps. The LO default would otherwise be g2!
 gb_DEBUGINFO_FLAGS = -g
 
-gb_SUPPRESS_TESTS := $(true)
-
 # cleanup addition JS and wasm files for binaries
 define gb_Executable_Executable_platform
 $(call gb_LinkTarget_add_auxtargets,$(2),\
@@ -50,6 +49,8 @@ $(call gb_LinkTarget_add_auxtargets,$(2),\
 
 endef
 
+gb_SUPPRESS_TESTS := $(true)
+
 define gb_Library_get_rpath
 endef
 
diff --git a/vcl/Module_vcl.mk b/vcl/Module_vcl.mk
index fc38ed5b481a..3cf84ac21210 100644
--- a/vcl/Module_vcl.mk
+++ b/vcl/Module_vcl.mk
@@ -31,19 +31,13 @@ $(eval $(call gb_Module_add_targets,vcl,\
         Package_skia_denylist ) \
     $(if $(filter DESKTOP,$(BUILD_TYPE))$(filter EMSCRIPTEN,$(OS)), \
         StaticLibrary_vclmain \
-        $(if $(ENABLE_MACOSX_SANDBOX),, \
-            $(if $(DISABLE_GUI),, \
-                Executable_ui-previewer)) \
         $(if $(filter EMSCRIPTEN LINUX MACOSX SOLARIS WNT %BSD,$(OS)), \
             $(if $(DISABLE_GUI),, \
-                Executable_vcldemo \
-                Executable_icontest \
-                Executable_visualbackendtest \
-                Executable_mtfdemo ))) \
+                Executable_vcldemo ))) \
 ))
 
 $(eval $(call gb_Module_add_targets,vcl,\
-    $(if $(filter-out ANDROID iOS WNT,$(OS)), \
+    $(if $(filter-out EMSCRIPTEN ANDROID iOS WNT,$(OS)), \
         Executable_svdemo \
         Executable_fftester \
         Executable_svptest \
commit 713f3e1c51419afc598889d3dec78d4741c23181
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Tue Jan 26 14:47:11 2021 +0100
Commit:     Thorsten Behrens <thorsten.behrens at allotropia.de>
CommitDate: Fri Apr 16 15:31:51 2021 +0200

    catchall
    
    Change-Id: I94dbe94eed80bfb82a404db83249572caed7f715

diff --git a/configure.ac b/configure.ac
index 9fc394455bf5..54e6544f2423 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4232,7 +4232,7 @@ fi
 # ===================================================================
 
 HAVE_GCC_GGDB2=
-if test "$GCC" = "yes"; then
+if test "$GCC" = "yes" -a "$_os" != "Emscripten"; then
     AC_MSG_CHECKING([whether $CC_BASE supports -ggdb2])
     save_CFLAGS=$CFLAGS
     CFLAGS="$CFLAGS -Werror -ggdb2"
diff --git a/external/hunspell/ExternalProject_hunspell.mk b/external/hunspell/ExternalProject_hunspell.mk
index 09a0680367fb..91fd5c431ef8 100644
--- a/external/hunspell/ExternalProject_hunspell.mk
+++ b/external/hunspell/ExternalProject_hunspell.mk
@@ -28,7 +28,7 @@ $(call gb_ExternalProject_get_state_target,hunspell,build):
 			$(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM))\
 			$(if $(filter AIX,$(OS)),CFLAGS="-D_LINUX_SOURCE_COMPAT") \
 			$(if $(hunspell_CPPFLAGS),CPPFLAGS='$(hunspell_CPPFLAGS)') \
-			CXXFLAGS="$(CXXFLAGS) $(if $(ENABLE_OPTIMIZED),$(gb_COMPILEROPTFLAGS),$(gb_COMPILERNOOPTFLAGS)) $(if $(debug),$(gb_DEBUGINFO_FLAGS))" \
+			CXXFLAGS="$(CXXFLAGS) $(gb_EMSCRIPTEN_CPPFLAGS) $(if $(ENABLE_OPTIMIZED),$(gb_COMPILEROPTFLAGS),$(gb_COMPILERNOOPTFLAGS)) $(if $(debug),$(gb_DEBUGINFO_FLAGS))" \
 		&& cd src/hunspell && $(MAKE) \
 	)
 	$(call gb_Trace_EndRange,hunspell,EXTERNAL)
diff --git a/sc/source/core/tool/math.cxx b/sc/source/core/tool/math.cxx
index a077d5c3521a..3c496f83833c 100644
--- a/sc/source/core/tool/math.cxx
+++ b/sc/source/core/tool/math.cxx
@@ -53,8 +53,13 @@ double power(const double& fVal1, const double& fVal2)
     }
     // The pow() call must had been the most recent call to check errno or exception.
     if ((((math_errhandling & MATH_ERRNO) != 0) && (errno == EDOM || errno == ERANGE))
+// emscripten is currently broken by https://github.com/emscripten-core/emscripten/pull/11087
+// While the removal is correct for C99, it's not for C++11 (see http://www.cplusplus.com/reference/cfenv/FE_INEXACT/)
+// But since emscripten currently doesn't support any math exceptions, we simply ignore them
+#ifndef __EMSCRIPTEN__
         || (((math_errhandling & MATH_ERREXCEPT) != 0)
             && std::fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW))
+#endif
         || !std::isfinite(fPow))
     {
         fPow = CreateDoubleError(FormulaError::IllegalFPOperation);
diff --git a/solenv/gbuild/Executable.mk b/solenv/gbuild/Executable.mk
index 66b44e156904..72378956794e 100644
--- a/solenv/gbuild/Executable.mk
+++ b/solenv/gbuild/Executable.mk
@@ -47,8 +47,7 @@ $(call gb_Executable_get_runtime_target,%) :
 $(call gb_Executable_get_clean_target,%) :
 	$(call gb_Helper_abbreviate_dirs,\
 		rm -f $(call gb_Executable_get_target,$*) \
-			$(call gb_Executable_get_runtime_target,$*) \
-			$(AUXTARGETS))
+			$(call gb_Executable_get_runtime_target,$*))
 
 gb_Executable__get_dir_for_layer = $(patsubst $(1):%,%,$(filter $(1):%,$(call gb_Executable_LAYER_DIRS)))
 gb_Executable__get_dir_for_layer_for_build = $(patsubst $(1):%,%,$(filter $(1):%,$(call gb_Executable_LAYER_DIRS_FOR_BUILD)))
@@ -73,7 +72,6 @@ $(call gb_LinkTarget_add_libs,$(2),$(gb_STDLIBS))
 $(call gb_Executable_get_runtime_target,$(1)) :| $(dir $(call gb_Executable_get_runtime_target,$(1))).dir
 $(call gb_Executable_get_runtime_target,$(1)) : $(call gb_Executable_get_target_for_build,$(1))
 $(call gb_Executable_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2))
-$(call gb_Executable_get_clean_target,$(1)) : AUXTARGETS :=
 $(call gb_Executable_Executable_platform,$(1),$(2),$(gb_Executable_BINDIR)/$(1).lib)
 
 $$(eval $$(call gb_Module_register_target,$(call gb_Executable_get_target,$(1)),$(call gb_Executable_get_clean_target,$(1))))
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index df5bb9a39834..eab38bd528a4 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -50,11 +50,16 @@ $(if $(ENABLE_OPTIMIZED_DEBUG),$(gb_COMPILERDEBUGOPTFLAGS), \
 $(gb_COMPILERNOOPTFLAGS))) \
 $(if $(call gb_LinkTarget__symbols_enabled,$(1)),$(gb_DEBUGINFO_FLAGS))
 
+# T_LDFLAGS is just expanded once. Override the flags here, so that the linker and compiler use the same.
+ifeq (EMSCRIPTEN,$(OS))
+gb_LinkTarget__get_debugldflags=$(call gb_LinkTarget__get_debugflags,$1)
+else
 # similar for LDFLAGS, use linker optimization flags in non-debug case,
 # but moreover strip debug from libraries for which debuginfo is not wanted
 # (some libraries reuse .o files from other libraries, notably unittests)
 gb_LinkTarget__get_stripldflags=$(if $(strip $(CFLAGS)$(CXXFLAGS)$(OBJCFLAGS)$(OBJCXXFLAGS)$(LDFLAGS)),,$(gb_LINKERSTRIPDEBUGFLAGS))
 gb_LinkTarget__get_debugldflags=$(if $(call gb_LinkTarget__symbols_enabled,$(1)),$(gb_LINKER_DEBUGINFO_FLAGS),$(gb_LINKEROPTFLAGS) $(call gb_LinkTarget__get_stripldflags,$(1)))
+endif
 
 # generic cflags/cxxflags to use (optimization flags, debug flags)
 # user supplied CFLAGS/CXXFLAGS override default debug/optimization flags
diff --git a/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk b/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk
index 8642c4469afe..0831846c3392 100644
--- a/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk
+++ b/solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk
@@ -22,19 +22,33 @@ gb_EMSCRIPTEN_EXCEPT := -s DISABLE_EXCEPTION_CATCHING=0
 
 gb_LinkTarget_CFLAGS += $(gb_EMSCRIPTEN_CPPFLAGS) $(gb_EMSCRIPTEN_QTDEFS)
 gb_LinkTarget_CXXFLAGS += $(gb_EMSCRIPTEN_CPPFLAGS) $(gb_EMSCRIPTEN_QTDEFS) $(gb_EMSCRIPTEN_EXCEPT)
+gb_LinkTarget_LDFLAGS += $(gb_EMSCRIPTEN_LDFLAGS) $(gb_EMSCRIPTEN_CPPFLAGS) $(gb_EMSCRIPTEN_EXCEPT)
 
-# WASM is also optimized at link time, but ignores linker flags, so wants $(gb_COMPILEROPTFLAGS)
-#gb_LINKEROPTFLAGS :=
+# Linker and compiler optimize + debug flags are handled in LinkTarget.mk
+gb_LINKEROPTFLAGS :=
 gb_LINKERSTRIPDEBUGFLAGS :=
+gb_DEBUGINFO_FLAGS = -g
 
-gb_LinkTarget_LDFLAGS += $(gb_EMSCRIPTEN_LDFLAGS) $(gb_EMSCRIPTEN_CPPFLAGS) $(gb_EMSCRIPTEN_EXCEPT)
-gb_LinkTarget_LDFLAGS += $(if $(ENABLE_OPTIMIZED),$(gb_COMPILEROPTFLAGS), \
-    $(if $(ENABLE_OPTIMIZED_DEBUG),$(gb_COMPILERDEBUGOPTFLAGS),$(gb_COMPILERNOOPTFLAGS)))
+gb_SUPPRESS_TESTS := $(true)
 
-#gb_COMPILEROPTFLAGS := -O0 -g
-#gb_LinkTarget_LDFLAGS += $(gb_EMSCRIPTEN_LDFLAGS) $(gb_EMSCRIPTEN_CPPFLAGS) $(gb_EMSCRIPTEN_EXCEPT) $(gb_COMPILEROPTFLAGS)
+# cleanup addition JS and wasm files for binaries
+define gb_Executable_Executable_platform
+$(call gb_LinkTarget_add_auxtargets,$(2),\
+        $(patsubst %.lib,%.wasm,$(3)) \
+        $(patsubst %.lib,%.js,$(3)) \
+        $(patsubst %.lib,%.worker.js,$(3)) \
+)
 
-gb_SUPPRESS_TESTS := $(true)
+endef
+
+define gb_CppunitTest_CppunitTest_platform
+$(call gb_LinkTarget_add_auxtargets,$(2),\
+        $(patsubst %.lib,%.wasm,$(3)) \
+        $(patsubst %.lib,%.js,$(3)) \
+        $(patsubst %.lib,%.worker.js,$(3)) \
+)
+
+endef
 
 define gb_Library_get_rpath
 endef
diff --git a/vcl/Module_vcl.mk b/vcl/Module_vcl.mk
index 3cf84ac21210..fc38ed5b481a 100644
--- a/vcl/Module_vcl.mk
+++ b/vcl/Module_vcl.mk
@@ -31,13 +31,19 @@ $(eval $(call gb_Module_add_targets,vcl,\
         Package_skia_denylist ) \
     $(if $(filter DESKTOP,$(BUILD_TYPE))$(filter EMSCRIPTEN,$(OS)), \
         StaticLibrary_vclmain \
+        $(if $(ENABLE_MACOSX_SANDBOX),, \
+            $(if $(DISABLE_GUI),, \
+                Executable_ui-previewer)) \
         $(if $(filter EMSCRIPTEN LINUX MACOSX SOLARIS WNT %BSD,$(OS)), \
             $(if $(DISABLE_GUI),, \
-                Executable_vcldemo ))) \
+                Executable_vcldemo \
+                Executable_icontest \
+                Executable_visualbackendtest \
+                Executable_mtfdemo ))) \
 ))
 
 $(eval $(call gb_Module_add_targets,vcl,\
-    $(if $(filter-out EMSCRIPTEN ANDROID iOS WNT,$(OS)), \
+    $(if $(filter-out ANDROID iOS WNT,$(OS)), \
         Executable_svdemo \
         Executable_fftester \
         Executable_svptest \
commit cbf38d3c071a00ec4074c0e04de1cbf04d5301b3
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Mon Jan 25 15:00:53 2021 +0100
Commit:     Thorsten Behrens <thorsten.behrens at allotropia.de>
CommitDate: Fri Apr 16 15:31:51 2021 +0200

    catchall
    
    Change-Id: If41abaa40cf6aef38400083d3afa3d82d446df43

diff --git a/Makefile.in b/Makefile.in
index 1e0d1a5d0968..eaacb86b8f7b 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -104,7 +104,7 @@ $(1).clean $(1).showdeliverables:
 	cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) $$(patsubst $(1).%,%,$$@)
 
 $(1).all: bootstrap fetch
-	$$(MAKE) $(PARALLELISM_OPTION) $(IWYU_OPTION) $(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild $(WORKDIR)/Module/$(1) $(if $(CROSS_COMPILING),,$(WORKDIR)/Module/check/$(1) $(WORKDIR)/Module/slowcheck/$(1))
+	$$(MAKE) $(PARALLELISM_OPTION) $(IWYU_OPTION) $(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild $(WORKDIR)/Module/$(1) $(WORKDIR)/Module/check/$(1) $(WORKDIR)/Module/slowcheck/$(1)
 
 endef
 
diff --git a/Repository.mk b/Repository.mk
index 326fcc0edf0f..2c7f3c2565b6 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -555,6 +555,7 @@ $(eval $(call gb_Helper_register_libraries,PLAINLIBS_NONE, \
 	$(if $(filter MSC,$(COM)),cli_cppuhelper) \
 	$(if $(filter $(OS),ANDROID),lo-bootstrap) \
 	$(if $(filter $(OS),MACOSX),OOoSpotlightImporter) \
+    cppunitmain \
 ))
 
 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_URE,ure, \
@@ -594,7 +595,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,PRIVATELIBS_URE,ure, \
 	proxyfac \
 	reflection \
 	reg \
-	sal_textenc \
 	stocservices \
 	store \
 	unoidl \
@@ -602,6 +602,10 @@ $(eval $(call gb_Helper_register_libraries_for_install,PRIVATELIBS_URE,ure, \
 	xmlreader \
 ))
 
+$(eval $(call gb_Helper_register_plugins_for_install,PRIVATELIBS_URE,ure, \
+	sal_textenc \
+))
+
 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
 	$(if $(ENABLE_GSTREAMER_1_0),avmediagst) \
 	$(if $(filter WNT,$(OS)),avmediawin) \
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index adc46c6b0cd7..27178925622b 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -3865,7 +3865,7 @@ endif # SYSTEM_JFREEREPORT
 # FIXME: the library target should be for build too
 define gb_Executable__register_bestreversemap
 $(call gb_Executable_add_runtime_dependencies,bestreversemap,\
-	$(if $(filter $(OS),ANDROID),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(call gb_Library_get_target,sal_textenc))) \
+	$(call gb_Library_get_target,sal_textenc)) \
 )
 endef
 
@@ -3883,7 +3883,7 @@ endef
 
 define gb_Executable__register_cppumaker
 $(call gb_Executable_add_runtime_dependencies,cppumaker,\
-	$(if $(filter $(OS),ANDROID),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(call gb_Library_get_target,sal_textenc))) \
+	$(call gb_Library_get_target,sal_textenc)) \
 )
 endef
 
diff --git a/configure.ac b/configure.ac
index 85207c9ff3d8..9fc394455bf5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12507,7 +12507,11 @@ then
     fi
 
     dnl Check for qmake5
-    AC_PATH_PROGS( QMAKE5, [qmake], no, [$QT5DIR/bin:$PATH])
+    if test -n "$QT5DIR"; then
+        AC_PATH_PROG(QMAKE5, [qmake], no, [$QT5DIR/bin])
+    else
+        AC_PATH_PROGS(QMAKE5, [qmake-qt5 qmake], no)
+    fi
     if test "$QMAKE5" = "no"; then
         AC_MSG_ERROR([Qmake not found.  Please specify the root of your Qt5 installation by exporting QT5DIR before running "configure".])
     else
diff --git a/dbaccess/Module_dbaccess.mk b/dbaccess/Module_dbaccess.mk
index 49bd9d202c7f..55937faeaf9b 100644
--- a/dbaccess/Module_dbaccess.mk
+++ b/dbaccess/Module_dbaccess.mk
@@ -53,6 +53,7 @@ $(eval $(call gb_Module_add_check_targets,dbaccess,\
 ))
 endif
 
+ifneq ($(filter SCRIPTING,$(BUILD_TYPE)),)
 $(eval $(call gb_Module_add_check_targets,dbaccess,\
 	CppunitTest_dbaccess_dialog_save \
 	CppunitTest_dbaccess_empty_stdlib_save \
@@ -60,6 +61,7 @@ $(eval $(call gb_Module_add_check_targets,dbaccess,\
 	CppunitTest_dbaccess_macros_test \
 	CppunitTest_dbaccess_hsqlschema_import \
 ))
+endif
 
 # this test fails 50% of the time on the mac jenkins buildbots
 ifeq ($(ENABLE_JAVA),TRUE)
diff --git a/external/cppunit/ExternalProject_cppunit.mk b/external/cppunit/ExternalProject_cppunit.mk
index 63116af294d1..92db8a1953f3 100644
--- a/external/cppunit/ExternalProject_cppunit.mk
+++ b/external/cppunit/ExternalProject_cppunit.mk
@@ -55,7 +55,8 @@ $(call gb_ExternalProject_get_state_target,cppunit,build) :
 			$(if $(filter WNT,$(OS)),LDFLAGS="-Wl$(COMMA)--enable-runtime-pseudo-reloc-v2") \
 			$(if $(filter SOLARIS,$(OS)),LIBS="-lm") \
 			$(if $(filter ANDROID,$(OS)),LIBS="$(gb_STDLIBS)") \
-			CXXFLAGS="$(cppunit_CXXFLAGS)" \
+			$(if $(verbose),--disable-silent-rules,--enable-silent-rules) \
+			CXXFLAGS="$(cppunit_CXXFLAGS) $(gb_EMSCRIPTEN_CPPFLAGS)" \
 		&& cd src \
 		&& $(MAKE) \
 	)
diff --git a/external/cppunit/disable-dynloading.patch b/external/cppunit/disable-dynloading.patch
index a9aa37f6f45d..62ed1deeb635 100644
--- a/external/cppunit/disable-dynloading.patch
+++ b/external/cppunit/disable-dynloading.patch
@@ -17,7 +17,7 @@
 +// Actually this is for iOS and Android where we build the cppunit tests libraries
 +// as plain archives and just link them statically into test fixture programs,
 +// and don't want any stinking duplicate main(), but shouldn't hurt for MacOSX either.
-+#elif defined(__APPLE__) || defined(__ANDROID__)
++#elif defined(__APPLE__) || defined(__ANDROID__) || defined(__EMSCRIPTEN__)
 +#define CPPUNIT_PLUGIN_IMPLEMENT_MAIN()               \
 +  typedef char __CppUnitPlugInImplementMainDummyTypeDef
  // Unix
diff --git a/external/openssl/ExternalProject_openssl.mk b/external/openssl/ExternalProject_openssl.mk
index 768755c2fbde..4c5d630721c8 100644
--- a/external/openssl/ExternalProject_openssl.mk
+++ b/external/openssl/ExternalProject_openssl.mk
@@ -50,7 +50,7 @@ OPENSSL_PLATFORM := \
             $(if $(filter X86_64,$(CPUNAME)),darwin64-x86_64-cc)\
             $(if $(filter AARCH64,$(CPUNAME)),darwin64-arm64-cc)\
 	  ,\
-	    $(if $(filter EMSCRIPTEN,$(OS)),no-engine no-dso no-dgram no-sock no-srtp no-err no-ocsp no-psk no-ts no-asm) \
+	    $(if $(filter EMSCRIPTEN,$(OS)),no-engine no-dso no-dgram no-srtp no-err no-ocsp no-psk no-ts no-asm) \
           )\
         )\
       )\
diff --git a/idlc/Module_idlc.mk b/idlc/Module_idlc.mk
index a20d105cd829..c97e4a56463e 100644
--- a/idlc/Module_idlc.mk
+++ b/idlc/Module_idlc.mk
@@ -16,10 +16,6 @@ $(eval $(call gb_Module_add_targets,idlc,\
 	Executable_idlc \
 ))
 
-$(eval $(call gb_Module_add_check_targets,idlc,\
-	CustomTarget_parser_test \
-))
-
 endif
 
 # vim:set noet sw=4 ts=4:
diff --git a/include/vcl/glxtestprocess.hxx b/include/vcl/glxtestprocess.hxx
index c8668a69d50f..83f6cb778d25 100644
--- a/include/vcl/glxtestprocess.hxx
+++ b/include/vcl/glxtestprocess.hxx
@@ -13,7 +13,7 @@
 #include <config_features.h>
 
 #if defined(UNX) && !defined MACOSX && !defined IOS && !defined ANDROID && HAVE_FEATURE_UI         \
-    && HAVE_FEATURE_OPENGL
+    && HAVE_FEATURE_OPENGL && !defined EMSCRIPTEN
 /* Run test for OpenGL support in own process to avoid crash with broken
  * OpenGL drivers. Start process as early as possible.
  * The process will be reaped late in Desktop::Main (desktop/source/app/app.cxx).
diff --git a/registry/Module_registry.mk b/registry/Module_registry.mk
index aa7ec1ab3ecc..358addddcc8f 100644
--- a/registry/Module_registry.mk
+++ b/registry/Module_registry.mk
@@ -20,8 +20,8 @@ $(eval $(call gb_Module_add_targets,registry,\
 	) \
 ))
 
-ifneq (,$(DISABLE_DYNLOADING))
-ifeq ($(ENABLE_MACOSX_SANDBOX),)
+ifeq (,$(DISABLE_DYNLOADING))
+ifneq (,$(ENABLE_MACOSX_SANDBOX))
 
 $(eval $(call gb_Module_add_check_targets,registry, \
     CustomTarget_regcompare_test \
diff --git a/sal/Library_sal.mk b/sal/Library_sal.mk
index d783c84e39e9..53ee65ca8015 100644
--- a/sal/Library_sal.mk
+++ b/sal/Library_sal.mk
@@ -128,32 +128,6 @@ $(eval $(call gb_Library_add_cxxflags,sal,\
 ))
 endif
 
-sal_textenc_code= \
-	sal/textenc/context \
-	sal/textenc/convertbig5hkscs \
-	sal/textenc/converteuctw \
-	sal/textenc/convertgb18030 \
-	sal/textenc/convertisciidevangari \
-	sal/textenc/convertiso2022cn \
-	sal/textenc/convertiso2022jp \
-	sal/textenc/convertiso2022kr \
-	sal/textenc/convertsinglebytetobmpunicode \
-	sal/textenc/tables \
-	sal/textenc/tcvtbyte \
-	sal/textenc/tcvtmb \
-	sal/textenc/tcvtutf7 \
-
-ifeq ($(OS),ANDROID)
-$(eval $(call gb_Library_add_exception_objects,sal,\
-    $(sal_textenc_code) \
-))
-else ifeq ($(DISABLE_DYNLOADING),TRUE)
-
-$(eval $(call gb_Library_add_exception_objects,sal,\
-    $(sal_textenc_code) \
-))
-endif
-
 ifneq ($(OS),WNT)
 $(eval $(call gb_Library_add_exception_objects,sal,\
 	sal/osl/unx/backtraceapi \
diff --git a/sal/Library_sal_textenc.mk b/sal/Library_sal_textenc.mk
index 15546ba4969e..0fba5d083499 100644
--- a/sal/Library_sal_textenc.mk
+++ b/sal/Library_sal_textenc.mk
@@ -10,11 +10,9 @@
 
 $(eval $(call gb_Library_Library,sal_textenc))
 
-$(eval $(call gb_Library_use_external,sal_textenc,boost_headers))
+$(eval $(call gb_Library_set_plugin_for,sal_textenc,sal))
 
-$(eval $(call gb_Library_use_libraries,sal_textenc,\
-	sal \
-))
+$(eval $(call gb_Library_use_external,sal_textenc,boost_headers))
 
 $(eval $(call gb_Library_add_exception_objects,sal_textenc,\
 	sal/textenc/context \
diff --git a/sal/Module_sal.mk b/sal/Module_sal.mk
index 1a190037f05b..a24fe27ab869 100644
--- a/sal/Module_sal.mk
+++ b/sal/Module_sal.mk
@@ -10,11 +10,11 @@
 $(eval $(call gb_Module_Module,sal))
 
 $(eval $(call gb_Module_add_targets,sal,\
-	$(if $(CROSS_COMPILING),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,Executable_cppunittester)) \
+	$(if $(or $(CROSS_COMPILING),$(DISABLE_DYNLOADING)),StaticLibrary_cppunitmain,Executable_cppunittester) \
 	$(if $(filter $(OS),ANDROID), \
 		Library_lo-bootstrap) \
 	Library_sal \
-	$(if $(filter $(OS),ANDROID),,$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,Library_sal_textenc)) \
+	Library_sal_textenc \
 ))
 
 ifneq (,$(filter DESKTOP,$(BUILD_TYPE)))
@@ -23,6 +23,8 @@ $(eval $(call gb_Module_add_targets,sal,\
 	Executable_osl_process_child \
 ))
 
+endif
+
 $(eval $(call gb_Module_add_check_targets,sal,\
 	$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,CppunitTest_Module_DLL) \
 	$(if $(filter WNT,$(OS)),CppunitTest_sal_comtools) \
@@ -35,6 +37,4 @@ $(eval $(call gb_Module_add_check_targets,sal,\
 	    CompilerTest_sal_rtl_oustring)) \
 ))
 
-endif
-
 # vim: set noet sw=4 ts=4:
diff --git a/sal/StaticLibrary_cppunitmain.mk b/sal/StaticLibrary_cppunitmain.mk
new file mode 100644
index 000000000000..30c64d7b3980
--- /dev/null
+++ b/sal/StaticLibrary_cppunitmain.mk
@@ -0,0 +1,40 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_StaticLibrary_StaticLibrary,cppunitmain))
+
+$(eval $(call gb_StaticLibrary_set_include,cppunitmain,\
+    $$(INCLUDE) \
+    -I$(SRCDIR)/sal/inc \
+))
+
+$(eval $(call gb_StaticLibrary_use_libraries,cppunitmain,\
+    sal \
+    unoexceptionprotector \
+))
+
+$(eval $(call gb_StaticLibrary_use_externals,cppunitmain,\
+    boost_headers \
+    cppunit \
+))
+
+$(eval $(call gb_StaticLibrary_add_exception_objects,cppunitmain,\
+    sal/cppunittester/cppunittester \
+))
+
+ifeq ($(COM),MSC)
+
+$(eval $(call gb_StaticLibrary_add_ldflags,cppunitmain,\
+    /STACK:10000000 \
+))
+
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/sc/Module_sc.mk b/sc/Module_sc.mk
index ea4fc94b8e9e..86b1d25f9670 100644
--- a/sc/Module_sc.mk
+++ b/sc/Module_sc.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_Module_add_targets,sc,\
 endif
 
 ifneq ($(OS),iOS)
+ifneq ($(filter SCRIPTING,$(BUILD_TYPE)),)
 $(eval $(call gb_Module_add_check_targets,sc,\
 	Library_scqahelper \
 	$(if $(and $(filter $(COM),MSC),$(MERGELIBS)),, \
@@ -50,6 +51,7 @@ $(eval $(call gb_Module_add_check_targets,sc,\
 	CppunitTest_sc_cache_test \
     CppunitTest_sc_shapetest \
 ))
+endif
 
 ifneq ($(DISABLE_GUI),TRUE)
 ifeq ($(OS),LINUX)
diff --git a/sccomp/Module_sccomp.mk b/sccomp/Module_sccomp.mk
index 8babadc3e41e..e211ee26f958 100644
--- a/sccomp/Module_sccomp.mk
+++ b/sccomp/Module_sccomp.mk
@@ -29,7 +29,7 @@ $(eval $(call gb_Module_add_l10n_targets,sccomp,\
 
 $(eval $(call gb_Module_add_check_targets,sccomp,\
 	CppunitTest_sccomp_solver \
-	$(if $(and $(filter INTEL,$(CPUNAME)),$(filter -fsanitize=%,$(gb_CXX))),,CppunitTest_sccomp_swarmsolvertest) \

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list