Allow compilation of Dawn on Android
BUG=dawn:286 Change-Id: Ia65b57fde12a1260d29913f61f9b24eded7dbc30 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/13822 Reviewed-by: David Turner <digit@google.com> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
parent
00b1e38f3b
commit
673146475f
|
@ -12,8 +12,9 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import("dawn_overrides_with_defaults.gni")
|
import("//build_overrides/build.gni")
|
||||||
import("dawn_features.gni")
|
import("dawn_features.gni")
|
||||||
|
import("dawn_overrides_with_defaults.gni")
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Template to produce a component for one of Dawn's libraries.
|
# Template to produce a component for one of Dawn's libraries.
|
||||||
|
@ -95,6 +96,14 @@ template("dawn_component") {
|
||||||
defines = []
|
defines = []
|
||||||
}
|
}
|
||||||
defines += [ "${invoker.DEFINE_PREFIX}_IMPLEMENTATION" ]
|
defines += [ "${invoker.DEFINE_PREFIX}_IMPLEMENTATION" ]
|
||||||
|
|
||||||
|
# Chromium adds a config that uses a special linker script that removes
|
||||||
|
# all symbols except JNI ones. Remove this config so that our
|
||||||
|
# shared_library symbols are visible. This matches what Chromium's
|
||||||
|
# component template does.
|
||||||
|
if (build_with_chromium && is_android) {
|
||||||
|
configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static_library("${libname}_static") {
|
static_library("${libname}_static") {
|
||||||
|
|
|
@ -36,7 +36,7 @@ declare_args() {
|
||||||
dawn_enable_opengl = is_linux && !is_chromeos
|
dawn_enable_opengl = is_linux && !is_chromeos
|
||||||
|
|
||||||
# Enables the compilation of Dawn's Vulkan backend
|
# Enables the compilation of Dawn's Vulkan backend
|
||||||
dawn_enable_vulkan = is_linux || is_win || is_fuchsia
|
dawn_enable_vulkan = is_linux || is_win || is_fuchsia || is_android
|
||||||
|
|
||||||
# Enable use of reflection compiler in spirv-cross. This is needed
|
# Enable use of reflection compiler in spirv-cross. This is needed
|
||||||
# if performing reflection on systems that the platform language
|
# if performing reflection on systems that the platform language
|
||||||
|
|
|
@ -79,7 +79,7 @@ config("dawn_internal") {
|
||||||
# This GN file is discovered by all Chromium builds, but common doesn't support
|
# This GN file is discovered by all Chromium builds, but common doesn't support
|
||||||
# all of Chromium's OSes so we explicitly make the target visible only on
|
# all of Chromium's OSes so we explicitly make the target visible only on
|
||||||
# systems we know Dawn is able to compile on.
|
# systems we know Dawn is able to compile on.
|
||||||
if (is_win || is_linux || is_mac || is_fuchsia) {
|
if (is_win || is_linux || is_mac || is_fuchsia || is_android) {
|
||||||
static_library("common") {
|
static_library("common") {
|
||||||
sources = [
|
sources = [
|
||||||
"Assert.cpp",
|
"Assert.cpp",
|
||||||
|
|
|
@ -21,6 +21,9 @@
|
||||||
#elif defined(__linux__)
|
#elif defined(__linux__)
|
||||||
# define DAWN_PLATFORM_LINUX 1
|
# define DAWN_PLATFORM_LINUX 1
|
||||||
# define DAWN_PLATFORM_POSIX 1
|
# define DAWN_PLATFORM_POSIX 1
|
||||||
|
# if defined(__ANDROID__)
|
||||||
|
# define DAWN_PLATFORM_ANDROID 1
|
||||||
|
# endif
|
||||||
|
|
||||||
#elif defined(__APPLE__)
|
#elif defined(__APPLE__)
|
||||||
# define DAWN_PLATFORM_APPLE 1
|
# define DAWN_PLATFORM_APPLE 1
|
||||||
|
|
Loading…
Reference in New Issue