Repository.mk | 2 - RepositoryExternal.mk | 4 +- configure.ac | 11 +++++- distro-configs/CPMacOS-LOKit.conf | 38 ++++++++++++++++++++++ external/cairo/ExternalPackage_cairo.mk | 4 ++ external/cairo/ExternalPackage_pixman.mk | 4 ++ external/cairo/ExternalProject_cairo.mk | 6 +-- external/cairo/ExternalProject_pixman.mk | 2 + external/cairo/UnpackedTarball_cairo.mk | 9 ++++- external/fontconfig/ExternalPackage_fontconfig.mk | 4 ++ external/fontconfig/ExternalProject_fontconfig.mk | 3 + external/fontconfig/Module_fontconfig.mk | 2 - external/fontconfig/UnpackedTarball_fontconfig.mk | 5 ++ vcl/headless/svpframe.cxx | 6 --- vcl/inc/quartz/salgdi.h | 15 ++++++++ vcl/quartz/salgdi.cxx | 29 ++++++++++++++++ 16 files changed, 128 insertions(+), 16 deletions(-)
New commits: commit 92a456d2b70d4e2e50c33eb5110da2bb2bf48a6f Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Tue Aug 26 20:48:50 2025 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 27 10:22:37 2025 +0200 ENABLE_FONTCONFIG is actually not defined Change-Id: Iaabcfcab53b7c6ab9b20305d97979d0c978ec598 diff --git a/Repository.mk b/Repository.mk index b6a88600baa0..8ee3c0d3c26f 100644 --- a/Repository.mk +++ b/Repository.mk @@ -1064,7 +1064,7 @@ $(eval $(call gb_Helper_register_packages_for_install,ooo,\ $(eval $(call gb_Helper_register_packages_for_install,ooo_fonts,\ extras_fonts \ - $(if $(USING_X11)$(DISABLE_GUI)$(ENABLE_FONTCONFIG)$(filter ANDROID EMSCRIPTEN,$(OS)), \ + $(if $(USING_X11)$(DISABLE_GUI)$(filter FONTCONFIG,$(BUILD_TYPE))$(filter ANDROID EMSCRIPTEN,$(OS)), \ postprocess_fontconfig) \ $(call gb_Helper_optional,MORE_FONTS,\ fonts_alef \ diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index 4e5bc3e158df..073c2c6039a7 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -1303,7 +1303,7 @@ gb_ExternalProject__use_fontconfig := else # SYSTEM_FONTCONFIG -ifeq ($(ENABLE_FONTCONFIG),TRUE) +ifneq (,$(filter FONTCONFIG,$(BUILD_TYPE))) $(eval $(call gb_Helper_register_packages_for_install,ooo,\ fontconfig \ diff --git a/external/fontconfig/Module_fontconfig.mk b/external/fontconfig/Module_fontconfig.mk index 21dea02acd43..391f6dabc0fc 100644 --- a/external/fontconfig/Module_fontconfig.mk +++ b/external/fontconfig/Module_fontconfig.mk @@ -12,7 +12,7 @@ $(eval $(call gb_Module_Module,fontconfig)) $(eval $(call gb_Module_add_targets,fontconfig,\ ExternalProject_fontconfig \ $(if $(filter EMSCRIPTEN,$(OS)),ExternalPackage_fontconfig_data) \ - $(if $(filter TRUE,$(ENABLE_FONTCONFIG)),ExternalPackage_fontconfig) \ + $(if $(filter FONTCONFIG,$(BUILD_TYPE)),ExternalPackage_fontconfig) \ UnpackedTarball_fontconfig \ )) commit 222740d562b91bd526e0d6615817938327048106 Author: Andras Timar <andras.ti...@collabora.com> AuthorDate: Wed Aug 27 10:11:47 2025 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 27 10:22:37 2025 +0200 add --enable-headless to CPMacOS-LOKit.conf Change-Id: I83dc086c354c35684b00c7354a6d72ea3290c484 diff --git a/distro-configs/CPMacOS-LOKit.conf b/distro-configs/CPMacOS-LOKit.conf index f870a48b1e7e..0781801d2913 100644 --- a/distro-configs/CPMacOS-LOKit.conf +++ b/distro-configs/CPMacOS-LOKit.conf @@ -34,3 +34,5 @@ INCLUDE:CPLinux-LOKit --disable-openssl --disable-poppler --disable-python + +--enable-headless commit 30b8ccbd38a914fdd241ecd4c2576d3943c415d9 Author: Jan Holesovsky <ke...@collabora.com> AuthorDate: Mon Nov 18 17:04:12 2024 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 27 10:22:37 2025 +0200 Make vcl build on macOS with --enable-headless Change-Id: I210767a9918b6a672a5227e6c40873bad90f7188 diff --git a/vcl/inc/quartz/salgdi.h b/vcl/inc/quartz/salgdi.h index 9c5370c4db5c..da9623f7a448 100644 --- a/vcl/inc/quartz/salgdi.h +++ b/vcl/inc/quartz/salgdi.h @@ -475,6 +475,21 @@ public: virtual SystemGraphicsData GetGraphicsData() const override; + +#if ENABLE_CAIRO_CANVAS + + /// Check whether cairo will work + virtual bool SupportsCairo() const override; + /// Create Surface from given cairo surface + virtual cairo::SurfaceSharedPtr CreateSurface(const cairo::CairoSurfaceSharedPtr& rSurface) const override; + /// Create surface with given dimensions + virtual cairo::SurfaceSharedPtr CreateSurface(const OutputDevice& rRefDevice, int x, int y, int width, int height) const override; + /// Create Surface for given bitmap data + virtual cairo::SurfaceSharedPtr CreateBitmapSurface(const OutputDevice& rRefDevice, const BitmapSystemData& rData, const Size& rSize) const override; + virtual css::uno::Any GetNativeSurfaceHandle(cairo::SurfaceSharedPtr& rSurface, const basegfx::B2ISize& rSize) const override; + +#endif // ENABLE_CAIRO_CANVAS + }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/quartz/salgdi.cxx b/vcl/quartz/salgdi.cxx index fb5872a60ce2..6dbb3a77c380 100644 --- a/vcl/quartz/salgdi.cxx +++ b/vcl/quartz/salgdi.cxx @@ -557,4 +557,33 @@ bool AquaSharedAttributes::checkContext() #endif +#if ENABLE_CAIRO_CANVAS + +bool AquaSalGraphics::SupportsCairo() const +{ + return false; +} + +cairo::SurfaceSharedPtr AquaSalGraphics::CreateSurface(const cairo::CairoSurfaceSharedPtr& /*rSurface*/) const +{ + return cairo::SurfaceSharedPtr(); +} + +cairo::SurfaceSharedPtr AquaSalGraphics::CreateSurface(const OutputDevice& /*rRefDevice*/, int /*x*/, int /*y*/, int /*width*/, int /*height*/) const +{ + return cairo::SurfaceSharedPtr(); +} + +cairo::SurfaceSharedPtr AquaSalGraphics::CreateBitmapSurface(const OutputDevice& /*rRefDevice*/, const BitmapSystemData& /*rData*/, const Size& /*rSize*/) const +{ + return cairo::SurfaceSharedPtr(); +} + +css::uno::Any AquaSalGraphics::GetNativeSurfaceHandle(cairo::SurfaceSharedPtr& /*rSurface*/, const basegfx::B2ISize& /*rSize*/) const +{ + return css::uno::Any(); +} + +#endif // ENABLE_CAIRO_CANVAS + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 4cb8647ac42a66a0ee0fbc542f5b998820cfab78 Author: Jan Holesovsky <ke...@collabora.com> AuthorDate: Mon Nov 18 15:56:49 2024 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 27 10:22:37 2025 +0200 This is not present on macOS either Change-Id: I4352df00081f094e7a3c4f3e3b5cc0308114470d diff --git a/vcl/headless/svpframe.cxx b/vcl/headless/svpframe.cxx index 00672935d256..74862859f11c 100644 --- a/vcl/headless/svpframe.cxx +++ b/vcl/headless/svpframe.cxx @@ -54,11 +54,7 @@ SvpSalFrame::SvpSalFrame( SvpSalInstance* pInstance, m_nMaxWidth( 0 ), m_nMaxHeight( 0 ) { -#ifdef IOS - // Nothing -#elif defined ANDROID - // Nothing -#else +#if !defined(IOS) && !defined(MACOSX) && !defined(ANDROID) m_aSystemChildData.pSalFrame = this; #endif commit 0ff7f91309743e1d48fbfb1b3375e742e56d3b6c Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Tue Aug 26 20:41:49 2025 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 27 10:22:37 2025 +0200 don't require pkg-config on macOS either Change-Id: Icaca4f047060c73dee9562385fb3d5e3f6b99cd6 diff --git a/external/cairo/ExternalProject_cairo.mk b/external/cairo/ExternalProject_cairo.mk index 1d3509d421c8..c2f9f76a050f 100644 --- a/external/cairo/ExternalProject_cairo.mk +++ b/external/cairo/ExternalProject_cairo.mk @@ -54,7 +54,7 @@ $(call gb_ExternalProject_get_state_target,cairo,build) : CFLAGS="$(CFLAGS) $(call gb_ExternalProject_get_build_flags,cairo) $(ZLIB_CFLAGS)" \ LDFLAGS="$(call gb_ExternalProject_get_link_flags,cairo)" \ ) \ - $(if $(filter ANDROID iOS,$(OS)),PKG_CONFIG=./dummy_pkg_config) \ + $(if $(filter MACOSX ANDROID iOS,$(OS)),PKG_CONFIG=./dummy_pkg_config) \ LIBS="$(ZLIB_LIBS)" \ $(if $(filter -fsanitize=%,$(LDFLAGS)),LDFLAGS="$(LDFLAGS) -fuse-ld=bfd") \ pixman_CFLAGS="-I$(gb_UnpackedTarball_workdir)/pixman/pixman -pthread" \ diff --git a/external/cairo/UnpackedTarball_cairo.mk b/external/cairo/UnpackedTarball_cairo.mk index 70ff2e18c154..1108b5810386 100644 --- a/external/cairo/UnpackedTarball_cairo.mk +++ b/external/cairo/UnpackedTarball_cairo.mk @@ -51,7 +51,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,cairo,\ )) endif -ifneq (,$(filter ANDROID iOS,$(OS))) +ifneq (,$(filter MACOSX ANDROID iOS,$(OS))) $(eval $(call gb_UnpackedTarball_add_file,cairo,.,external/cairo/cairo/dummy_pkg_config)) endif commit 5b5eac4ba4f3625a41761205fbac95ed306933ce Author: Jan Holesovsky <ke...@collabora.com> AuthorDate: Mon Nov 18 13:56:59 2024 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 27 10:22:37 2025 +0200 Make it possible to build cairo even on macOS Change-Id: Iea337f2fdd0f90e2b0612cd2cda9c1ea1f4739a0 diff --git a/Repository.mk b/Repository.mk index eaa7c8324ea1..b6a88600baa0 100644 --- a/Repository.mk +++ b/Repository.mk @@ -1064,7 +1064,7 @@ $(eval $(call gb_Helper_register_packages_for_install,ooo,\ $(eval $(call gb_Helper_register_packages_for_install,ooo_fonts,\ extras_fonts \ - $(if $(USING_X11)$(DISABLE_GUI)$(filter ANDROID EMSCRIPTEN,$(OS)), \ + $(if $(USING_X11)$(DISABLE_GUI)$(ENABLE_FONTCONFIG)$(filter ANDROID EMSCRIPTEN,$(OS)), \ postprocess_fontconfig) \ $(call gb_Helper_optional,MORE_FONTS,\ fonts_alef \ diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index e742e8e81c05..4e5bc3e158df 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -1303,7 +1303,7 @@ gb_ExternalProject__use_fontconfig := else # SYSTEM_FONTCONFIG -ifneq ($(filter-out MACOSX WNT,$(OS)),) +ifeq ($(ENABLE_FONTCONFIG),TRUE) $(eval $(call gb_Helper_register_packages_for_install,ooo,\ fontconfig \ diff --git a/external/cairo/ExternalPackage_cairo.mk b/external/cairo/ExternalPackage_cairo.mk index 6bd0800d9f21..9d2b2bdc47da 100644 --- a/external/cairo/ExternalPackage_cairo.mk +++ b/external/cairo/ExternalPackage_cairo.mk @@ -12,7 +12,11 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,cairo,cairo)) $(eval $(call gb_ExternalPackage_use_external_project,cairo,cairo)) ifneq ($(DISABLE_DYNLOADING),TRUE) +ifeq ($(OS),MACOSX) +$(eval $(call gb_ExternalPackage_add_file,cairo,$(LIBO_LIB_FOLDER)/libcairo.2.dylib,src/.libs/libcairo.2.dylib)) +else $(eval $(call gb_ExternalPackage_add_file,cairo,$(LIBO_LIB_FOLDER)/libcairo-lo.so.2,src/.libs/libcairo-lo.so.2.1170$(CAIRO_VERSION_MICRO).0)) endif +endif # vim: set noet sw=4 ts=4: diff --git a/external/cairo/ExternalPackage_pixman.mk b/external/cairo/ExternalPackage_pixman.mk index 85ff062f22e2..2afbc505fdb7 100644 --- a/external/cairo/ExternalPackage_pixman.mk +++ b/external/cairo/ExternalPackage_pixman.mk @@ -12,7 +12,11 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,pixman,pixman)) $(eval $(call gb_ExternalPackage_use_external_project,pixman,pixman)) ifneq ($(DISABLE_DYNLOADING),TRUE) +ifeq ($(OS),MACOSX) +$(eval $(call gb_ExternalPackage_add_file,pixman,$(LIBO_LIB_FOLDER)/libpixman-1.0.dylib,pixman/.libs/libpixman-1.0.42.2.dylib)) +else $(eval $(call gb_ExternalPackage_add_file,pixman,$(LIBO_LIB_FOLDER)/libpixman-1.so.0,pixman/.libs/libpixman-1.so.0.42.2)) endif +endif # vim: set noet sw=4 ts=4: diff --git a/external/cairo/ExternalProject_cairo.mk b/external/cairo/ExternalProject_cairo.mk index 40e249b51a2c..1d3509d421c8 100644 --- a/external/cairo/ExternalProject_cairo.mk +++ b/external/cairo/ExternalProject_cairo.mk @@ -67,10 +67,10 @@ $(call gb_ExternalProject_get_state_target,cairo,build) : png_REQUIRES="trick_configure_into_using_png_CFLAGS_and_LIBS" \ png_CFLAGS="$(LIBPNG_CFLAGS)" png_LIBS="$(LIBPNG_LIBS)" \ $(if $(SYSTEM_FREETYPE),,FREETYPE_CFLAGS="-I$(gb_UnpackedTarball_workdir)/freetype/include") \ - $(if $(SYSTEM_FONTCONFIG),,FONTCONFIG_CFLAGS="-I$(gb_UnpackedTarball_workdir)/fontconfig") \ + $(if $(SYSTEM_FONTCONFIG),,FONTCONFIG_CFLAGS="-I$(gb_UnpackedTarball_workdir)/fontconfig" FONTCONFIG_LIBS="-L$(gb_UnpackedTarball_workdir)/fontconfig/src/.libs -lfontconfig") \ $(if $(verbose),--disable-silent-rules,--enable-silent-rules) \ $(if $(filter TRUE,$(DISABLE_DYNLOADING)),--disable-shared,--disable-static) \ - $(if $(filter EMSCRIPTEN ANDROID iOS,$(OS)),--disable-xlib --disable-xcb,$(if $(filter TRUE,$(DISABLE_GUI)),--disable-xlib --disable-xcb,--enable-xlib --enable-xcb)) \ + $(if $(filter EMSCRIPTEN ANDROID iOS MACOSX,$(OS)),--disable-xlib --disable-xcb,$(if $(filter TRUE,$(DISABLE_GUI)),--disable-xlib --disable-xcb,--enable-xlib --enable-xcb)) \ $(if $(filter iOS,$(OS)),--enable-quartz --enable-quartz-font) \ --disable-valgrind \ $(if $(filter iOS,$(OS)),--disable-ft,--enable-ft --enable-fc) \ diff --git a/external/cairo/ExternalProject_pixman.mk b/external/cairo/ExternalProject_pixman.mk index f95fcb626ccc..72a470dc5692 100644 --- a/external/cairo/ExternalProject_pixman.mk +++ b/external/cairo/ExternalProject_pixman.mk @@ -26,10 +26,12 @@ $(call gb_ExternalProject_get_state_target,pixman,build) : $(gb_RUN_CONFIGURE) ./configure \ $(if $(filter TRUE,$(DISABLE_DYNLOADING)),--disable-shared,--disable-static) \ $(if $(filter ANDROID,$(OS)),--disable-arm-simd --disable-arm-neon --disable-arm-a64-neon --disable-arm-iwmmxt) \ + $(if $(filter MACOSX,$(OS)),--disable-arm-a64-neon) \ $(gb_CONFIGURE_PLATFORMS) \ $(if $(CROSS_COMPILING),$(if $(filter INTEL ARM,$(CPUNAME)),ac_cv_c_bigendian=no)) \ $(if $(filter EMSCRIPTEN,$(OS)),CFLAGS="-O3 -pthread -msimd128") \ $(if $(filter -fsanitize=undefined,$(CC)),CC='$(CC) -fno-sanitize=function') \ + $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \ && $(MAKE) \ ) $(call gb_Trace_EndRange,pixman,EXTERNAL) diff --git a/external/cairo/UnpackedTarball_cairo.mk b/external/cairo/UnpackedTarball_cairo.mk index f1697c6d0cc9..70ff2e18c154 100644 --- a/external/cairo/UnpackedTarball_cairo.mk +++ b/external/cairo/UnpackedTarball_cairo.mk @@ -28,11 +28,16 @@ $(eval $(call gb_UnpackedTarball_add_patches,cairo,\ external/cairo/cairo/cairo.ofz46165.patch.1 \ external/cairo/cairo/cairo.ofz50805.patch.1 \ external/cairo/cairo/0025-libtool-pass-use-ld.patch \ - external/cairo/cairo/libcairo-bundled-soname.patch.0 \ external/cairo/cairo/cairo-fd-hack.patch.0 \ external/cairo/cairo/cairo.ofz57493-Timeout.patch.1 \ )) +ifneq ($(OS),MACOSX) +$(eval $(call gb_UnpackedTarball_add_patches,cairo,\ + external/cairo/cairo/libcairo-bundled-soname.patch.0 \ +)) +endif + ifeq ($(OS),iOS) $(eval $(call gb_UnpackedTarball_add_patches,cairo,\ external/cairo/cairo/cairo-1.10.2.no-atsui.patch \ diff --git a/external/fontconfig/ExternalPackage_fontconfig.mk b/external/fontconfig/ExternalPackage_fontconfig.mk index dd0550ce2106..4ac2c2f3c47c 100644 --- a/external/fontconfig/ExternalPackage_fontconfig.mk +++ b/external/fontconfig/ExternalPackage_fontconfig.mk @@ -12,7 +12,11 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,fontconfig,fontconfig)) $(eval $(call gb_ExternalPackage_use_external_project,fontconfig,fontconfig)) ifeq ($(DISABLE_DYNLOADING),) +ifeq ($(OS),MACOSX) +$(eval $(call gb_ExternalPackage_add_file,fontconfig,$(LIBO_LIB_FOLDER)/libfontconfig.1.dylib,src/.libs/libfontconfig.1.dylib)) +else $(eval $(call gb_ExternalPackage_add_file,fontconfig,$(LIBO_LIB_FOLDER)/libfontconfig-lo.so.1.15.0,src/.libs/libfontconfig-lo.so.1.15.0)) endif +endif # vim: set noet sw=4 ts=4: diff --git a/external/fontconfig/ExternalProject_fontconfig.mk b/external/fontconfig/ExternalProject_fontconfig.mk index 0d899ef129bd..fd72bb94ef3c 100644 --- a/external/fontconfig/ExternalProject_fontconfig.mk +++ b/external/fontconfig/ExternalProject_fontconfig.mk @@ -27,7 +27,7 @@ $(call gb_ExternalProject_get_state_target,fontconfig,build) : $(if $(filter -fsanitize=undefined,$(CC)),CC='$(CC) -fno-sanitize=function') \ CFLAGS="$(CFLAGS) \ $(call gb_ExternalProject_get_build_flags,fontconfig) \ - $(gb_VISIBILITY_FLAGS) \ + $(if $(filter-out MACOSX,$(OS)),$(gb_VISIBILITY_FLAGS)) \ $(if $(filter EMSCRIPTEN,$(OS)),-pthread)" \ $(if $(filter ANDROID,$(OS)),LIBS="-lm") \ $(if $(filter EMSCRIPTEN,$(OS)),LIBXML2_CFLAGS="$(LIBXML_CFLAGS)" LIBXML2_LIBS="$(LIBXML_LIBS)") \ @@ -58,6 +58,7 @@ $(call gb_ExternalProject_get_state_target,fontconfig,build) : --with-cache-dir=/usr/lib/fontconfig/cache \ ) \ ) \ + $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \ && $(MAKE) -C src && $(MAKE) fonts.conf \ ) $(call gb_Trace_EndRange,fontconfig,EXTERNAL) diff --git a/external/fontconfig/Module_fontconfig.mk b/external/fontconfig/Module_fontconfig.mk index 61f201d415b6..21dea02acd43 100644 --- a/external/fontconfig/Module_fontconfig.mk +++ b/external/fontconfig/Module_fontconfig.mk @@ -12,7 +12,7 @@ $(eval $(call gb_Module_Module,fontconfig)) $(eval $(call gb_Module_add_targets,fontconfig,\ ExternalProject_fontconfig \ $(if $(filter EMSCRIPTEN,$(OS)),ExternalPackage_fontconfig_data) \ - $(if $(filter LINUX,$(OS)),ExternalPackage_fontconfig) \ + $(if $(filter TRUE,$(ENABLE_FONTCONFIG)),ExternalPackage_fontconfig) \ UnpackedTarball_fontconfig \ )) diff --git a/external/fontconfig/UnpackedTarball_fontconfig.mk b/external/fontconfig/UnpackedTarball_fontconfig.mk index e37e8f6cb3e5..0636de8655ac 100644 --- a/external/fontconfig/UnpackedTarball_fontconfig.mk +++ b/external/fontconfig/UnpackedTarball_fontconfig.mk @@ -15,7 +15,12 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,fontconfig,0)) $(eval $(call gb_UnpackedTarball_add_patches,fontconfig,\ external/fontconfig/fontconfig-2.12.1.patch.1 \ +)) + +ifneq ($(OS),MACOSX) +$(eval $(call gb_UnpackedTarball_add_patches,fontconfig,\ external/fontconfig/libfontconfig-bundled-soname.patch.0 \ )) +endif # vim: set noet sw=4 ts=4: commit 30f24a2d7701a002e3ccbb98433a1d7874e97eb4 Author: Jan Holesovsky <ke...@collabora.com> AuthorDate: Mon Nov 18 13:31:36 2024 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 27 10:22:37 2025 +0200 Introduce --enable-headless to add it as a possibility on macOS Change-Id: I3ea0fbdab2d36bf9c9565ed3274eee978ba6764d diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index 434527d34926..e742e8e81c05 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -1214,7 +1214,7 @@ endef else # !SYSTEM_CAIRO -ifneq ($(filter-out MACOSX WNT,$(OS)),) +ifneq ($(filter-out MACOSX$(ENABLE_HEADLESS) WNT,$(OS)),) $(eval $(call gb_Helper_register_packages_for_install,ooo,\ cairo \ diff --git a/configure.ac b/configure.ac index 665808bd8312..9b0201737d80 100644 --- a/configure.ac +++ b/configure.ac @@ -1026,7 +1026,11 @@ cygwin*|wsl*) ;; darwin*) # macOS - using_freetype_fontconfig=no + if test "$enable_headless" != "yes"; then + using_freetype_fontconfig=no + else + using_freetype_fontconfig=yes + fi using_x11=no build_skia=yes enable_pagein=no @@ -1872,6 +1876,11 @@ AC_ARG_ENABLE(gen, Per default auto-enabled when X11 is used.]), ,test "${test_gen}" = no -o "${enable_gen+set}" = set || enable_gen=yes) +AC_ARG_ENABLE(headless, + AS_HELP_STRING([--enable-headless], + [Enable headless plugin (svp) even on macOS.]), +,using_headless_plugin=yes) + AC_ARG_ENABLE(gui, AS_HELP_STRING([--disable-gui], [Disable use of X11 or Wayland to reduce dependencies (e.g. for building LibreOfficeKit).]), commit 7089df80b535ee3eca7458a73bde1ac1c556c0ed Author: Jan Holesovsky <ke...@collabora.com> AuthorDate: Mon Feb 3 12:11:42 2025 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 27 10:22:23 2025 +0200 It seems better to configure for sandbox LOKit will need to run in the sandbox in the end, and this avoids a crash in coolwsd, so let's configure with this right away. Change-Id: Iac58b20192274fea749befd8bb77592852edb64c diff --git a/distro-configs/CPMacOS-LOKit.conf b/distro-configs/CPMacOS-LOKit.conf index c380a9dd899d..f870a48b1e7e 100644 --- a/distro-configs/CPMacOS-LOKit.conf +++ b/distro-configs/CPMacOS-LOKit.conf @@ -1,5 +1,8 @@ INCLUDE:CPLinux-LOKit +# LOKit needs to be able to run in the sandbox +--enable-macosx-sandbox + # disable Linux stuff that we don't need --disable-epm --disable-python commit 6eedec278ba2229ba4d0d67ceea72700bb4d62be Author: Jan Holesovsky <ke...@collabora.com> AuthorDate: Mon Oct 21 07:08:39 2024 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 27 10:06:39 2025 +0200 Initial distro-config for LOKit on macOS Change-Id: If251f2fbc33e74b28b2f8fc3d14813f3fba2f431 diff --git a/distro-configs/CPMacOS-LOKit.conf b/distro-configs/CPMacOS-LOKit.conf new file mode 100644 index 000000000000..c380a9dd899d --- /dev/null +++ b/distro-configs/CPMacOS-LOKit.conf @@ -0,0 +1,33 @@ +INCLUDE:CPLinux-LOKit + +# disable Linux stuff that we don't need +--disable-epm +--disable-python +--without-package-format +--enable-gui + +# from LibreOfficeiOS (copied only, to avoid the --host setting) +--disable-breakpad +--disable-firebird-sdbc +--disable-online-update + +--without-export-validation +--without-helppack-integration +--without-java +--without-junit + +--with-theme=colibre + +--with-build-platform-configure-options=--with-system-jpeg=no + +--disable-avahi +--disable-avmedia +--disable-compiler-plugins +--disable-cups +--disable-dconf +--disable-extensions +--disable-kf5 +--disable-odk +--disable-openssl +--disable-poppler +--disable-python