Fixes to be able to build Dawn inside Skia
Add a dawn_has_build override similarly to angle_has_build that makes Dawn not depend on Chromium //build if it can avoid it. (this was previously used for mac_sdk.gni). Only load the Vulkan Validation Layers' gni if it is enable via dawn_enable_vulkan_validation_layers. Fix a GN build warning where the source of dawn_components would be built twice: for example libdawn_native.MetalBackend.o would be built once for libdawn_native static and once for libdawn_native shared. Fix this by making libdawn_native as a static library libdawn_native_static. Change-Id: Ib8fb72282435eb475d7a11dae0d5a9977572fd57 Bug: chromium:1064305 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/18963 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Reviewed-by: Kai Ninomiya <kainino@chromium.org>
This commit is contained in:
parent
73ea1f1106
commit
30ec4fc626
|
@ -20,6 +20,9 @@
|
||||||
# MUST be unset in other projects (will default to false).
|
# MUST be unset in other projects (will default to false).
|
||||||
dawn_standalone = true
|
dawn_standalone = true
|
||||||
|
|
||||||
|
# True if Dawn can access build/, testing/ and other Chrome folders.
|
||||||
|
dawn_has_build = true
|
||||||
|
|
||||||
# Defaults for these are set again in dawn_overrides_with_defaults.gni so that
|
# Defaults for these are set again in dawn_overrides_with_defaults.gni so that
|
||||||
# users of Dawn don't have to set dirs if they happen to use the same as Dawn.
|
# users of Dawn don't have to set dirs if they happen to use the same as Dawn.
|
||||||
|
|
||||||
|
|
|
@ -107,7 +107,7 @@ template("dawn_component") {
|
||||||
}
|
}
|
||||||
|
|
||||||
static_library("${libname}_static") {
|
static_library("${libname}_static") {
|
||||||
output_name = libname
|
output_name = libname + "_static"
|
||||||
|
|
||||||
complete_static_lib = dawn_complete_static_libs
|
complete_static_lib = dawn_complete_static_libs
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,10 @@ if (!defined(dawn_standalone)) {
|
||||||
dawn_standalone = false
|
dawn_standalone = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!defined(dawn_has_build)) {
|
||||||
|
dawn_has_build = true
|
||||||
|
}
|
||||||
|
|
||||||
if (!defined(dawn_root)) {
|
if (!defined(dawn_root)) {
|
||||||
dawn_root = get_path_info("..", "abspath")
|
dawn_root = get_path_info("..", "abspath")
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,14 +15,21 @@
|
||||||
import("../../scripts/dawn_overrides_with_defaults.gni")
|
import("../../scripts/dawn_overrides_with_defaults.gni")
|
||||||
|
|
||||||
import("//build_overrides/build.gni")
|
import("//build_overrides/build.gni")
|
||||||
import("//build_overrides/vulkan_validation_layers.gni")
|
|
||||||
import("${dawn_root}/generator/dawn_generator.gni")
|
import("${dawn_root}/generator/dawn_generator.gni")
|
||||||
import("${dawn_root}/scripts/dawn_component.gni")
|
import("${dawn_root}/scripts/dawn_component.gni")
|
||||||
import("${dawn_root}/scripts/dawn_features.gni")
|
import("${dawn_root}/scripts/dawn_features.gni")
|
||||||
|
|
||||||
# Import mac_min_system_version
|
# Import mac_min_system_version
|
||||||
if (is_mac) {
|
if (is_mac) {
|
||||||
|
if (dawn_has_build) {
|
||||||
import("//build/config/mac/mac_sdk.gni")
|
import("//build/config/mac/mac_sdk.gni")
|
||||||
|
} else {
|
||||||
|
mac_min_system_version = "10.11.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dawn_enable_vulkan_validation_layers) {
|
||||||
|
import("//build_overrides/vulkan_validation_layers.gni")
|
||||||
}
|
}
|
||||||
|
|
||||||
# Swiftshader is an optional dependency of Dawn so we only use it if the path
|
# Swiftshader is an optional dependency of Dawn so we only use it if the path
|
||||||
|
|
Loading…
Reference in New Issue