external/icu/UnpackedTarball_icu.mk                           |    1 
 external/icu/icu4c-use-pkgdata-single-ccode-file-mode.patch.1 |   12 ++++++++++
 2 files changed, 13 insertions(+)

New commits:
commit a8bbd66011da4d9996f28a6ed06db10ed026312b
Author:     Jan-Marek Glogowski <[email protected]>
AuthorDate: Tue Jan 11 06:11:10 2022 +0100
Commit:     Thorsten Behrens <[email protected]>
CommitDate: Tue Jan 11 08:16:18 2022 +0100

    icu: always use USE_SINGLE_CCODE_FILE pkgdata mode
    
    The pkgdata tool basically not only generates the data, but
    forces a non-parallel build for all data files for platforms,
    which can't use the (single file) assembler mode. This hits
    the WASM build, bringing down the parallel build to a crawl.
    
    But there is already the "hidden" optimization implemented in
    pkgdata to just write a single C source file, instead of one
    per locale. For some reason, that is just enabled on OS400.
    
    I don't think we have a platform, which would have a memory
    restriction doing this, so just uncondition this pkgdata
    build mode for everyone.
    Feel free to otherwise condition this patch for your platform
    in external/icu/UnpackedTarball_icu.mk.
    
    Change-Id: I482d80e853128d00faa43687e38f5b88fbf6958c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128266
    Tested-by: Jenkins
    Reviewed-by: Thorsten Behrens <[email protected]>

diff --git a/external/icu/UnpackedTarball_icu.mk 
b/external/icu/UnpackedTarball_icu.mk
index c0ffe47dad3e..58a05f1ee39b 100644
--- a/external/icu/UnpackedTarball_icu.mk
+++ b/external/icu/UnpackedTarball_icu.mk
@@ -40,6 +40,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\
        external/icu/icu4c-windows-cygwin-cross.patch.1 \
        external/icu/icu4c-emscripten-cross.patch.1 \
        external/icu/icu4c-khmerbreakengine.patch.1 \
+       external/icu/icu4c-use-pkgdata-single-ccode-file-mode.patch.1 \
        external/icu/icu4c-$(if $(filter ANDROID,$(OS)),android,rpath).patch.1 \
        $(if $(filter-out 
ANDROID,$(OS)),external/icu/icu4c-icudata-stdlibs.patch.1) \
 ))
diff --git a/external/icu/icu4c-use-pkgdata-single-ccode-file-mode.patch.1 
b/external/icu/icu4c-use-pkgdata-single-ccode-file-mode.patch.1
new file mode 100644
index 000000000000..237e554b8a4b
--- /dev/null
+++ b/external/icu/icu4c-use-pkgdata-single-ccode-file-mode.patch.1
@@ -0,0 +1,12 @@
+--- icu/source/tools/toolutil/pkg_genc.h.orig  2022-01-11 06:02:29.694678787 
+0100
++++ icu/source/tools/toolutil/pkg_genc.h       2022-01-11 06:02:41.602640965 
+0100
+@@ -48,9 +48,7 @@
+  * the data to generate the final data library. This can
+  * increase the performance of the pkdata tool.
+  */
+-#if U_PLATFORM == U_PF_OS400
+ #define USE_SINGLE_CCODE_FILE
+-#endif
+ 
+ /* Need to fix the file seperator character when using MinGW. */
+ #if defined(WINDOWS_WITH_GNUC) || defined(USING_CYGWIN)

Reply via email to