xref: /aosp_15_r20/external/angle/build/rust/std/BUILD.gn.hbs (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2023 The Chromium Authors
2*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file.
4*8975f5c5SAndroid Build Coastguard Worker
5*8975f5c5SAndroid Build Coastguard Worker# @generated from build/rust/std/BUILD.gn.hbs by tools/crates/gnrt. Do not edit!
6*8975f5c5SAndroid Build Coastguard Worker
7*8975f5c5SAndroid Build Coastguard Workerimport("//build/rust/cargo_crate.gni")
8*8975f5c5SAndroid Build Coastguard Worker
9*8975f5c5SAndroid Build Coastguard Worker{{#each rules}}
10*8975f5c5SAndroid Build Coastguard Worker{{#with this.detail}}
11*8975f5c5SAndroid Build Coastguard Workercargo_crate("{{../name}}") {
12*8975f5c5SAndroid Build Coastguard Worker  crate_type = "{{crate_type}}"
13*8975f5c5SAndroid Build Coastguard Worker  crate_root = "{{crate_root}}"
14*8975f5c5SAndroid Build Coastguard Worker  sources = [
15*8975f5c5SAndroid Build Coastguard Worker    {{#each sources}}
16*8975f5c5SAndroid Build Coastguard Worker    "{{this}}",
17*8975f5c5SAndroid Build Coastguard Worker    {{/each}}
18*8975f5c5SAndroid Build Coastguard Worker  ]
19*8975f5c5SAndroid Build Coastguard Worker  inputs = [
20*8975f5c5SAndroid Build Coastguard Worker    {{#each inputs}}
21*8975f5c5SAndroid Build Coastguard Worker    "{{this}}",
22*8975f5c5SAndroid Build Coastguard Worker    {{/each}}
23*8975f5c5SAndroid Build Coastguard Worker  ]
24*8975f5c5SAndroid Build Coastguard Worker  no_std = true
25*8975f5c5SAndroid Build Coastguard Worker
26*8975f5c5SAndroid Build Coastguard Worker  # Unit tests skipped. Generate with --with-tests to include them.
27*8975f5c5SAndroid Build Coastguard Worker  build_native_rust_unit_tests = false
28*8975f5c5SAndroid Build Coastguard Worker  edition = "{{edition}}"
29*8975f5c5SAndroid Build Coastguard Worker  cargo_pkg_version = "{{cargo_pkg_version}}"
30*8975f5c5SAndroid Build Coastguard Worker  {{#with cargo_pkg_authors}}
31*8975f5c5SAndroid Build Coastguard Worker  cargo_pkg_authors = "{{this}}"
32*8975f5c5SAndroid Build Coastguard Worker  {{/with}}
33*8975f5c5SAndroid Build Coastguard Worker  cargo_pkg_name = "{{cargo_pkg_name}}"
34*8975f5c5SAndroid Build Coastguard Worker  {{#with cargo_pkg_description}}
35*8975f5c5SAndroid Build Coastguard Worker  cargo_pkg_description = "{{gn_escape this}}"
36*8975f5c5SAndroid Build Coastguard Worker  {{/with}}
37*8975f5c5SAndroid Build Coastguard Worker  library_configs -= [
38*8975f5c5SAndroid Build Coastguard Worker    "//build/config/compiler:chromium_code",
39*8975f5c5SAndroid Build Coastguard Worker    "//build/config/compiler:disallow_unstable_features",
40*8975f5c5SAndroid Build Coastguard Worker    {{#each remove_library_configs}}
41*8975f5c5SAndroid Build Coastguard Worker    "{{this}}",
42*8975f5c5SAndroid Build Coastguard Worker    {{/each}}
43*8975f5c5SAndroid Build Coastguard Worker    {{#unless extra_kv.include_coverage}}
44*8975f5c5SAndroid Build Coastguard Worker    "//build/config/coverage:default_coverage",
45*8975f5c5SAndroid Build Coastguard Worker    {{/unless}}
46*8975f5c5SAndroid Build Coastguard Worker  ]
47*8975f5c5SAndroid Build Coastguard Worker  library_configs += [
48*8975f5c5SAndroid Build Coastguard Worker    "//build/config/compiler:no_chromium_code",
49*8975f5c5SAndroid Build Coastguard Worker    {{#if extra_kv.immediate_abort}}
50*8975f5c5SAndroid Build Coastguard Worker    "//build/rust:panic_immediate_abort",
51*8975f5c5SAndroid Build Coastguard Worker    {{/if}}
52*8975f5c5SAndroid Build Coastguard Worker  ]
53*8975f5c5SAndroid Build Coastguard Worker  executable_configs -= [
54*8975f5c5SAndroid Build Coastguard Worker    "//build/config/compiler:chromium_code",
55*8975f5c5SAndroid Build Coastguard Worker    "//build/config/compiler:disallow_unstable_features",
56*8975f5c5SAndroid Build Coastguard Worker    {{#each remove_executable_configs}}
57*8975f5c5SAndroid Build Coastguard Worker    "{{this}}",
58*8975f5c5SAndroid Build Coastguard Worker    {{/each}}
59*8975f5c5SAndroid Build Coastguard Worker  ]
60*8975f5c5SAndroid Build Coastguard Worker  executable_configs += [
61*8975f5c5SAndroid Build Coastguard Worker    "//build/config/compiler:no_chromium_code",
62*8975f5c5SAndroid Build Coastguard Worker    {{#each add_executable_configs}}
63*8975f5c5SAndroid Build Coastguard Worker    "{{this}}",
64*8975f5c5SAndroid Build Coastguard Worker    {{/each}}
65*8975f5c5SAndroid Build Coastguard Worker  ]
66*8975f5c5SAndroid Build Coastguard Worker  deps = [
67*8975f5c5SAndroid Build Coastguard Worker    "//build/rust/std:std_build_deps",
68*8975f5c5SAndroid Build Coastguard Worker    {{#if extra_kv.include_coverage}}
69*8975f5c5SAndroid Build Coastguard Worker    "//build/rust/std:profiler_builtins_group",
70*8975f5c5SAndroid Build Coastguard Worker    {{/if}}
71*8975f5c5SAndroid Build Coastguard Worker  {{#unless deps}}
72*8975f5c5SAndroid Build Coastguard Worker  ]
73*8975f5c5SAndroid Build Coastguard Worker  {{/unless}}
74*8975f5c5SAndroid Build Coastguard Worker  {{#each deps}}
75*8975f5c5SAndroid Build Coastguard Worker  {{#if @first}}
76*8975f5c5SAndroid Build Coastguard Worker    {{#each this.packages}}
77*8975f5c5SAndroid Build Coastguard Worker    ":{{this.name}}",
78*8975f5c5SAndroid Build Coastguard Worker    {{/each}}
79*8975f5c5SAndroid Build Coastguard Worker  ]
80*8975f5c5SAndroid Build Coastguard Worker  {{else}}
81*8975f5c5SAndroid Build Coastguard Worker  if ({{this.cond}}) {
82*8975f5c5SAndroid Build Coastguard Worker    deps += [
83*8975f5c5SAndroid Build Coastguard Worker      {{#each this.packages}}
84*8975f5c5SAndroid Build Coastguard Worker      ":{{this.name}}",
85*8975f5c5SAndroid Build Coastguard Worker      {{/each}}
86*8975f5c5SAndroid Build Coastguard Worker    ]
87*8975f5c5SAndroid Build Coastguard Worker  }
88*8975f5c5SAndroid Build Coastguard Worker  {{/if}}
89*8975f5c5SAndroid Build Coastguard Worker  {{/each}}
90*8975f5c5SAndroid Build Coastguard Worker  {{#if aliased_deps}}
91*8975f5c5SAndroid Build Coastguard Worker  aliased_deps = {
92*8975f5c5SAndroid Build Coastguard Worker    {{#each aliased_deps}}
93*8975f5c5SAndroid Build Coastguard Worker    {{this.0}} = "{{this.1}}"
94*8975f5c5SAndroid Build Coastguard Worker    {{/each}}
95*8975f5c5SAndroid Build Coastguard Worker  }
96*8975f5c5SAndroid Build Coastguard Worker  {{/if}}
97*8975f5c5SAndroid Build Coastguard Worker  {{#if features}}
98*8975f5c5SAndroid Build Coastguard Worker  features = [
99*8975f5c5SAndroid Build Coastguard Worker    {{#each features}}
100*8975f5c5SAndroid Build Coastguard Worker    "{{this}}",
101*8975f5c5SAndroid Build Coastguard Worker    {{/each}}
102*8975f5c5SAndroid Build Coastguard Worker  ]
103*8975f5c5SAndroid Build Coastguard Worker  {{/if}}
104*8975f5c5SAndroid Build Coastguard Worker  {{#unless extra_kv.skip_build_rs}}
105*8975f5c5SAndroid Build Coastguard Worker  {{#if build_root}}
106*8975f5c5SAndroid Build Coastguard Worker  build_root = "{{build_root}}"
107*8975f5c5SAndroid Build Coastguard Worker  build_sources = [
108*8975f5c5SAndroid Build Coastguard Worker    {{#each build_script_sources}}
109*8975f5c5SAndroid Build Coastguard Worker    "{{this}}",
110*8975f5c5SAndroid Build Coastguard Worker    {{/each}}
111*8975f5c5SAndroid Build Coastguard Worker  ]
112*8975f5c5SAndroid Build Coastguard Worker  {{#with build_script_inputs}}
113*8975f5c5SAndroid Build Coastguard Worker  build_script_inputs = [
114*8975f5c5SAndroid Build Coastguard Worker    {{#each this}}
115*8975f5c5SAndroid Build Coastguard Worker    "{{this}}",
116*8975f5c5SAndroid Build Coastguard Worker    {{/each}}
117*8975f5c5SAndroid Build Coastguard Worker  ]
118*8975f5c5SAndroid Build Coastguard Worker  {{/with}}
119*8975f5c5SAndroid Build Coastguard Worker  {{#with build_script_outputs}}
120*8975f5c5SAndroid Build Coastguard Worker  build_script_outputs = [
121*8975f5c5SAndroid Build Coastguard Worker    {{#each this}}
122*8975f5c5SAndroid Build Coastguard Worker    "{{this}}",
123*8975f5c5SAndroid Build Coastguard Worker    {{/each}}
124*8975f5c5SAndroid Build Coastguard Worker  ]
125*8975f5c5SAndroid Build Coastguard Worker  {{/with}}
126*8975f5c5SAndroid Build Coastguard Worker  {{#each build_deps}}
127*8975f5c5SAndroid Build Coastguard Worker  {{#if @first}}
128*8975f5c5SAndroid Build Coastguard Worker  build_deps = [
129*8975f5c5SAndroid Build Coastguard Worker    {{#each this.packages}}
130*8975f5c5SAndroid Build Coastguard Worker      ":{{this.name}}",
131*8975f5c5SAndroid Build Coastguard Worker    {{/each}}
132*8975f5c5SAndroid Build Coastguard Worker  ]
133*8975f5c5SAndroid Build Coastguard Worker  {{else}}
134*8975f5c5SAndroid Build Coastguard Worker  if ({{this.cond}}) {
135*8975f5c5SAndroid Build Coastguard Worker    build_deps += [
136*8975f5c5SAndroid Build Coastguard Worker    {{#each this.packages}}
137*8975f5c5SAndroid Build Coastguard Worker      ":{{this.name}}",
138*8975f5c5SAndroid Build Coastguard Worker    {{/each}}
139*8975f5c5SAndroid Build Coastguard Worker    ]
140*8975f5c5SAndroid Build Coastguard Worker  }
141*8975f5c5SAndroid Build Coastguard Worker  {{/if}}
142*8975f5c5SAndroid Build Coastguard Worker  {{/each}}
143*8975f5c5SAndroid Build Coastguard Worker  {{/if}}
144*8975f5c5SAndroid Build Coastguard Worker  {{/unless}}
145*8975f5c5SAndroid Build Coastguard Worker  rustenv = [
146*8975f5c5SAndroid Build Coastguard Worker    "CFG_DISABLE_UNSTABLE_FEATURES=0",
147*8975f5c5SAndroid Build Coastguard Worker    "STD_ENV_ARCH=$rust_target_arch",
148*8975f5c5SAndroid Build Coastguard Worker  ]
149*8975f5c5SAndroid Build Coastguard Worker  rustflags = [
150*8975f5c5SAndroid Build Coastguard Worker    "--cfg=backtrace_in_libstd",
151*8975f5c5SAndroid Build Coastguard Worker    "-Zforce-unstable-if-unmarked",
152*8975f5c5SAndroid Build Coastguard Worker    {{#if extra_kv.no_link_directives}}
153*8975f5c5SAndroid Build Coastguard Worker    "-Zlink-directives=false",
154*8975f5c5SAndroid Build Coastguard Worker    {{/if}}
155*8975f5c5SAndroid Build Coastguard Worker  ]
156*8975f5c5SAndroid Build Coastguard Worker  output_dir = "$root_out_dir/local_rustc_sysroot/lib/rustlib/$rust_abi_target/lib/"
157*8975f5c5SAndroid Build Coastguard Worker
158*8975f5c5SAndroid Build Coastguard Worker  {{#with extra_kv.raw_gn}}
159*8975f5c5SAndroid Build Coastguard Worker  {{this}}
160*8975f5c5SAndroid Build Coastguard Worker  {{/with}}
161*8975f5c5SAndroid Build Coastguard Worker  {{/with}}
162*8975f5c5SAndroid Build Coastguard Worker}
163*8975f5c5SAndroid Build Coastguard Worker{{/each}}
164