Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d18deb339c2f4afe0e58ee1409d7829a7ee323e1
https://github.com/WebKit/WebKit/commit/d18deb339c2f4afe0e58ee1409d7829a7ee323e1
Author: Zak Ridouh <[email protected]>
Date: 2026-04-27 (Mon, 27 Apr 2026)
Changed paths:
M Source/CMakeLists.txt
A Source/ThirdParty/dav1d/CMakeLists.txt
M Source/ThirdParty/libwebrtc/CMakeLists.txt
M Source/WebCore/PlatformMac.cmake
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/platform/SourcesLibWebRTC.txt
M Source/cmake/OptionsMac.cmake
M Source/cmake/WebKitFeatures.cmake
Log Message:
-----------
[CMake] Enable AV1 codec support on the macOS port
https://bugs.webkit.org/show_bug.cgi?id=312104
rdar://174612544
Reviewed by Geoffrey Garen.
ENABLE_AV1 was force-disabled on the macOS CMake port because dav1d
upstream uses meson and it was assumed CMake couldn't build it.
It turns out the Xcode build doesn't actually invoke meson. Both
dav1d.xcodeproj and the libaom Xcode target compile the vendored
sources directly and skip assembly entirely (dav1d's config.h pins
HAVE_ASM=0; libaom uses NEON intrinsics on Apple arm64 instead of
asm). So we can do the same thing in CMake with no new build tools
and no `brew install`.
This change adds CMake build files for libaom and dav1d that mirror
what Xcode does, then wires them into libwebrtc and WebCore so the
ENABLE(AV1) code paths compile and link. ENABLE_AV1 is now a normal
WEBKIT_OPTION (default OFF, ON for Mac), so it can be toggled with
-DENABLE_AV1=OFF for bisects.
No new tests, but verified `cmake --preset mac-dev-debug && ninja webrtc
WebCore`
builds clean and the AV1 encoder/decoder symbols are present in
the resulting libraries.
* Source/CMakeLists.txt:
* Source/ThirdParty/dav1d/CMakeLists.txt: Added.
* Source/ThirdParty/libwebrtc/CMakeLists.txt:
* Source/WebCore/PlatformMac.cmake:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/SourcesLibWebRTC.txt:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
Canonical link: https://commits.webkit.org/312074@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications