Bug 245093
Summary: | [ANGLE] Build broken when targeting Android | ||
---|---|---|---|
Product: | WebKit | Reporter: | Adrian Perez <aperez> |
Component: | Tools / Tests | Assignee: | Adrian Perez <aperez> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Adrian Perez
When targeting Android building ANGLE fails due to a conditional inclusion
in “Source/ThirdParty/ANGLE/src/compiler/translator/tree_util/BuiltIn.h”:
#if defined(ANDROID)
# include "BuiltIn_ESSL_autogen.h"
#else
# include "BuiltIn_complete_autogen.h"
#endif
This means that when targeting Android currently this header is chosing to
include BuilIn_ESSL_autogen.h, but then SymbolTable_autogen.cpp gets built,
which needs symbols which are in BuiltIn_complete_autogen.h instead!
Turns out that in “Source/ThirdParty/ANGLE/CMakeLists.txt” the contents of
the variable ${angle_translator_glsl_symbol_table_sources} always get added
to the build, while according to the GN build definitions:
# From Source/ThirdParty/ANGLE/gni/angle.gni:
angle_enable_gl_desktop = !is_android && !is_ios
# Same file, later on:
angle_enable_desktop_glsl = angle_enable_gl_desktop
# Finally, in BUILD.gn
if (angle_enable_desktop_glsl) {
sources += angle_translator_glsl_symbol_table_sources
} else {
sources += angle_translator_essl_symbol_table_sources
}
This means that the CMake build should follow the same approach and pick one of
${angle_translator_glsl_symbol_table_sources} or ${angle_translator_ess_symbol_table_sources}
accordingly.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Adrian Perez
Currently in WPE-Android I have a local patch for this issue, which
does make the ANGLE build complete and the resulting build seems to
work fine with the little testing I did so far:
https://github.com/Igalia/cerbero/blob/52d04e96965deb8b50f2815ffa7f8290fe02bf3f/recipes/wpewebkit/0008-WIP-Fix-Android-ANGLE-build.patch
Adrian Perez
Pull request: https://github.com/WebKit/WebKit/pull/4277
EWS
Committed 254426@main (67af852f97b2): <https://commits.webkit.org/254426@main>
Reviewed commits have been landed. Closing PR #4277 and removing active labels.
Radar WebKit Bug Importer
<rdar://problem/99862997>