office-gobmx/vcl/Module_vcl.mk
Stephan Bergmann 8a734ba928 Drop support for OpenGL denylist on X11
...which appears to have become even less relevant with
db89f53c31 "remove OpenGL VCL backend code".  And
the vcl/unx/glxtest.cxx machinery that it is based on is (a) known to cause
issues like <https://gitlab.freedesktop.org/mesa/mesa/-/issues/3957>
"LibreOffice's OpenGL version detection code hangs when running inside a flatpak
container with a different mesa version", and (b) is one of the two reasons why
an soffice that uses Wayland nevertheless also requires Xwayland during startup
(the other reason being oosplash).  So getting rid of the glxtest machinery is
beneficial.

The remaining two potential uses of OpenGL on X11/Wayland are the obscure
css.rendering.SpriteCanvas.OGL service implementation (about which
db89f53c31 states that "it seems has never been
finished or enabled (or so it most probably should be dumped too)") and some
slideshow transitions.  About the latter, Caolán stated on IRC:  "I think we
grew this set of stuff to check for dodgy opengl primarily for the case where
vcl used opengl for ordinary UI optimizations; but I think that use is gone now
so I wonder does it make sense to just drop all of that entirely; for just slide
transitions we apparently survived fine without the denylist for ages".  (And in
any case there is still the WatchdogThread support with OpenGLZone::hardDisable
in VCLExceptionSignal_impl, vcl/source/app/svmain.cxx, should any OpenGL code
run into problems.)

(The removal of gb_LinkTarget_use_glxtest from gb_LinkTarget_use_vclmain, which
indirectly brought in gb_LinkTarget_use_libraries,*,vcl, revealed that an
explicit use of vcl was missing from various Executables etc., which thus had to
be added now.)

Change-Id: Ifa5220fd09910a4459ca546d9655e479a2e38f1e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131943
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-03-28 14:31:07 +02:00

271 lines
6.9 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This file incorporates work covered by the following license notice:
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed
# with this work for additional information regarding copyright
# ownership. The ASF licenses this file to you under the Apache
# License, Version 2.0 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.apache.org/licenses/LICENSE-2.0 .
#
$(eval $(call gb_Module_Module,vcl))
ifneq ($(ENABLE_WASM_STRIP_PINGUSER),TRUE)
$(eval $(call gb_Module_add_targets,vcl,\
Package_tipoftheday \
))
endif
$(eval $(call gb_Module_add_targets,vcl,\
Library_vcl \
Package_theme_definitions \
Package_toolbarmode \
UIConfig_vcl \
$(if $(filter WNT,$(OS)), \
Package_opengl_denylist ) \
$(if $(filter SKIA,$(BUILD_TYPE)), \
Package_skia_denylist ) \
$(if $(filter DESKTOP FUZZERS,$(BUILD_TYPE)), \
StaticLibrary_vclmain \
$(if $(or $(DISABLE_GUI),$(DISABLE_DYNLOADING)), \
$(if $(filter EMSCRIPTEN,$(OS)),Executable_vcldemo) \
, \
$(if $(filter LINUX MACOSX SOLARIS WNT %BSD,$(OS)), \
Executable_vcldemo \
Executable_icontest \
Executable_visualbackendtest \
Executable_mtfdemo \
) \
)) \
))
ifeq ($(CROSS_COMPILING)$(DISABLE_DYNLOADING),)
$(eval $(call gb_Module_add_targets,vcl,\
$(if $(filter-out ANDROID iOS WNT,$(OS)), \
Executable_svdemo \
Executable_minvcl \
Executable_fftester \
Executable_svptest \
Executable_listfonts \
Executable_svpclient) \
))
endif
$(eval $(call gb_Module_add_l10n_targets,vcl,\
AllLangMoTarget_vcl \
))
ifeq ($(USING_X11),TRUE)
$(eval $(call gb_Module_add_targets,vcl,\
$(if $(ENABLE_GEN),Library_vclplug_gen) \
Library_desktop_detector \
Package_fontunxppds \
Package_fontunxpsprint \
))
endif
ifneq ($(ENABLE_GTK3),)
$(eval $(call gb_Module_add_targets,vcl,\
Library_vclplug_gtk3 \
))
endif
ifneq ($(ENABLE_GTK4),)
$(eval $(call gb_Module_add_targets,vcl,\
Library_vclplug_gtk4 \
))
endif
ifneq ($(ENABLE_KF5),)
$(eval $(call gb_Module_add_targets,vcl,\
CustomTarget_kf5_moc \
Library_vclplug_kf5 \
))
endif
ifneq ($(ENABLE_QT5),)
$(eval $(call gb_Module_add_targets,vcl,\
CustomTarget_qt5_moc \
Library_vclplug_qt5 \
))
endif
ifneq ($(ENABLE_QT6),)
$(eval $(call gb_Module_add_targets,vcl,\
CustomTarget_qt6_moc \
Library_vclplug_qt6 \
))
endif
ifneq ($(ENABLE_GTK3_KDE5),)
$(eval $(call gb_Module_add_targets,vcl,\
CustomTarget_gtk3_kde5_moc \
Library_vclplug_gtk3_kde5 \
Executable_lo_kde5filepicker \
))
endif
ifeq ($(OS),MACOSX)
$(eval $(call gb_Module_add_targets,vcl,\
Package_osxres \
Library_vclplug_osx \
))
endif
ifeq ($(OS),WNT)
$(eval $(call gb_Module_add_targets,vcl,\
WinResTarget_vcl \
Library_vclplug_win \
))
endif
ifneq (,$(filter FUZZERS,$(BUILD_TYPE)))
$(eval $(call gb_Module_add_targets,vcl,\
CustomTarget_nativecore \
CustomTarget_nativecalc \
CustomTarget_nativedraw \
CustomTarget_nativewriter \
CustomTarget_nativemath \
StaticLibrary_fuzzer_core \
StaticLibrary_fuzzer_calc \
StaticLibrary_fuzzer_draw \
StaticLibrary_fuzzer_writer \
StaticLibrary_fuzzer_math \
Executable_wmffuzzer \
Executable_jpgfuzzer \
Executable_giffuzzer \
Executable_xbmfuzzer \
Executable_xpmfuzzer \
Executable_pngfuzzer \
Executable_bmpfuzzer \
Executable_svmfuzzer \
Executable_pcdfuzzer \
Executable_dxffuzzer \
Executable_metfuzzer \
Executable_ppmfuzzer \
Executable_psdfuzzer \
Executable_epsfuzzer \
Executable_pctfuzzer \
Executable_pcxfuzzer \
Executable_rasfuzzer \
Executable_tgafuzzer \
Executable_tiffuzzer \
Executable_hwpfuzzer \
Executable_602fuzzer \
Executable_lwpfuzzer \
Executable_olefuzzer \
Executable_pptfuzzer \
Executable_rtffuzzer \
Executable_cgmfuzzer \
Executable_ww2fuzzer \
Executable_ww6fuzzer \
Executable_ww8fuzzer \
Executable_qpwfuzzer \
Executable_slkfuzzer \
Executable_fodtfuzzer \
Executable_fodsfuzzer \
Executable_fodpfuzzer \
Executable_xlsfuzzer \
Executable_scrtffuzzer \
Executable_wksfuzzer \
Executable_diffuzzer \
Executable_docxfuzzer \
Executable_xlsxfuzzer \
Executable_pptxfuzzer \
Executable_mmlfuzzer \
Executable_mtpfuzzer \
Executable_htmlfuzzer \
Executable_sftfuzzer \
Executable_dbffuzzer \
Executable_webpfuzzer \
))
endif
$(eval $(call gb_Module_add_check_targets,vcl,\
CppunitTest_vcl_drawmode \
CppunitTest_vcl_lifecycle \
CppunitTest_vcl_bitmap_test \
CppunitTest_vcl_bitmapprocessor_test \
CppunitTest_vcl_graphic_test \
CppunitTest_vcl_fontcharmap \
CppunitTest_vcl_font \
CppunitTest_vcl_fontfeature \
CppunitTest_vcl_fontmetric \
CppunitTest_vcl_text \
CppunitTest_vcl_filters_test \
CppunitTest_vcl_mnemonic \
CppunitTest_vcl_outdev \
CppunitTest_vcl_gradient \
CppunitTest_vcl_app_test \
CppunitTest_vcl_jpeg_read_write_test \
CppunitTest_vcl_svm_test \
CppunitTest_vcl_errorhandler \
CppunitTest_vcl_bitmap_render_test \
CppunitTest_vcl_apitests \
CppunitTest_vcl_png_test \
CppunitTest_vcl_widget_definition_reader_test \
CppunitTest_vcl_backend_test \
CppunitTest_vcl_blocklistparser_test \
CppunitTest_vcl_type_serializer_test \
$(call gb_Helper_optional, PDFIUM, \
CppunitTest_vcl_pdfium_library_test) \
$(if $(filter SKIA,$(BUILD_TYPE)), \
CppunitTest_vcl_skia) \
CppunitTest_vcl_filter_igif \
))
ifeq ($(USING_X11),TRUE)
$(eval $(call gb_Module_add_check_targets,vcl,\
CppunitTest_vcl_timer \
))
endif
ifeq ($(DISABLE_GUI),TRUE)
$(eval $(call gb_Module_add_check_targets,vcl,\
CppunitTest_vcl_timer \
))
endif
# Is any configuration missing?
ifeq ($(OS),WNT)
$(eval $(call gb_Module_add_check_targets,vcl,\
CppunitTest_vcl_timer \
))
endif
ifeq ($(OS),MACOSX)
$(eval $(call gb_Module_add_check_targets,vcl,\
CppunitTest_vcl_timer \
))
endif
# screenshots
$(eval $(call gb_Module_add_screenshot_targets,vcl,\
CppunitTest_vcl_dialogs_test \
))
ifneq ($(DISPLAY),)
$(eval $(call gb_Module_add_slowcheck_targets,vcl,\
CppunitTest_vcl_gen \
))
endif
ifneq (,$(filter PDFIUM,$(BUILD_TYPE)))
$(eval $(call gb_Module_add_slowcheck_targets,vcl,\
CppunitTest_vcl_pdfexport \
CppunitTest_vcl_filter_ipdf \
))
endif
# vim: set noet sw=4 ts=4: