Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GTK] Build broken with USE_GBM=OFF #26379

Merged
merged 1 commit into from Mar 24, 2024

Conversation

aperezdc
Copy link
Contributor

@aperezdc aperezdc commented Mar 23, 2024

6af38ff

[GTK] Build broken with USE_GBM=OFF
https://bugs.webkit.org/show_bug.cgi?id=271525

Reviewed by Michael Catanzaro.

Add missing USE(GBM) guards, arrange to link against libdrm with
USE_GBM=OFF and USE_LIBDRM=ON, and while at it convert the the libdrm
CMake find-module to use imported targets.

* Source/WebCore/PlatformGTK.cmake: Link libgbm or libdrm as appropriate.
* Source/WebCore/PlatformWPE.cmake: Ditto.
* Source/WebKit/PlatformGTK.cmake: Remove explicit libdrm linking, now
using an imported target it gets pulled transitively due to WebKit
linking against the WebCore target.
* Source/WebKit/PlatformWPE.cmake: Ditto.
* Source/WebKit/WPEPlatform/CMakeLists.txt: Link libgbm of libdrm as
appropriate, remove specifying the libdrm include directory for
GObject-Introspection as it gets pulled from transitively from the
imported target.
* Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.cpp:
(WebKit::AcceleratedSurfaceDMABuf::backgroundColorDidChange): Add
missing USE(GBM) guard on usage of SwapChain::Type::EGLImage.
* Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.h:
Only define SwapChain::Type::EGLImage with USE(GBM).
* Source/cmake/FindGBM.cmake: Make the GBM::GBM target INTERFACE-depend
on the LibDRM::LibDRM target, because headers from the former include
headers from the latter.
* Source/cmake/FindLibDRM.cmake: Convert to use imported targets, this
is needed to make GBM::GBM depend on it, and simplifies CMake build
files all around.
* Source/cmake/OptionsGTK.cmake: Use LibDRM_FOUND instead of LIBDRM_FOUND.
* Source/cmake/OptionsWPE.cmake: Ditto.

Canonical link: https://commits.webkit.org/276612@main

7a6e966

Misc iOS, tvOS & watchOS macOS Linux Windows
βœ… πŸ§ͺ style βœ… πŸ›  ios βœ… πŸ›  mac βœ… πŸ›  wpe βœ… πŸ›  wincairo
βœ… πŸ§ͺ bindings βœ… πŸ›  ios-sim βœ… πŸ›  mac-AS-debug ❌ πŸ§ͺ wpe-wk2
βœ… πŸ§ͺ webkitperl ❌ πŸ§ͺ ios-wk2 βœ… πŸ§ͺ api-mac βœ… πŸ§ͺ api-wpe
βœ… πŸ§ͺ ios-wk2-wpt βœ… πŸ§ͺ mac-wk1 βœ… πŸ›  wpe-skia
βœ… πŸ›  πŸ§ͺ jsc βœ… πŸ§ͺ api-ios βœ… πŸ§ͺ mac-wk2 βœ… πŸ›  gtk
βœ… πŸ›  πŸ§ͺ jsc-arm64 βœ… πŸ›  tv βœ… πŸ§ͺ mac-AS-debug-wk2 βœ… πŸ§ͺ gtk-wk2
βœ… πŸ›  tv-sim βœ… πŸ§ͺ api-gtk
βœ… πŸ›  watch βœ… πŸ›  jsc-armv7
βœ… πŸ›  πŸ§ͺ unsafe-merge βœ… πŸ›  watch-sim βœ… πŸ§ͺ jsc-armv7-tests

@aperezdc aperezdc requested review from a team and cdumez as code owners March 23, 2024 22:59
@aperezdc aperezdc self-assigned this Mar 23, 2024
@aperezdc aperezdc added the Tools / Tests Tools in the Tools directory, build issues, test infrastructure, and bugs in test cases label Mar 23, 2024
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Mar 24, 2024
@aperezdc aperezdc added unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing and removed merging-blocked Applied to prevent a change from being merged labels Mar 24, 2024
https://bugs.webkit.org/show_bug.cgi?id=271525

Reviewed by Michael Catanzaro.

Add missing USE(GBM) guards, arrange to link against libdrm with
USE_GBM=OFF and USE_LIBDRM=ON, and while at it convert the the libdrm
CMake find-module to use imported targets.

* Source/WebCore/PlatformGTK.cmake: Link libgbm or libdrm as appropriate.
* Source/WebCore/PlatformWPE.cmake: Ditto.
* Source/WebKit/PlatformGTK.cmake: Remove explicit libdrm linking, now
using an imported target it gets pulled transitively due to WebKit
linking against the WebCore target.
* Source/WebKit/PlatformWPE.cmake: Ditto.
* Source/WebKit/WPEPlatform/CMakeLists.txt: Link libgbm of libdrm as
appropriate, remove specifying the libdrm include directory for
GObject-Introspection as it gets pulled from transitively from the
imported target.
* Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.cpp:
(WebKit::AcceleratedSurfaceDMABuf::backgroundColorDidChange): Add
missing USE(GBM) guard on usage of SwapChain::Type::EGLImage.
* Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.h:
Only define SwapChain::Type::EGLImage with USE(GBM).
* Source/cmake/FindGBM.cmake: Make the GBM::GBM target INTERFACE-depend
on the LibDRM::LibDRM target, because headers from the former include
headers from the latter.
* Source/cmake/FindLibDRM.cmake: Convert to use imported targets, this
is needed to make GBM::GBM depend on it, and simplifies CMake build
files all around.
* Source/cmake/OptionsGTK.cmake: Use LibDRM_FOUND instead of LIBDRM_FOUND.
* Source/cmake/OptionsWPE.cmake: Ditto.

Canonical link: https://commits.webkit.org/276612@main
@webkit-commit-queue
Copy link
Collaborator

Committed 276612@main (6af38ff): https://commits.webkit.org/276612@main

Reviewed commits have been landed. Closing PR #26379 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit 6af38ff into WebKit:main Mar 24, 2024
@webkit-commit-queue webkit-commit-queue removed the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Mar 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Tools / Tests Tools in the Tools directory, build issues, test infrastructure, and bugs in test cases
Projects
None yet
5 participants