office-gobmx/desktop/Library_sofficeapp.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

156 lines
3.7 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/.
#
$(eval $(call gb_Library_Library,sofficeapp))
$(eval $(call gb_Library_set_include,sofficeapp,\
$$(INCLUDE) \
-I$(SRCDIR)/desktop/inc \
-I$(SRCDIR)/desktop/source/inc \
-I$(SRCDIR)/desktop/source/deployment/inc \
))
$(eval $(call gb_Library_use_externals,sofficeapp, \
$(if $(ENABLE_BREAKPAD),breakpad) \
$(if $(filter OPENCL,$(BUILD_TYPE)),clew) \
boost_headers \
dbus \
icu_headers \
icui18n \
icuuc \
$(if $(filter-out EMSCRIPTEN iOS,$(OS)), \
curl \
)\
$(if $(ENABLE_ONLINE_UPDATE_MAR),\
orcus-parser \
orcus )\
))
$(eval $(call gb_Library_use_custom_headers,sofficeapp,\
officecfg/registry \
))
$(eval $(call gb_Library_use_api,sofficeapp,\
udkapi \
offapi \
))
$(eval $(call gb_Library_add_defs,sofficeapp,\
-DDESKTOP_DLLIMPLEMENTATION \
$(if $(filter WNT,$(OS)),-DENABLE_QUICKSTART_APPLET) \
$(if $(filter MACOSX,$(OS)),-DENABLE_QUICKSTART_APPLET) \
))
$(eval $(call gb_Library_set_precompiled_header,sofficeapp,desktop/inc/pch/precompiled_sofficeapp))
$(eval $(call gb_Library_use_libraries,sofficeapp,\
comphelper \
cppu \
cppuhelper \
$(if $(ENABLE_BREAKPAD), \
crashreport \
) \
deploymentmisc \
editeng \
fwk \
i18nlangtag \
$(if $(filter OPENCL,$(BUILD_TYPE)),opencl) \
sal \
salhelper \
sb \
sfx \
svl \
svx \
svxcore \
svt \
tk \
tl \
ucbhelper \
utl \
vcl \
))
ifeq ($(OS),WNT)
$(eval $(call gb_Library_use_static_libraries,sofficeapp,\
$(if $(ENABLE_ONLINE_UPDATE_MAR),\
windows_process )\
))
endif
ifeq ($(OS),MACOSX)
$(eval $(call gb_Library_add_cxxflags,sofficeapp,\
$(gb_OBJCXXFLAGS) \
))
$(eval $(call gb_Library_use_system_darwin_frameworks,sofficeapp,\
Foundation \
))
endif
ifeq ($(OS),iOS)
$(eval $(call gb_Library_add_cflags,sofficeapp,\
$(gb_OBJCFLAGS) \
))
$(eval $(call gb_Library_add_cxxflags,sofficeapp,\
$(gb_OBJCXXFLAGS) \
))
endif
$(eval $(call gb_Library_add_exception_objects,sofficeapp,\
desktop/source/app/app \
desktop/source/app/appinit \
desktop/source/app/check_ext_deps \
desktop/source/app/cmdlineargs \
desktop/source/app/cmdlinehelp \
desktop/source/app/desktopcontext \
desktop/source/app/dispatchwatcher \
desktop/source/app/langselect \
desktop/source/app/lockfile2 \
desktop/source/app/officeipcthread \
desktop/source/app/opencl \
desktop/source/app/sofficemain \
$(if $(ENABLE_ONLINE_UPDATE_MAR),\
desktop/source/app/updater )\
desktop/source/app/userinstall \
desktop/source/migration/migration \
))
# LibreOfficeKit bits
ifneq ($(filter $(OS),ANDROID iOS MACOSX WNT),)
$(eval $(call gb_Library_add_exception_objects,sofficeapp,\
desktop/source/lib/init \
desktop/source/lib/lokinteractionhandler \
$(if $(filter-out $(OS),iOS), \
desktop/source/lib/lokclipboard) \
$(if $(filter $(OS),ANDROID), \
desktop/source/lib/lokandroid) \
))
else
ifeq ($(USING_X11),TRUE)
$(eval $(call gb_Library_add_exception_objects,sofficeapp,\
desktop/source/lib/init \
desktop/source/lib/lokinteractionhandler \
desktop/source/lib/lokclipboard \
))
endif
ifeq ($(DISABLE_GUI),TRUE)
$(eval $(call gb_Library_add_exception_objects,sofficeapp,\
desktop/source/lib/init \
desktop/source/lib/lokinteractionhandler \
desktop/source/lib/lokclipboard \
))
endif
endif
# vim: set ts=4 sw=4 et: