RepositoryExternal.mk                   |    2 +-
 external/cairo/ExternalProject_cairo.mk |    2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

New commits:
commit 23366f93bc2484ef1b8dc3650d5d7eb4fd7f52e2
Author:     Stephan Bergmann <[email protected]>
AuthorDate: Mon Sep 29 13:27:45 2025 +0200
Commit:     Stephan Bergmann <[email protected]>
CommitDate: Mon Sep 29 16:20:17 2025 +0200

    external/cairo: Fix Emscripten build
    
    ...after 2b515d095d7251db98241e6b69f9b110e64e9aea "upgrade pixman and 
cairo".
    
    For one, building ExternalProject_cairo failed with
    
    > Run-time dependency fontconfig found: NO (tried pkgconfig and cmake)
    > Not looking for a fallback subproject for the dependency fontconfig 
because:
    > Use of fallback dependencies is disabled.
    >
    > meson.build:271:17: ERROR: Dependency 'fontconfig' is required but not 
found.
    
    and
    
    > Called: `/usr/bin/pkg-config --cflags fontconfig` -> 1
    > stderr:
    > Package libxml-2.0 was not found in the pkg-config search path.
    > Perhaps you should add the directory containing `libxml-2.0.pc'
    > to the PKG_CONFIG_PATH environment variable
    > Package 'libxml-2.0', required by 'fontconfig', not found
    
    in workdir/UnpackedTarball/cairo/builddir/meson-logs/meson-log.txt, because
    workdir/UnpackedTarball/fontconfig/fontconfig.pc contains
    
    > Requires.private:  libxml-2.0 >= 2.6
    
    so add workdir/UnpackedTarball/libxml2/libxml-2.0.pc to PKG_CONFIG_PATH 
(TODO:
    even though its contents point to /usr/local? but that seems good enough to 
get
    the build going).
    
    For another,
    
    > [LNK] Executable/soffice.js: wait for lock at Mon Sep 29 10:23:58 AM UTC 
2025
    > [LNK] Executable/soffice.js: got link lock at Mon Sep 29 10:24:03 AM UTC 
2025
    > em++: error: 
/home/sberg/lo-wasm-upstream/core/workdir/UnpackedTarball/pixman/pixman/.libs/libpixman-1.a:
 No such file or directory 
("/home/sberg/lo-wasm-upstream/core/workdir/UnpackedTarball/pixman/pixman/.libs/libpixman-1.a"
 was expected to be an input file, based on the commandline arguments provided)
    > make[1]: *** 
[/home/sberg/lo-wasm-upstream/core/desktop/Executable_soffice_bin.mk:10: 
/home/sberg/lo-wasm-upstream/core/instdir/program/soffice.js] Error 1
    
    failed to link, so adapt the path in RepositoryExternal.mk.
    
    Change-Id: I925f4fbcaabd58b0de074575293ba9b5366f2cf6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191623
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <[email protected]>

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index c2165fc8e7ed..a86c95b8efce 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -1222,7 +1222,7 @@ $(call gb_LinkTarget_set_include,$(1),\
 $(call gb_LinkTarget_add_libs,$(1),\
        $(if $(filter EMSCRIPTEN,$(OS)), \
                $(gb_UnpackedTarball_workdir)/cairo/builddir/src/libcairo-lo.a \
-               
$(gb_UnpackedTarball_workdir)/pixman/pixman/.libs/libpixman-1.a, \
+               
$(gb_UnpackedTarball_workdir)/pixman/builddir/pixman/libpixman-1.a, \
                -L$(gb_UnpackedTarball_workdir)/cairo/builddir/src -lcairo-lo \
                -L$(gb_UnpackedTarball_workdir)/pixman/pixman/.libs -lpixman-1) 
\
 )
diff --git a/external/cairo/ExternalProject_cairo.mk 
b/external/cairo/ExternalProject_cairo.mk
index 1877295f68c4..a1053d29cbd9 100644
--- a/external/cairo/ExternalProject_cairo.mk
+++ b/external/cairo/ExternalProject_cairo.mk
@@ -21,6 +21,7 @@ $(eval $(call gb_ExternalProject_use_externals,cairo,\
        libpng \
        meson \
        zlib \
+       $(if $(filter EMSCRIPTEN,$(OS)),libxml2) \
 ))
 
 # We cannot use environment vars inside the meson cross-build file,
@@ -92,6 +93,7 @@ $(call gb_ExternalProject_get_state_target,cairo,build) :
                ) \
                $(if 
$(SYSTEM_ZLIB),,PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:$(gb_UnpackedTarball_workdir)/zlib")
 \
                $(if 
$(SYSTEM_LIBPNG),,PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:$(gb_UnpackedTarball_workdir)/libpng")
 \
+               $(if $(filter 
EMSCRIPTEN,$(OS)),PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:$(gb_UnpackedTarball_workdir)/libxml2")
 \
                $(if $(filter -fsanitize=undefined,$(CC)),CC='$(CC) 
-fno-sanitize=function') \
                $(MESON) setup --wrap-mode nofallback builddir \
                        $(if $(debug),-Dstrip=false,-Dstrip=true) \

Reply via email to