BUILD.gn: rename libdawn_native/wire to dawn_native/wire

This helps take advantage of the GN feature where when a directory is
used as a target name, like //foo/bar/baz, the //foo/bar/baz:baz target
is used automatically.

Bug: chromium:1064305
Change-Id: I2e2d9f308fda1b811482026962ab0770ac45e988
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/18862
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
This commit is contained in:
Corentin Wallez 2020-04-07 07:44:00 +00:00 committed by Commit Bot service account
parent 5c2d2e7ff8
commit 2d10e954ce
7 changed files with 75 additions and 62 deletions

View File

@ -91,8 +91,8 @@ static_library("dawn_utils") {
] ]
deps = [ deps = [
"${dawn_root}/src/common", "${dawn_root}/src/common",
"${dawn_root}/src/dawn_native:libdawn_native", "${dawn_root}/src/dawn_native",
"${dawn_root}/src/dawn_wire:libdawn_wire", "${dawn_root}/src/dawn_wire",
"${dawn_shaderc_dir}:libshaderc", "${dawn_shaderc_dir}:libshaderc",
] ]
libs = [] libs = []
@ -149,15 +149,14 @@ test("dawn_unittests") {
"${dawn_root}/src/common", "${dawn_root}/src/common",
"${dawn_root}/src/dawn:dawncpp", "${dawn_root}/src/dawn:dawncpp",
"${dawn_root}/src/dawn:libdawn_proc", "${dawn_root}/src/dawn:libdawn_proc",
"${dawn_root}/src/dawn_native:libdawn_native", "${dawn_root}/src/dawn_native",
"${dawn_root}/src/dawn_native:libdawn_native_sources", "${dawn_root}/src/dawn_native:dawn_native_sources",
"${dawn_root}/src/dawn_wire:libdawn_wire", "${dawn_root}/src/dawn_wire",
"third_party:gmock_and_gtest", "third_party:gmock_and_gtest",
] ]
# Add internal Dawn Native headers and config for internal unittests. # Add internal dawn_native config for internal unittests.
deps += [ "${dawn_root}/src/dawn_native:libdawn_native_headers" ] configs += [ "${dawn_root}/src/dawn_native:dawn_native_internal" ]
configs += [ "${dawn_root}/src/dawn_native:libdawn_native_internal" ]
sources = get_target_outputs(":mock_webgpu_gen") sources = get_target_outputs(":mock_webgpu_gen")
sources += [ sources += [
@ -251,8 +250,8 @@ source_set("dawn_end2end_tests_sources") {
"${dawn_root}/src/common", "${dawn_root}/src/common",
"${dawn_root}/src/dawn:dawncpp", "${dawn_root}/src/dawn:dawncpp",
"${dawn_root}/src/dawn:libdawn_proc", "${dawn_root}/src/dawn:libdawn_proc",
"${dawn_root}/src/dawn_native:libdawn_native", "${dawn_root}/src/dawn_native",
"${dawn_root}/src/dawn_wire:libdawn_wire", "${dawn_root}/src/dawn_wire",
"third_party:gmock_and_gtest", "third_party:gmock_and_gtest",
] ]
@ -338,7 +337,7 @@ source_set("dawn_end2end_tests_sources") {
} }
source_set("dawn_white_box_tests_sources") { source_set("dawn_white_box_tests_sources") {
configs += [ "${dawn_root}/src/dawn_native:libdawn_native_internal" ] configs += [ "${dawn_root}/src/dawn_native:dawn_native_internal" ]
testonly = true testonly = true
deps = [ deps = [
@ -346,12 +345,12 @@ source_set("dawn_white_box_tests_sources") {
"${dawn_root}/src/common", "${dawn_root}/src/common",
"${dawn_root}/src/dawn:dawncpp", "${dawn_root}/src/dawn:dawncpp",
"${dawn_root}/src/dawn:libdawn_proc", "${dawn_root}/src/dawn:libdawn_proc",
"${dawn_root}/src/dawn_native:libdawn_native_sources", "${dawn_root}/src/dawn_native:dawn_native_sources",
# Static because the tests both link against and have libdawn_native # Static because the tests both link against and have dawn_native
# sources. MSVC errors when both importing and exporting symbols. # sources. MSVC errors when both importing and exporting symbols.
"${dawn_root}/src/dawn_native:libdawn_native_static", "${dawn_root}/src/dawn_native:dawn_native_static",
"${dawn_root}/src/dawn_wire:libdawn_wire", "${dawn_root}/src/dawn_wire",
"third_party:gmock_and_gtest", "third_party:gmock_and_gtest",
] ]
@ -401,8 +400,8 @@ test("dawn_end2end_tests") {
"${dawn_root}/src/common", "${dawn_root}/src/common",
"${dawn_root}/src/dawn:dawncpp", "${dawn_root}/src/dawn:dawncpp",
"${dawn_root}/src/dawn:libdawn_proc", "${dawn_root}/src/dawn:libdawn_proc",
"${dawn_root}/src/dawn_native:libdawn_native", "${dawn_root}/src/dawn_native",
"${dawn_root}/src/dawn_wire:libdawn_wire", "${dawn_root}/src/dawn_wire",
"third_party:gmock_and_gtest", "third_party:gmock_and_gtest",
] ]
@ -438,9 +437,9 @@ test("dawn_perf_tests") {
"${dawn_root}/src/common", "${dawn_root}/src/common",
"${dawn_root}/src/dawn:dawncpp", "${dawn_root}/src/dawn:dawncpp",
"${dawn_root}/src/dawn:libdawn_proc", "${dawn_root}/src/dawn:libdawn_proc",
"${dawn_root}/src/dawn_native:libdawn_native", "${dawn_root}/src/dawn_native",
"${dawn_root}/src/dawn_platform", "${dawn_root}/src/dawn_platform",
"${dawn_root}/src/dawn_wire:libdawn_wire", "${dawn_root}/src/dawn_wire",
"third_party:gmock_and_gtest", "third_party:gmock_and_gtest",
] ]
@ -496,7 +495,7 @@ if (dawn_standalone) {
deps = [ deps = [
":dawn_glfw", ":dawn_glfw",
"${dawn_root}/src/common", "${dawn_root}/src/common",
"${dawn_root}/src/dawn_native:libdawn_native", "${dawn_root}/src/dawn_native",
] ]
libs = [] libs = []
@ -545,8 +544,8 @@ if (dawn_standalone) {
"${dawn_root}/src/common", "${dawn_root}/src/common",
"${dawn_root}/src/dawn:dawncpp", "${dawn_root}/src/dawn:dawncpp",
"${dawn_root}/src/dawn:libdawn_proc", "${dawn_root}/src/dawn:libdawn_proc",
"${dawn_root}/src/dawn_native:libdawn_native", "${dawn_root}/src/dawn_native",
"${dawn_root}/src/dawn_wire:libdawn_wire", "${dawn_root}/src/dawn_wire",
] ]
public_configs = [ "${dawn_root}/src/common:dawn_internal" ] public_configs = [ "${dawn_root}/src/common:dawn_internal" ]
} }
@ -641,19 +640,19 @@ group("dawn_fuzzers") {
group("libdawn_native") { group("libdawn_native") {
deps = [ deps = [
"src/dawn_native:libdawn_native", "src/dawn_native",
] ]
} }
group("libdawn_native_sources") { group("libdawn_native_sources") {
deps = [ deps = [
"src/dawn_native:libdawn_native_sources", "src/dawn_native:dawn_native_sources",
] ]
} }
group("libdawn_wire") { group("libdawn_wire") {
deps = [ deps = [
"src/dawn_wire:libdawn_wire", "src/dawn_wire",
] ]
} }

View File

@ -35,7 +35,7 @@ if (use_swiftshader) {
import("${dawn_swiftshader_dir}/src/Vulkan/vulkan.gni") import("${dawn_swiftshader_dir}/src/Vulkan/vulkan.gni")
} }
config("libdawn_native_internal") { config("dawn_native_internal") {
configs = [ "${dawn_root}/src/common:dawn_internal" ] configs = [ "${dawn_root}/src/common:dawn_internal" ]
# Suppress warnings that Metal isn't in the deployment target of Chrome: # Suppress warnings that Metal isn't in the deployment target of Chrome:
@ -53,7 +53,7 @@ config("libdawn_native_internal") {
} }
} }
config("libdawn_native_weak_framework") { config("dawn_native_weak_framework") {
if (is_mac && dawn_enable_metal) { if (is_mac && dawn_enable_metal) {
ldflags = [ ldflags = [
"-weak_framework", "-weak_framework",
@ -62,7 +62,7 @@ config("libdawn_native_weak_framework") {
} }
} }
dawn_json_generator("libdawn_native_utils_gen") { dawn_json_generator("dawn_native_utils_gen") {
target = "dawn_native_utils" target = "dawn_native_utils"
outputs = [ outputs = [
"src/dawn_native/ProcTable.cpp", "src/dawn_native/ProcTable.cpp",
@ -74,7 +74,7 @@ dawn_json_generator("libdawn_native_utils_gen") {
} }
if (dawn_enable_opengl) { if (dawn_enable_opengl) {
dawn_generator("libdawn_native_opengl_loader_gen") { dawn_generator("dawn_native_opengl_loader_gen") {
script = "${dawn_root}/generator/opengl_loader_generator.py" script = "${dawn_root}/generator/opengl_loader_generator.py"
args = [ args = [
"--gl-xml", "--gl-xml",
@ -90,9 +90,9 @@ if (dawn_enable_opengl) {
} }
} }
# Public libdawn_native headers so they can be publically visible for # Public dawn_native headers so they can be publicly visible for
# dependencies of libdawn_native # dependencies of dawn_native
source_set("libdawn_native_headers") { source_set("dawn_native_headers") {
public_deps = [ public_deps = [
"${dawn_root}/src/dawn:dawncpp_headers", "${dawn_root}/src/dawn:dawncpp_headers",
] ]
@ -111,13 +111,13 @@ source_set("libdawn_native_headers") {
] ]
} }
# The meat of the compilation for libdawn_native so that we can cheaply have # The meat of the compilation for dawn_native so that we can cheaply have
# shared_library / static_library versions of it. It compiles all the files # shared_library / static_library versions of it. It compiles all the files
# except those that define exported symbols. # except those that define exported symbols.
source_set("libdawn_native_sources") { source_set("dawn_native_sources") {
deps = [ deps = [
":libdawn_native_headers", ":dawn_native_headers",
":libdawn_native_utils_gen", ":dawn_native_utils_gen",
"${dawn_root}/src/common", "${dawn_root}/src/common",
"${dawn_shaderc_dir}:spirv_cross", "${dawn_shaderc_dir}:spirv_cross",
"${dawn_spirv_tools_dir}:spvtools_val", "${dawn_spirv_tools_dir}:spvtools_val",
@ -126,17 +126,17 @@ source_set("libdawn_native_sources") {
libs = [] libs = []
data_deps = [] data_deps = []
configs += [ ":libdawn_native_internal" ] configs += [ ":dawn_native_internal" ]
# Dependencies that are needed to compile libdawn_native entry points in # Dependencies that are needed to compile dawn_native entry points in
# FooBackend.cpp need to be public deps so they are propagated to the # FooBackend.cpp need to be public deps so they are propagated to the
# libdawn_native target # dawn_native target
public_deps = [ public_deps = [
"${dawn_root}/src/dawn_platform", "${dawn_root}/src/dawn_platform",
"${dawn_shaderc_dir}:libshaderc_spvc", "${dawn_shaderc_dir}:libshaderc_spvc",
] ]
sources = get_target_outputs(":libdawn_native_utils_gen") sources = get_target_outputs(":dawn_native_utils_gen")
sources += [ sources += [
"Adapter.cpp", "Adapter.cpp",
"Adapter.h", "Adapter.h",
@ -387,10 +387,10 @@ source_set("libdawn_native_sources") {
if (dawn_enable_opengl) { if (dawn_enable_opengl) {
public_deps += [ public_deps += [
":libdawn_native_opengl_loader_gen", ":dawn_native_opengl_loader_gen",
"${dawn_root}/third_party:khronos_platform", "${dawn_root}/third_party:khronos_platform",
] ]
sources += get_target_outputs(":libdawn_native_opengl_loader_gen") sources += get_target_outputs(":dawn_native_opengl_loader_gen")
sources += [ sources += [
"opengl/BackendGL.cpp", "opengl/BackendGL.cpp",
"opengl/BackendGL.h", "opengl/BackendGL.h",
@ -554,26 +554,26 @@ source_set("libdawn_native_sources") {
} }
} }
# The static and shared libraries for libdawn_native. Most of the files are # The static and shared libraries for dawn_native. Most of the files are
# already compiled in libdawn_native_sources, but we still need to compile # already compiled in dawn_native_sources, but we still need to compile
# files defining exported symbols. # files defining exported symbols.
dawn_component("libdawn_native") { dawn_component("dawn_native") {
DEFINE_PREFIX = "DAWN_NATIVE" DEFINE_PREFIX = "DAWN_NATIVE"
#Make headers publically visible #Make headers publically visible
public_deps = [ public_deps = [
":libdawn_native_headers", ":dawn_native_headers",
] ]
deps = [ deps = [
":libdawn_native_sources", ":dawn_native_sources",
"${dawn_root}/src/common", "${dawn_root}/src/common",
] ]
sources = [ sources = [
"DawnNative.cpp", "DawnNative.cpp",
] ]
configs = [ ":libdawn_native_internal" ] configs = [ ":dawn_native_internal" ]
public_configs = [ ":libdawn_native_weak_framework" ] public_configs = [ ":dawn_native_weak_framework" ]
if (dawn_enable_d3d12) { if (dawn_enable_d3d12) {
sources += [ "d3d12/D3D12Backend.cpp" ] sources += [ "d3d12/D3D12Backend.cpp" ]
@ -601,3 +601,10 @@ dawn_component("libdawn_native") {
} }
} }
} }
# Temporary group for a 3-way patch with Chromium
group("libdawn_native_headers") {
deps = [
":dawn_native_headers",
]
}

View File

@ -17,9 +17,9 @@ import("../../scripts/dawn_overrides_with_defaults.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")
# Public libdawn_wire headers so they can be publically visible for # Public dawn_wire headers so they can be publically visible for
# dependencies of libdawn_wire # dependencies of dawn_wire
source_set("libdawn_wire_headers") { source_set("dawn_wire_headers") {
public_deps = [ public_deps = [
"${dawn_root}/src/dawn:dawn_headers", "${dawn_root}/src/dawn:dawn_headers",
] ]
@ -32,7 +32,7 @@ source_set("libdawn_wire_headers") {
] ]
} }
dawn_json_generator("libdawn_wire_gen") { dawn_json_generator("dawn_wire_gen") {
target = "dawn_wire" target = "dawn_wire"
outputs = [ outputs = [
"src/dawn_wire/WireCmd_autogen.h", "src/dawn_wire/WireCmd_autogen.h",
@ -50,16 +50,16 @@ dawn_json_generator("libdawn_wire_gen") {
] ]
} }
dawn_component("libdawn_wire") { dawn_component("dawn_wire") {
DEFINE_PREFIX = "DAWN_WIRE" DEFINE_PREFIX = "DAWN_WIRE"
deps = [ deps = [
":libdawn_wire_gen", ":dawn_wire_gen",
"${dawn_root}/src/common", "${dawn_root}/src/common",
] ]
configs = [ "${dawn_root}/src/common:dawn_internal" ] configs = [ "${dawn_root}/src/common:dawn_internal" ]
sources = get_target_outputs(":libdawn_wire_gen") sources = get_target_outputs(":dawn_wire_gen")
sources += [ sources += [
"WireClient.cpp", "WireClient.cpp",
"WireDeserializeAllocator.cpp", "WireDeserializeAllocator.cpp",
@ -90,6 +90,13 @@ dawn_component("libdawn_wire") {
# Make headers publicly visible # Make headers publicly visible
public_deps = [ public_deps = [
":libdawn_wire_headers", ":dawn_wire_headers",
]
}
# Temporary group for a 3-way patch with Chromium
group("libdawn_wire_headers") {
deps = [
":dawn_wire_headers",
] ]
} }

View File

@ -88,8 +88,8 @@ static_library("dawn_wire_server_fuzzer_common") {
"${dawn_root}/src/common", "${dawn_root}/src/common",
"${dawn_root}/src/dawn:dawncpp", "${dawn_root}/src/dawn:dawncpp",
"${dawn_root}/src/dawn:libdawn_proc", "${dawn_root}/src/dawn:libdawn_proc",
"${dawn_root}/src/dawn_native:libdawn_native_static", "${dawn_root}/src/dawn_native:dawn_native_static",
"${dawn_root}/src/dawn_wire:libdawn_wire_static", "${dawn_root}/src/dawn_wire:dawn_wire_static",
] ]
} }

View File

@ -22,7 +22,7 @@
namespace { namespace {
// libdawn_wire and libdawn_native contain duplicated code for the handling of GetProcAddress // dawn_wire and dawn_native contain duplicated code for the handling of GetProcAddress
// so we run the tests against both implementations. This enum is used as a test parameters to // so we run the tests against both implementations. This enum is used as a test parameters to
// know which implementation to test. // know which implementation to test.
enum class DawnFlavor { enum class DawnFlavor {

View File

@ -17,7 +17,7 @@ import("../scripts/dawn_features.gni")
import("../scripts/dawn_overrides_with_defaults.gni") import("../scripts/dawn_overrides_with_defaults.gni")
############################################################################### ###############################################################################
# Third-party dependencies needed by libdawn_native # Third-party dependencies needed by dawn_native
############################################################################### ###############################################################################
# Empty targets to add the include dirs and list the sources of Khronos headers for header inclusion check. # Empty targets to add the include dirs and list the sources of Khronos headers for header inclusion check.