Bug 314075
| Summary: | REGRESSION(312588@main) [WPE][CMake] clang build broken with new hmap support due to missing wpe/wpe-platform.h entry | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Lauro Moura <lmoura> |
| Component: | CMake | Assignee: | Lauro Moura <lmoura> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | ||
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Lauro Moura
The header map generated by `generate-header-map` contains keys only for header basenames (e.g. `wpe-platform.h`), missing any subdirectory-prefixed form (e.g. `wpe/wpe-platform.h`).
While this works fine for WebKit's own headers, this assumption breaks when headers are expected to be included from nested directories. For example, GLib public API headers are usually included as `<wpe/wpe-platform.h>`. So the header map should be able to resolve it the same way `-I .../WPEPlatform` would.
Error message building:
FAILED: Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/wpe/WebKitEnumTypes.cpp.o
/usr/bin/ccache /usr/local/bin/clang++ -DBUILDING_WEBKIT=1 -DBUILDING_WITH_CMAKE=1 -DBUILDING_WPE__=1 -DBUILDING_WebKit -DBWRAP_EXECUTABLE=\"/usr/bin/bwrap\" -DDATADIR=\"/home/lauro/opt/wpe-webdriver/share\" -DDBUS_PROXY_EXECUTABLE=\"/usr/bin/xdg-dbus-proxy\" -DGETTEXT_PACKAGE=\"WPE\" -DHAVE_CONFIG_H=1 -DJSC_GLI
B_API_ENABLED -DLIBDIR=\"/home/lauro/opt/wpe-webdriver/lib\" -DLOCALEDIR=\"/home/lauro/opt/wpe-webdriver/share/locale\" -DPAS_BMALLOC=1 -DPKGLIBDIR=\"/home/lauro/opt/wpe-webdriver/lib/wpe-webkit-2.0\" -DPKGLIBEXECDIR=\"/home/lauro/opt/wpe-webdriver/libexec/wpe-webkit-2.0\" -DSK_ASSUME_GL=0 -DSK_ASSUME_GL_ES=1 -D
SK_ASSUME_WEBGL=0 -DSK_DISABLE_LEGACY_GL_MAKE_NATIVE_INTERFACE -DSK_DISABLE_LEGACY_IMAGE_READBUFFER -DSK_DISABLE_LEGACY_INIT_DECODERS -DSK_DISABLE_LEGACY_PNG_WRITEBUFFER -DSK_DISABLE_TRACING -DSK_DISABLE_WEBGL_INTERFACE -DSK_ENABLE_PRECOMPILE -DSK_R32_SHIFT=16 -DSK_RELEASE -DSK_TRIVIAL_ABI=[[clang::trivial_abi]]
-DSTATICALLY_LINKED_WITH_JavaScriptCore -DSTATICALLY_LINKED_WITH_PAL -DSTATICALLY_LINKED_WITH_WTF -DSTATICALLY_LINKED_WITH_WebCore -DSTATICALLY_LINKED_WITH_bmalloc -DUSE_SYSTEM_EGL -DWebKit_EXPORTS -D_GLIBCXX_ASSERTIONS=1 -I/sdk/webkit/WebKitBuild/WPE/Release -I/sdk/webkit/WebKitBuild/WPE/Release/PAL/Headers -I
/sdk/webkit/WebKitBuild/WPE/Release/WebCore/PrivateHeaders -I/sdk/webkit/WebKitBuild/WPE/Release/DerivedSources/ForwardingHeaders -I/sdk/webkit/WebKitBuild/WPE/Release/DerivedSources/WebKit -I/sdk/webkit/WebKitBuild/WPE/Release/DerivedSources/WebKit/include -I/sdk/webkit/Source/WebKit -I/sdk/webkit/WebKitBuild/W
PE/Release/Source/WebKit/WebKit.hmap -I/sdk/webkit/Source -I/sdk/webkit/WebKitLibraries -I/sdk/webkit/WebKitBuild/WPE/Release/DerivedSources/WebKit/wpe -I/sdk/webkit/WebKitBuild/WPE/Release/DerivedSources/ForwardingHeaders/wpe -I/sdk/webkit/WebKitBuild/WPE/Release/DerivedSources/ForwardingHeaders/wpe-web-process
-extension -I/sdk/webkit/Source/WebCore/Modules/mediastream -I/sdk/webkit/WebKitBuild/WPE/Release/JavaScriptCoreGLib/DerivedSources/jsc -I/sdk/webkit/WebKitBuild/WPE/Release/DerivedSources/WPEPlatform -I/sdk/webkit/Source/ThirdParty/skia -I/sdk/webkit/WebKitBuild/WPE/Release/Skia/Headers/top -I/sdk/webkit/WebKit
Build/WPE/Release/Skia/Headers/mod -I/sdk/webkit/WebKitBuild/WPE/Release/WTF/Headers -I/sdk/webkit/WebKitBuild/WPE/Release/bmalloc/Headers -I/sdk/webkit/WebKitBuild/WPE/Release/bmalloc/PrivateHeaders -I/sdk/webkit/WebKitBuild/WPE/Release/JavaScriptCore/Headers -I/sdk/webkit/WebKitBuild/WPE/Release/JavaScriptCore
/PrivateHeaders -I/sdk/webkit/WebKitBuild/WPE/Release/JavaScriptCoreGLib/Headers -I/sdk/webkit/WebKitBuild/WPE/Release/JavaScriptCoreGLib/DerivedSources -I/sdk/webkit/WebKitBuild/WPE/Release/ANGLE/Headers -isystem /jhbuild/install/include/gstreamer-1.0 -isystem /usr/include/glib-2.0 -isystem /usr/lib/x86_64-linu
x-gnu/glib-2.0/include -isystem /jhbuild/install/include/orc-0.4 -isystem /jhbuild/install/include/libsoup-3.0 -isystem /jhbuild/install/include/wpe-1.0 -isystem /usr/include/atk-1.0 -isystem /usr/include/at-spi2-atk/2.0 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /jhbuild/install/include
/sysprof-6 -isystem /usr/include/libdrm -isystem /usr/include/libmanette -isystem /usr/include/gio-unix-2.0 -isystem /usr/include/libxml2 -isystem /usr/include/avif -isystem /usr/include/harfbuzz -DASSERT_ENABLED=0 -fdiagnostics-color=always -fcolor-diagnostics -Wextra -Wall -Werror=undefined-internal -Werror=un
defined-inline -pipe -Wno-noexcept-type -frelaxed-template-template-args -Wno-nullability-completeness -Wno-psabi -Wno-misleading-indentation -Wno-parentheses-equality -Qunused-arguments -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -fasynchronous-unw
ind-tables -mllvm -dwarf-linkage-names=Abstract -gsimple-template-names -fdebug-types-section -fno-omit-frame-pointer -fno-strict-aliasing -fno-exceptions -fno-rtti -fcoroutines -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++23 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -D__cpp_concepts=2020
02 -Wno-builtin-macro-redefined -Wunsafe-buffer-usage -fsafe-buffer-usage-suggestions -Werror -Wno-unused-parameter -I/usr/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -DWPE_ENABLE_XKB=1 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -DHWY_SHARED
_DEFINE -DAVIF_DLL -DHAVE_HB_FEATURES_H -MD -MT Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/wpe/WebKitEnumTypes.cpp.o -MF Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/wpe/WebKitEnumTypes.cpp.o.d -o Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/wpe/WebKitEn
umTypes.cpp.o -c /sdk/webkit/WebKitBuild/WPE/Release/DerivedSources/WebKit/wpe/WebKitEnumTypes.cpp
In file included from /sdk/webkit/WebKitBuild/WPE/Release/DerivedSources/WebKit/wpe/WebKitEnumTypes.cpp:26:
In file included from /sdk/webkit/WebKitBuild/WPE/Release/DerivedSources/WebKit/wpe/webkit.h:88:
/sdk/webkit/WebKitBuild/WPE/Release/DerivedSources/WebKit/wpe/WebKitWebView.h:64:10: fatal error: 'wpe/wpe-platform.h' file not found
64 | #include <wpe/wpe-platform.h>
|
Tentative patch incoming.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Lauro Moura
Pull request: https://github.com/WebKit/WebKit/pull/64266
EWS
Committed 312635@main (640a415ed0ad): <https://commits.webkit.org/312635@main>
Reviewed commits have been landed. Closing PR #64266 and removing active labels.