blob: 6d4fe0166eaec0e87cdcd29bf8813b2f4be11e5d [file] [log] [blame]
Austin Engcc2516a2023-10-17 20:57:54 +00001# Copyright 2018 The Dawn & Tint Authors
Corentin Wallez21a23852018-07-31 18:50:03 +02002#
Austin Engcc2516a2023-10-17 20:57:54 +00003# Redistribution and use in source and binary forms, with or without
4# modification, are permitted provided that the following conditions are met:
Corentin Wallez21a23852018-07-31 18:50:03 +02005#
Austin Engcc2516a2023-10-17 20:57:54 +00006# 1. Redistributions of source code must retain the above copyright notice, this
7# list of conditions and the following disclaimer.
Corentin Wallez21a23852018-07-31 18:50:03 +02008#
Austin Engcc2516a2023-10-17 20:57:54 +00009# 2. Redistributions in binary form must reproduce the above copyright notice,
10# this list of conditions and the following disclaimer in the documentation
11# and/or other materials provided with the distribution.
12#
13# 3. Neither the name of the copyright holder nor the names of its
14# contributors may be used to endorse or promote products derived from
15# this software without specific prior written permission.
16#
17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
21# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
23# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
24# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
25# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Corentin Wallez21a23852018-07-31 18:50:03 +020027
danakj4090b7d2023-10-24 17:49:01 +000028import("build/config/rust.gni")
Takuto Ikuta0e6dad02019-02-13 18:42:38 +000029import("scripts/dawn_overrides_with_defaults.gni")
Ben Clayton66630762023-08-18 08:29:51 +000030import("scripts/tint_overrides_with_defaults.gni")
Corentin Wallez48a19232018-12-08 10:35:53 +000031
Ben Claytond283e952023-10-10 15:30:56 +000032group("benchmarks") {
33 testonly = true
34 deps = [ "src/tint:benchmarks" ]
35}
36
Ben Claytonb7bd8d82023-09-28 14:10:51 +000037group("fuzzers") {
Corentin Wallezb31015b2020-04-10 08:20:10 +000038 testonly = true
39 deps = [
Ben Claytonc6ccd532022-02-04 18:48:05 +000040 "src/dawn/fuzzers",
Ben Claytond283e952023-10-10 15:30:56 +000041 "src/tint:fuzzers",
42 ]
43}
44
45group("libs") {
46 deps = [
47 "src/dawn/native:webgpu_dawn",
48 "src/tint:libs",
49 ]
50}
51
52group("tests") {
53 testonly = true
54 deps = [
55 "src/dawn/tests",
56 "src/tint:tests",
57 ]
58}
59
60group("cmds") {
61 deps = [
62 "src/dawn/samples",
63 "src/tint:cmds",
Ben Claytonb7bd8d82023-09-28 14:10:51 +000064 ]
Austin Eng9dcadd12024-04-23 14:47:43 +000065 if ((target_cpu == "x64" && (is_win || is_linux || is_mac)) ||
66 (target_cpu == "arm64" && is_win)) {
Antonio Maiorano2d123d02023-10-24 15:39:38 +000067 deps += [ "third_party/gn/dxc:dxc" ]
68 }
Ben Claytonb7bd8d82023-09-28 14:10:51 +000069}
70
Jim Blacklerdff37c42024-05-23 22:28:32 +000071group("android") {
72 deps = [ "tools/android" ]
73}
74
Kai Ninomiya11784002024-07-03 19:46:03 +000075group("emdawnwebgpu") {
76 # Without a copy of Emscripten, we can only generate a few files.
77 deps = [
78 "src/emdawnwebgpu:emdawnwebgpu_headers_gen",
79 "src/emdawnwebgpu:emdawnwebgpu_js_gen",
80 ]
81 if (dawn_emscripten_dir != "") {
82 deps += [ "src/emdawnwebgpu:emdawnwebgpu" ]
83 }
84}
85
Ben Claytonb7bd8d82023-09-28 14:10:51 +000086group("all") {
87 testonly = true
88 deps = [
Jim Blacklerdff37c42024-05-23 22:28:32 +000089 ":android",
Ben Claytond283e952023-10-10 15:30:56 +000090 ":benchmarks",
Ben Clayton49a564c2023-10-11 16:04:52 +000091 ":cmds",
Kai Ninomiya11784002024-07-03 19:46:03 +000092 ":emdawnwebgpu",
Ben Claytonb7bd8d82023-09-28 14:10:51 +000093 ":fuzzers",
Ben Claytond283e952023-10-10 15:30:56 +000094 ":libs",
95 ":tests",
Corentin Wallezb31015b2020-04-10 08:20:10 +000096 ]
Corentin Wallezb31015b2020-04-10 08:20:10 +000097}
Nicolas Capensdd988bc2021-02-02 17:03:30 +000098
danakj4090b7d2023-10-24 17:49:01 +000099if (enable_rust) {
100 group("rust_build_tests") {
101 testonly = true
102 deps = [ "//build/rust/tests" ]
103 }
104}
105
Nicolas Capensdd988bc2021-02-02 17:03:30 +0000106# This target is built when no specific target is specified on the command line.
107group("default") {
108 testonly = true
109 deps = [ ":all" ]
110}