external/cairo/ExternalProject_cairo.mk  |    2 +-
 external/cairo/ExternalProject_pixman.mk |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 5cd3a8ec6d36a389eb0be4d59f4570e3bda92dc5
Author:     Tor Lillqvist <t...@collabora.com>
AuthorDate: Mon Jan 23 16:29:42 2023 +0200
Commit:     Tor Lillqvist <t...@collabora.com>
CommitDate: Mon Jan 23 22:58:54 2023 +0000

    Enforce compiling cairo and pixman for WASM with -O3
    
    Earlier, no -O flag at all got used in the cairo and pixman
    builds. Which was sad, as these two libraries are performance-critical.
    
    Yes, this change is quick-and-dirty. The proper way would be to modify
    things in solenv/gbuild. But that is somewhat complicated.
    
    In general it seems fairly hard to make sure the same compiler flags
    get used for every external bundled library. Each external library is
    a special snowflake, more or less, with a differently structured
    ExternalProject makefile.
    
    For instance for the libwpd library (just picked randomly as an
    example), even -O2 gets used. (Which as such is OK.) This despite
    solenv/gbuild/platform/EMSCRIPTEN_INTEL_GCC.mk apparently trying to
    enforce use of -O1 for Emscripten.
    
    This change has a visible impact on the performance of COWASM.
    
    Change-Id: I99d74db2da733134fde16661881856f9a81100f9
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146009
    Tested-by: Jenkins
    Reviewed-by: Tor Lillqvist <t...@collabora.com>

diff --git a/external/cairo/ExternalProject_cairo.mk 
b/external/cairo/ExternalProject_cairo.mk
index fd934906343b..b677098482ff 100644
--- a/external/cairo/ExternalProject_cairo.mk
+++ b/external/cairo/ExternalProject_cairo.mk
@@ -48,7 +48,7 @@ $(call gb_ExternalProject_get_state_target,cairo,build) :
        $(gb_RUN_CONFIGURE) ./configure \
                $(if $(debug),STRIP=" ") \
                $(if $(filter ANDROID iOS,$(OS)),CFLAGS="$(if $(debug),-g) 
$(ZLIB_CFLAGS) $(gb_VISIBILITY_FLAGS)") \
-               $(if $(filter EMSCRIPTEN,$(OS)),CFLAGS=-DCAIRO_NO_MUTEX" 
$(ZLIB_CFLAGS) -Wno-enum-conversion $(gb_EMSCRIPTEN_CPPFLAGS)" ) \
+               $(if $(filter EMSCRIPTEN,$(OS)),CFLAGS="-O3 -DCAIRO_NO_MUTEX 
$(ZLIB_CFLAGS) -Wno-enum-conversion $(gb_EMSCRIPTEN_CPPFLAGS)" ) \
                $(if $(filter-out EMSCRIPTEN ANDROID iOS,$(OS)), \
                        CFLAGS="$(CFLAGS) $(call 
gb_ExternalProject_get_build_flags,cairo) $(ZLIB_CFLAGS)" \
                        LDFLAGS="$(call 
gb_ExternalProject_get_link_flags,cairo)" \
diff --git a/external/cairo/ExternalProject_pixman.mk 
b/external/cairo/ExternalProject_pixman.mk
index 9293b9234013..ac78b23d5c9e 100644
--- a/external/cairo/ExternalProject_pixman.mk
+++ b/external/cairo/ExternalProject_pixman.mk
@@ -28,7 +28,7 @@ $(call gb_ExternalProject_get_state_target,pixman,build) :
                $(if $(filter ANDROID,$(OS)),--disable-arm-simd 
--disable-arm-neon --disable-arm-a64-neon --disable-arm-iwmmxt) \
                $(gb_CONFIGURE_PLATFORMS) \
                $(if $(CROSS_COMPILING),$(if $(filter INTEL 
ARM,$(CPUNAME)),ac_cv_c_bigendian=no)) \
-               $(if $(filter EMSCRIPTEN,$(OS)),CFLAGS="-pthread") \
+               $(if $(filter EMSCRIPTEN,$(OS)),CFLAGS="-O3 -pthread") \
                && $(MAKE) \
        )
        $(call gb_Trace_EndRange,pixman,EXTERNAL)

Reply via email to