blob: ea5808665a975cbde2c025908f5434fdc246a4f6 [file] [log] [blame]
Jingwen Chen8c1b97e2021-02-18 03:21:34 -05001// Copyright 2021 Google Inc. All rights reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package bp2build
16
17import (
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +020018 "testing"
19
Jingwen Chen8c1b97e2021-02-18 03:21:34 -050020 "android/soong/android"
21 "android/soong/cc"
Jingwen Chen8c1b97e2021-02-18 03:21:34 -050022)
23
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +020024func registerCcObjectModuleTypes(ctx android.RegistrationContext) {
25 // Always register cc_defaults module factory
26 ctx.RegisterModuleType("cc_defaults", func() android.Module { return cc.DefaultsFactory() })
27}
28
29func runCcObjectTestCase(t *testing.T, tc bp2buildTestCase) {
Liz Kammere4982e82021-05-25 10:39:35 -040030 t.Helper()
Liz Kammer78cfdaa2021-11-08 12:56:31 -050031 (&tc).moduleTypeUnderTest = "cc_object"
32 (&tc).moduleTypeUnderTestFactory = cc.ObjectFactory
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +020033 runBp2BuildTestCase(t, registerCcObjectModuleTypes, tc)
34}
35
36func TestCcObjectSimple(t *testing.T) {
37 runCcObjectTestCase(t, bp2buildTestCase{
Liz Kammer78cfdaa2021-11-08 12:56:31 -050038 description: "simple cc_object generates cc_object with include header dep",
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +020039 filesystem: map[string]string{
40 "a/b/foo.h": "",
41 "a/b/bar.h": "",
42 "a/b/exclude.c": "",
43 "a/b/c.c": "",
44 },
45 blueprint: `cc_object {
Jingwen Chen8c1b97e2021-02-18 03:21:34 -050046 name: "foo",
47 local_include_dirs: ["include"],
Colin Cross6b8f4252021-07-22 11:39:44 -070048 system_shared_libs: [],
Jingwen Chen8c1b97e2021-02-18 03:21:34 -050049 cflags: [
50 "-Wno-gcc-compat",
51 "-Wall",
52 "-Werror",
53 ],
54 srcs: [
Jingwen Chendb120242021-02-23 00:46:47 -050055 "a/b/*.c"
Jingwen Chen8c1b97e2021-02-18 03:21:34 -050056 ],
Jingwen Chendb120242021-02-23 00:46:47 -050057 exclude_srcs: ["a/b/exclude.c"],
Yu Liufc603162022-03-01 15:44:08 -080058 sdk_version: "current",
59 min_sdk_version: "29",
Jingwen Chen8c1b97e2021-02-18 03:21:34 -050060}
61`,
Liz Kammer78cfdaa2021-11-08 12:56:31 -050062 expectedBazelTargets: []string{
63 makeBazelTarget("cc_object", "foo", attrNameToString{
64 "copts": `[
Jingwen Chen8c1b97e2021-02-18 03:21:34 -050065 "-fno-addrsig",
66 "-Wno-gcc-compat",
67 "-Wall",
68 "-Werror",
Liz Kammer78cfdaa2021-11-08 12:56:31 -050069 ]`,
70 "local_includes": `[
Liz Kammer35687bc2021-09-10 10:07:07 -040071 "include",
72 ".",
Liz Kammer78cfdaa2021-11-08 12:56:31 -050073 ]`,
74 "srcs": `["a/b/c.c"]`,
75 "system_dynamic_deps": `[]`,
Yu Liufc603162022-03-01 15:44:08 -080076 "sdk_version": `"current"`,
77 "min_sdk_version": `"29"`,
Liz Kammer78cfdaa2021-11-08 12:56:31 -050078 }),
Jingwen Chen8c1b97e2021-02-18 03:21:34 -050079 },
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +020080 })
81}
82
83func TestCcObjectDefaults(t *testing.T) {
84 runCcObjectTestCase(t, bp2buildTestCase{
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +020085 blueprint: `cc_object {
Jingwen Chen8c1b97e2021-02-18 03:21:34 -050086 name: "foo",
Colin Cross6b8f4252021-07-22 11:39:44 -070087 system_shared_libs: [],
Jingwen Chen8c1b97e2021-02-18 03:21:34 -050088 srcs: [
89 "a/b/*.h",
90 "a/b/c.c"
91 ],
92
93 defaults: ["foo_defaults"],
Jingwen Chen8c1b97e2021-02-18 03:21:34 -050094}
95
96cc_defaults {
97 name: "foo_defaults",
98 defaults: ["foo_bar_defaults"],
Jingwen Chen8c1b97e2021-02-18 03:21:34 -050099}
100
101cc_defaults {
102 name: "foo_bar_defaults",
103 cflags: [
Jingwen Chen8c1b97e2021-02-18 03:21:34 -0500104 "-Werror",
105 ],
106}
107`,
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500108 expectedBazelTargets: []string{
109 makeBazelTarget("cc_object", "foo", attrNameToString{
110 "copts": `[
Jingwen Chen8c1b97e2021-02-18 03:21:34 -0500111 "-Werror",
112 "-fno-addrsig",
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500113 ]`,
114 "local_includes": `["."]`,
115 "srcs": `["a/b/c.c"]`,
116 "system_dynamic_deps": `[]`,
117 }),
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200118 }})
119}
120
121func TestCcObjectCcObjetDepsInObjs(t *testing.T) {
122 runCcObjectTestCase(t, bp2buildTestCase{
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500123 description: "cc_object with cc_object deps in objs props",
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200124 filesystem: map[string]string{
125 "a/b/c.c": "",
126 "x/y/z.c": "",
Jingwen Chen8c1b97e2021-02-18 03:21:34 -0500127 },
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200128 blueprint: `cc_object {
Jingwen Chendb120242021-02-23 00:46:47 -0500129 name: "foo",
Colin Cross6b8f4252021-07-22 11:39:44 -0700130 system_shared_libs: [],
Jingwen Chendb120242021-02-23 00:46:47 -0500131 srcs: ["a/b/c.c"],
132 objs: ["bar"],
Liz Kammer8337ea42021-09-10 10:06:32 -0400133 include_build_directory: false,
Jingwen Chendb120242021-02-23 00:46:47 -0500134}
135
136cc_object {
137 name: "bar",
Colin Cross6b8f4252021-07-22 11:39:44 -0700138 system_shared_libs: [],
Jingwen Chendb120242021-02-23 00:46:47 -0500139 srcs: ["x/y/z.c"],
Liz Kammer8337ea42021-09-10 10:06:32 -0400140 include_build_directory: false,
Jingwen Chendb120242021-02-23 00:46:47 -0500141}
142`,
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500143 expectedBazelTargets: []string{
144 makeBazelTarget("cc_object", "bar", attrNameToString{
145 "copts": `["-fno-addrsig"]`,
146 "srcs": `["x/y/z.c"]`,
147 "system_dynamic_deps": `[]`,
148 }), makeBazelTarget("cc_object", "foo", attrNameToString{
149 "copts": `["-fno-addrsig"]`,
150 "deps": `[":bar"]`,
151 "srcs": `["a/b/c.c"]`,
152 "system_dynamic_deps": `[]`,
153 }),
Liz Kammera4aa4302021-03-18 16:56:36 -0400154 },
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200155 })
156}
157
158func TestCcObjectIncludeBuildDirFalse(t *testing.T) {
159 runCcObjectTestCase(t, bp2buildTestCase{
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500160 description: "cc_object with include_build_dir: false",
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200161 filesystem: map[string]string{
162 "a/b/c.c": "",
163 "x/y/z.c": "",
164 },
165 blueprint: `cc_object {
Liz Kammera4aa4302021-03-18 16:56:36 -0400166 name: "foo",
Colin Cross6b8f4252021-07-22 11:39:44 -0700167 system_shared_libs: [],
Liz Kammera4aa4302021-03-18 16:56:36 -0400168 srcs: ["a/b/c.c"],
169 include_build_directory: false,
Liz Kammera4aa4302021-03-18 16:56:36 -0400170}
171`,
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500172 expectedBazelTargets: []string{
173 makeBazelTarget("cc_object", "foo", attrNameToString{
174 "copts": `["-fno-addrsig"]`,
175 "srcs": `["a/b/c.c"]`,
176 "system_dynamic_deps": `[]`,
177 }),
Jingwen Chendb120242021-02-23 00:46:47 -0500178 },
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200179 })
180}
181
182func TestCcObjectProductVariable(t *testing.T) {
183 runCcObjectTestCase(t, bp2buildTestCase{
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500184 description: "cc_object with product variable",
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200185 blueprint: `cc_object {
Liz Kammera060c452021-03-24 10:14:47 -0400186 name: "foo",
Colin Cross6b8f4252021-07-22 11:39:44 -0700187 system_shared_libs: [],
Liz Kammera060c452021-03-24 10:14:47 -0400188 include_build_directory: false,
189 product_variables: {
190 platform_sdk_version: {
191 asflags: ["-DPLATFORM_SDK_VERSION=%d"],
192 },
193 },
Chris Parsons69fa9f92021-07-13 11:47:44 -0400194 srcs: ["src.S"],
Liz Kammera060c452021-03-24 10:14:47 -0400195}
196`,
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500197 expectedBazelTargets: []string{
198 makeBazelTarget("cc_object", "foo", attrNameToString{
199 "asflags": `select({
Liz Kammerba7a9c52021-05-26 08:45:30 -0400200 "//build/bazel/product_variables:platform_sdk_version": ["-DPLATFORM_SDK_VERSION=$(Platform_sdk_version)"],
Liz Kammer6fd7b3f2021-05-06 13:54:29 -0400201 "//conditions:default": [],
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500202 })`,
203 "copts": `["-fno-addrsig"]`,
204 "srcs_as": `["src.S"]`,
205 "system_dynamic_deps": `[]`,
206 }),
Liz Kammera060c452021-03-24 10:14:47 -0400207 },
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200208 })
Jingwen Chen8c1b97e2021-02-18 03:21:34 -0500209}
Jingwen Chen5d864492021-02-24 07:20:12 -0500210
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200211func TestCcObjectCflagsOneArch(t *testing.T) {
212 runCcObjectTestCase(t, bp2buildTestCase{
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500213 description: "cc_object setting cflags for one arch",
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200214 blueprint: `cc_object {
Jingwen Chen5d864492021-02-24 07:20:12 -0500215 name: "foo",
Colin Cross6b8f4252021-07-22 11:39:44 -0700216 system_shared_libs: [],
Jingwen Chen07027912021-03-15 06:02:43 -0400217 srcs: ["a.cpp"],
Jingwen Chen5d864492021-02-24 07:20:12 -0500218 arch: {
219 x86: {
Jingwen Chen07027912021-03-15 06:02:43 -0400220 cflags: ["-fPIC"], // string list
221 },
222 arm: {
Chris Parsons69fa9f92021-07-13 11:47:44 -0400223 srcs: ["arch/arm/file.cpp"], // label list
Jingwen Chen5d864492021-02-24 07:20:12 -0500224 },
225 },
Liz Kammer8337ea42021-09-10 10:06:32 -0400226 include_build_directory: false,
Jingwen Chen5d864492021-02-24 07:20:12 -0500227}
228`,
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200229 expectedBazelTargets: []string{
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500230 makeBazelTarget("cc_object", "foo", attrNameToString{
231 "copts": `["-fno-addrsig"] + select({
Jingwen Chenb4628eb2021-04-08 14:40:57 +0000232 "//build/bazel/platforms/arch:x86": ["-fPIC"],
Jingwen Chen07027912021-03-15 06:02:43 -0400233 "//conditions:default": [],
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500234 })`,
235 "srcs": `["a.cpp"] + select({
Chris Parsons69fa9f92021-07-13 11:47:44 -0400236 "//build/bazel/platforms/arch:arm": ["arch/arm/file.cpp"],
Jingwen Chen07027912021-03-15 06:02:43 -0400237 "//conditions:default": [],
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500238 })`,
239 "system_dynamic_deps": `[]`,
240 }),
Jingwen Chen5d864492021-02-24 07:20:12 -0500241 },
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200242 })
243}
244
245func TestCcObjectCflagsFourArch(t *testing.T) {
246 runCcObjectTestCase(t, bp2buildTestCase{
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500247 description: "cc_object setting cflags for 4 architectures",
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200248 blueprint: `cc_object {
Jingwen Chen5d864492021-02-24 07:20:12 -0500249 name: "foo",
Colin Cross6b8f4252021-07-22 11:39:44 -0700250 system_shared_libs: [],
Jingwen Chen07027912021-03-15 06:02:43 -0400251 srcs: ["base.cpp"],
Jingwen Chen5d864492021-02-24 07:20:12 -0500252 arch: {
253 x86: {
Jingwen Chen07027912021-03-15 06:02:43 -0400254 srcs: ["x86.cpp"],
Jingwen Chen5d864492021-02-24 07:20:12 -0500255 cflags: ["-fPIC"],
256 },
257 x86_64: {
Jingwen Chen07027912021-03-15 06:02:43 -0400258 srcs: ["x86_64.cpp"],
Jingwen Chen5d864492021-02-24 07:20:12 -0500259 cflags: ["-fPIC"],
260 },
261 arm: {
Jingwen Chen07027912021-03-15 06:02:43 -0400262 srcs: ["arm.cpp"],
Jingwen Chen5d864492021-02-24 07:20:12 -0500263 cflags: ["-Wall"],
264 },
265 arm64: {
Jingwen Chen07027912021-03-15 06:02:43 -0400266 srcs: ["arm64.cpp"],
Jingwen Chen5d864492021-02-24 07:20:12 -0500267 cflags: ["-Wall"],
268 },
269 },
Liz Kammer8337ea42021-09-10 10:06:32 -0400270 include_build_directory: false,
Jingwen Chen5d864492021-02-24 07:20:12 -0500271}
272`,
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200273 expectedBazelTargets: []string{
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500274 makeBazelTarget("cc_object", "foo", attrNameToString{
275 "copts": `["-fno-addrsig"] + select({
Jingwen Chenb4628eb2021-04-08 14:40:57 +0000276 "//build/bazel/platforms/arch:arm": ["-Wall"],
277 "//build/bazel/platforms/arch:arm64": ["-Wall"],
278 "//build/bazel/platforms/arch:x86": ["-fPIC"],
279 "//build/bazel/platforms/arch:x86_64": ["-fPIC"],
Jingwen Chen07027912021-03-15 06:02:43 -0400280 "//conditions:default": [],
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500281 })`,
282 "srcs": `["base.cpp"] + select({
Jingwen Chenb4628eb2021-04-08 14:40:57 +0000283 "//build/bazel/platforms/arch:arm": ["arm.cpp"],
284 "//build/bazel/platforms/arch:arm64": ["arm64.cpp"],
285 "//build/bazel/platforms/arch:x86": ["x86.cpp"],
286 "//build/bazel/platforms/arch:x86_64": ["x86_64.cpp"],
Jingwen Chen07027912021-03-15 06:02:43 -0400287 "//conditions:default": [],
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500288 })`,
289 "system_dynamic_deps": `[]`,
290 }),
Jingwen Chen5d864492021-02-24 07:20:12 -0500291 },
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200292 })
293}
294
Chris Parsonsa37e1952021-09-28 16:47:36 -0400295func TestCcObjectLinkerScript(t *testing.T) {
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200296 runCcObjectTestCase(t, bp2buildTestCase{
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500297 description: "cc_object setting linker_script",
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200298 blueprint: `cc_object {
Jingwen Chenc1c26502021-04-05 10:35:13 +0000299 name: "foo",
Chris Parsonsa37e1952021-09-28 16:47:36 -0400300 srcs: ["base.cpp"],
301 linker_script: "bunny.lds",
302 include_build_directory: false,
303}
304`,
305 expectedBazelTargets: []string{
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500306 makeBazelTarget("cc_object", "foo", attrNameToString{
307 "copts": `["-fno-addrsig"]`,
308 "linker_script": `"bunny.lds"`,
309 "srcs": `["base.cpp"]`,
310 }),
Chris Parsonsa37e1952021-09-28 16:47:36 -0400311 },
312 })
313}
314
315func TestCcObjectDepsAndLinkerScriptSelects(t *testing.T) {
316 runCcObjectTestCase(t, bp2buildTestCase{
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500317 description: "cc_object setting deps and linker_script across archs",
Chris Parsonsa37e1952021-09-28 16:47:36 -0400318 blueprint: `cc_object {
319 name: "foo",
320 srcs: ["base.cpp"],
321 arch: {
322 x86: {
323 objs: ["x86_obj"],
324 linker_script: "x86.lds",
325 },
326 x86_64: {
327 objs: ["x86_64_obj"],
328 linker_script: "x86_64.lds",
329 },
330 arm: {
331 objs: ["arm_obj"],
332 linker_script: "arm.lds",
333 },
334 },
335 include_build_directory: false,
336}
337
338cc_object {
339 name: "x86_obj",
Colin Cross6b8f4252021-07-22 11:39:44 -0700340 system_shared_libs: [],
Chris Parsonsa37e1952021-09-28 16:47:36 -0400341 srcs: ["x86.cpp"],
342 include_build_directory: false,
343 bazel_module: { bp2build_available: false },
344}
345
346cc_object {
347 name: "x86_64_obj",
348 system_shared_libs: [],
349 srcs: ["x86_64.cpp"],
350 include_build_directory: false,
351 bazel_module: { bp2build_available: false },
352}
353
354cc_object {
355 name: "arm_obj",
356 system_shared_libs: [],
357 srcs: ["arm.cpp"],
358 include_build_directory: false,
359 bazel_module: { bp2build_available: false },
360}
361`,
362 expectedBazelTargets: []string{
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500363 makeBazelTarget("cc_object", "foo", attrNameToString{
364 "copts": `["-fno-addrsig"]`,
365 "deps": `select({
Chris Parsonsa37e1952021-09-28 16:47:36 -0400366 "//build/bazel/platforms/arch:arm": [":arm_obj"],
367 "//build/bazel/platforms/arch:x86": [":x86_obj"],
368 "//build/bazel/platforms/arch:x86_64": [":x86_64_obj"],
369 "//conditions:default": [],
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500370 })`,
371 "linker_script": `select({
Chris Parsonsa37e1952021-09-28 16:47:36 -0400372 "//build/bazel/platforms/arch:arm": "arm.lds",
373 "//build/bazel/platforms/arch:x86": "x86.lds",
374 "//build/bazel/platforms/arch:x86_64": "x86_64.lds",
375 "//conditions:default": None,
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500376 })`,
377 "srcs": `["base.cpp"]`,
378 }),
Chris Parsonsa37e1952021-09-28 16:47:36 -0400379 },
380 })
381}
382
383func TestCcObjectSelectOnLinuxAndBionicArchs(t *testing.T) {
384 runCcObjectTestCase(t, bp2buildTestCase{
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500385 description: "cc_object setting srcs based on linux and bionic archs",
Chris Parsonsa37e1952021-09-28 16:47:36 -0400386 blueprint: `cc_object {
387 name: "foo",
Jingwen Chenc1c26502021-04-05 10:35:13 +0000388 srcs: ["base.cpp"],
389 target: {
Chris Parsonsa37e1952021-09-28 16:47:36 -0400390 linux_arm64: {
391 srcs: ["linux_arm64.cpp",]
Jingwen Chenc1c26502021-04-05 10:35:13 +0000392 },
Chris Parsonsa37e1952021-09-28 16:47:36 -0400393 linux_x86: {
394 srcs: ["linux_x86.cpp",]
Jingwen Chenc1c26502021-04-05 10:35:13 +0000395 },
Chris Parsonsa37e1952021-09-28 16:47:36 -0400396 bionic_arm64: {
397 srcs: ["bionic_arm64.cpp",]
Jingwen Chenc1c26502021-04-05 10:35:13 +0000398 },
399 },
Liz Kammer8337ea42021-09-10 10:06:32 -0400400 include_build_directory: false,
Jingwen Chenc1c26502021-04-05 10:35:13 +0000401}
402`,
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200403 expectedBazelTargets: []string{
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500404 makeBazelTarget("cc_object", "foo", attrNameToString{
405 "copts": `["-fno-addrsig"]`,
406 "srcs": `["base.cpp"] + select({
Chris Parsonsa37e1952021-09-28 16:47:36 -0400407 "//build/bazel/platforms/os_arch:android_arm64": [
Chris Parsonsa37e1952021-09-28 16:47:36 -0400408 "linux_arm64.cpp",
Liz Kammer9bad9d62021-10-11 15:40:35 -0400409 "bionic_arm64.cpp",
Chris Parsonsa37e1952021-09-28 16:47:36 -0400410 ],
411 "//build/bazel/platforms/os_arch:android_x86": ["linux_x86.cpp"],
412 "//build/bazel/platforms/os_arch:linux_bionic_arm64": [
Chris Parsonsa37e1952021-09-28 16:47:36 -0400413 "linux_arm64.cpp",
Liz Kammer9bad9d62021-10-11 15:40:35 -0400414 "bionic_arm64.cpp",
Chris Parsonsa37e1952021-09-28 16:47:36 -0400415 ],
416 "//build/bazel/platforms/os_arch:linux_glibc_x86": ["linux_x86.cpp"],
417 "//build/bazel/platforms/os_arch:linux_musl_x86": ["linux_x86.cpp"],
Jingwen Chenc1c26502021-04-05 10:35:13 +0000418 "//conditions:default": [],
Liz Kammer78cfdaa2021-11-08 12:56:31 -0500419 })`,
420 }),
Jingwen Chenc1c26502021-04-05 10:35:13 +0000421 },
Lukacs T. Berkic1cc3b92021-05-21 09:37:00 +0200422 })
Jingwen Chen5d864492021-02-24 07:20:12 -0500423}