tdf#170932 Allow building win vcl plugin alongside --enable-headless

commit 430f603c6a
    Author: Tor Lillqvist <tml@collabora.com>
    Date:   Tue Feb 25 19:52:15 2025 +0200

        Make --enable-headless possible also on Windows, for CODA-W

        [...]

        In the --enable-headless case, freetype, fontconfig and cairo are
        built. For now, cairo is built as a Library (DLL), but fontconfig and
        freetype as StaticLibrary. Possibly should change these to DLLs,
        too. (See preceding commits.) Do not build the vclplug_win.

had introduced support for --enable-headless on
Windows.

As described in the commit message, using the
--enable-headless autogen switch would result in vclplug_win
(i.e. the VCL plugin that provides the UI on Windows)
automatically getting disabled unconditionally.

As described in tdf#170932, this e.g. prevents using
headless mode for document conversion while still
allowing to start LO with a UI with the same build.

Separate the two features:
No longer disable vclplug_win automatically anymore when
--enable-headless is used.
Instead, introduce a new separate --disable-win
autogen switch to explicitly disable the win vcl plugin
(similar to other existing autogen params like
--disable-gtk3 to disable the gtk3 VCL plugin on Linux).

Add that new --disable-win switch to the
CODAWindows distro config, to achieve the original
goal of both enabling headless and disabling vclplug_win
for that build configuration.

Change-Id: I54bc34981327244aa1c8b0aa5b6277ffd1fb4531
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202043
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@iki.fi>
This commit is contained in:
Michael Weghorn
2026-03-19 12:45:03 +01:00
parent 97b716e52c
commit 057f491458
7 changed files with 14 additions and 3 deletions
+1 -1
View File
@@ -530,7 +530,7 @@ $(eval $(call gb_Helper_register_plugins_for_install,OOOLIBS,ooo, \
icg \
sdui \
$(if $(ENABLE_GEN),vclplug_gen) \
$(if $(filter $(OS)-$(USE_HEADLESS_CODE),WNT-),vclplug_win) \
$(if $(ENABLE_WIN),vclplug_win) \
$(if $(filter $(OS),MACOSX),vclplug_osx) \
))
+1 -1
View File
@@ -4147,7 +4147,7 @@ $(call gb_Executable_add_runtime_dependencies,gengal,\
$(call gb_Library_get_target_for_build,$(CPPU_ENV_FOR_BUILD)_uno) \
$(call gb_Library_get_target_for_build,localedata_en) \
$(if $(filter MACOSX,$(OS_FOR_BUILD)),$(call gb_Library_get_target_for_build,vclplug_osx)) \
$(if $(filter WNT-,$(OS_FOR_BUILD)-$(USE_HEADLESS_CODE)),$(call gb_Library_get_target_for_build,vclplug_win)) \
$(if $(ENABLE_WIN),$(call gb_Library_get_target_for_build,vclplug_win)) \
$(if $(filter host,$(gb_Side)),$(call gb_Package_get_target,postprocess_images)) \
$(call gb_Package_get_target_for_build,postprocess_registry) \
$(INSTROOT_FOR_BUILD)/$(LIBO_URE_ETC_FOLDER)/$(call gb_Helper_get_rcfile,uno) \
+1
View File
@@ -273,6 +273,7 @@ export ENABLE_WASM_STRIP_SPLASH=@ENABLE_WASM_STRIP@
export ENABLE_WASM_STRIP_SWEXPORTS=@ENABLE_WASM_STRIP@
export ENABLE_WASM_STRIP_SCEXPORTS=@ENABLE_WASM_STRIP@
export ENABLE_WERROR=@ENABLE_WERROR@
export ENABLE_WIN=@ENABLE_WIN@
ENABLE_WIX=@ENABLE_WIX@
export ENABLE_Z7_DEBUG=@ENABLE_Z7_DEBUG@
export ENDIANNESS=@ENDIANNESS@
+1
View File
@@ -23,6 +23,7 @@ Settings about which desktops have support enabled.
#define ENABLE_KF6 0
#define ENABLE_QT5 0
#define ENABLE_QT6 0
#define ENABLE_WIN 0
/**
* Additional settings for the plugins
+8
View File
@@ -1063,6 +1063,7 @@ cygwin*|wsl*)
using_x11=no
test_unix_dlapi=no
test_openldap=no
test_win=yes
enable_pagein=no
build_skia=yes
_os=WINNT
@@ -1304,6 +1305,7 @@ test "$test_kf5" = yes -a "$test_qt5" = no && test_kf5=no
test "$test_kf5" = yes && test_qt5=yes
test "$test_gtk3" != yes && enable_gtk3=no
test "$test_gtk3" != yes -o "$test_kf5" != yes && test_gtk3_kde5=no
test "$test_win" != yes && enable_win=no
test "$using_freetype_fontconfig" = no && using_headless_plugin=no
test "$using_freetype_fontconfig" = yes && test_cairo=yes
@@ -1967,6 +1969,11 @@ AC_ARG_ENABLE(headless,
[Enable headless plugin (svp) even on macOS or Windows.]),
,using_headless_plugin=yes)
AC_ARG_ENABLE(win,
AS_HELP_STRING([--disable-win],
[Determines whether to use the win vclplug when building on Windows.]),
,test "${test_win}" = no -o "${enable_win+set}" = set || enable_win=yes)
AC_ARG_ENABLE(gui,
AS_HELP_STRING([--disable-gui],
[Disable use of X11 or Wayland to reduce dependencies (e.g. for building LibreOfficeKit).]),
@@ -12580,6 +12587,7 @@ libo_ENABLE_VCLPLUG([kf5])
libo_ENABLE_VCLPLUG([kf6])
libo_ENABLE_VCLPLUG([qt5])
libo_ENABLE_VCLPLUG([qt6])
libo_ENABLE_VCLPLUG([win])
if test "$_os" = "WINNT"; then
R="$R win"
+1
View File
@@ -25,6 +25,7 @@
--disable-cli
--with-myspell-dicts
--enable-headless
--disable-win
--enable-mergelibs
--disable-opencl
--disable-opengl
+1 -1
View File
@@ -147,7 +147,7 @@ $(eval $(call gb_Module_add_targets,vcl,\
))
endif
ifeq ($(OS)-$(USE_HEADLESS_CODE),WNT-)
ifneq ($(ENABLE_WIN),)
$(eval $(call gb_Module_add_targets,vcl,\
Library_vclplug_win \
))