xref: /aosp_15_r20/external/cronet/build/config/siso/linux.star (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker# -*- bazel-starlark -*-
2*6777b538SAndroid Build Coastguard Worker# Copyright 2023 The Chromium Authors
3*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
4*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file.
5*6777b538SAndroid Build Coastguard Worker"""Siso configuration for linux."""
6*6777b538SAndroid Build Coastguard Worker
7*6777b538SAndroid Build Coastguard Workerload("@builtin//struct.star", "module")
8*6777b538SAndroid Build Coastguard Workerload("./android.star", "android")
9*6777b538SAndroid Build Coastguard Workerload("./clang_linux.star", "clang")
10*6777b538SAndroid Build Coastguard Workerload("./config.star", "config")
11*6777b538SAndroid Build Coastguard Workerload("./cros.star", "cros")
12*6777b538SAndroid Build Coastguard Workerload("./devtools_frontend.star", "devtools_frontend")
13*6777b538SAndroid Build Coastguard Workerload("./nacl_linux.star", "nacl")
14*6777b538SAndroid Build Coastguard Workerload("./nasm_linux.star", "nasm")
15*6777b538SAndroid Build Coastguard Workerload("./proto_linux.star", "proto")
16*6777b538SAndroid Build Coastguard Workerload("./reproxy.star", "reproxy")
17*6777b538SAndroid Build Coastguard Workerload("./rust_linux.star", "rust")
18*6777b538SAndroid Build Coastguard Workerload("./typescript_unix.star", "typescript")
19*6777b538SAndroid Build Coastguard Workerload("./v8.star", "v8")
20*6777b538SAndroid Build Coastguard Worker
21*6777b538SAndroid Build Coastguard Workerdef __filegroups(ctx):
22*6777b538SAndroid Build Coastguard Worker    fg = {}
23*6777b538SAndroid Build Coastguard Worker    fg.update(android.filegroups(ctx))
24*6777b538SAndroid Build Coastguard Worker    fg.update(clang.filegroups(ctx))
25*6777b538SAndroid Build Coastguard Worker    fg.update(cros.filegroups(ctx))
26*6777b538SAndroid Build Coastguard Worker    fg.update(devtools_frontend.filegroups(ctx))
27*6777b538SAndroid Build Coastguard Worker    fg.update(nacl.filegroups(ctx))
28*6777b538SAndroid Build Coastguard Worker    fg.update(nasm.filegroups(ctx))
29*6777b538SAndroid Build Coastguard Worker    fg.update(proto.filegroups(ctx))
30*6777b538SAndroid Build Coastguard Worker    fg.update(rust.filegroups(ctx))
31*6777b538SAndroid Build Coastguard Worker    fg.update(typescript.filegroups(ctx))
32*6777b538SAndroid Build Coastguard Worker    fg["third_party/perfetto/python:python"] = {
33*6777b538SAndroid Build Coastguard Worker        "type": "glob",
34*6777b538SAndroid Build Coastguard Worker        "includes": ["*.py"],
35*6777b538SAndroid Build Coastguard Worker    }
36*6777b538SAndroid Build Coastguard Worker    fg["third_party/perfetto/src/trace_processor:trace_processor"] = {
37*6777b538SAndroid Build Coastguard Worker        "type": "glob",
38*6777b538SAndroid Build Coastguard Worker        "includes": ["*.py"],
39*6777b538SAndroid Build Coastguard Worker    }
40*6777b538SAndroid Build Coastguard Worker    return fg
41*6777b538SAndroid Build Coastguard Worker
42*6777b538SAndroid Build Coastguard Worker__handlers = {}
43*6777b538SAndroid Build Coastguard Worker__handlers.update(android.handlers)
44*6777b538SAndroid Build Coastguard Worker__handlers.update(clang.handlers)
45*6777b538SAndroid Build Coastguard Worker__handlers.update(cros.handlers)
46*6777b538SAndroid Build Coastguard Worker__handlers.update(devtools_frontend.handlers)
47*6777b538SAndroid Build Coastguard Worker__handlers.update(nacl.handlers)
48*6777b538SAndroid Build Coastguard Worker__handlers.update(nasm.handlers)
49*6777b538SAndroid Build Coastguard Worker__handlers.update(proto.handlers)
50*6777b538SAndroid Build Coastguard Worker__handlers.update(rust.handlers)
51*6777b538SAndroid Build Coastguard Worker__handlers.update(typescript.handlers)
52*6777b538SAndroid Build Coastguard Worker
53*6777b538SAndroid Build Coastguard Workerdef __step_config(ctx, step_config):
54*6777b538SAndroid Build Coastguard Worker    config.check(ctx)
55*6777b538SAndroid Build Coastguard Worker
56*6777b538SAndroid Build Coastguard Worker    if android.enabled(ctx):
57*6777b538SAndroid Build Coastguard Worker        step_config = android.step_config(ctx, step_config)
58*6777b538SAndroid Build Coastguard Worker
59*6777b538SAndroid Build Coastguard Worker    # nacl step config should be added before clang step config for link step
60*6777b538SAndroid Build Coastguard Worker    # rules.
61*6777b538SAndroid Build Coastguard Worker    step_config = nacl.step_config(ctx, step_config)
62*6777b538SAndroid Build Coastguard Worker
63*6777b538SAndroid Build Coastguard Worker    step_config = clang.step_config(ctx, step_config)
64*6777b538SAndroid Build Coastguard Worker    step_config = cros.step_config(ctx, step_config)
65*6777b538SAndroid Build Coastguard Worker    step_config = devtools_frontend.step_config(ctx, step_config)
66*6777b538SAndroid Build Coastguard Worker    step_config = nasm.step_config(ctx, step_config)
67*6777b538SAndroid Build Coastguard Worker    step_config = proto.step_config(ctx, step_config)
68*6777b538SAndroid Build Coastguard Worker    step_config = rust.step_config(ctx, step_config)
69*6777b538SAndroid Build Coastguard Worker    step_config = typescript.step_config(ctx, step_config)
70*6777b538SAndroid Build Coastguard Worker    step_config = v8.step_config(ctx, step_config)
71*6777b538SAndroid Build Coastguard Worker
72*6777b538SAndroid Build Coastguard Worker    step_config["rules"].extend([
73*6777b538SAndroid Build Coastguard Worker        {
74*6777b538SAndroid Build Coastguard Worker            "name": "write_buildflag_header",
75*6777b538SAndroid Build Coastguard Worker            "command_prefix": "python3 ../../build/write_buildflag_header.py",
76*6777b538SAndroid Build Coastguard Worker            "remote": config.get(ctx, "cog"),
77*6777b538SAndroid Build Coastguard Worker            "canonicalize_dir": True,
78*6777b538SAndroid Build Coastguard Worker            "timeout": "2m",
79*6777b538SAndroid Build Coastguard Worker        },
80*6777b538SAndroid Build Coastguard Worker        {
81*6777b538SAndroid Build Coastguard Worker            "name": "write_build_date_header",
82*6777b538SAndroid Build Coastguard Worker            "command_prefix": "python3 ../../base/write_build_date_header.py",
83*6777b538SAndroid Build Coastguard Worker            "remote": config.get(ctx, "cog"),
84*6777b538SAndroid Build Coastguard Worker            "canonicalize_dir": True,
85*6777b538SAndroid Build Coastguard Worker            "timeout": "2m",
86*6777b538SAndroid Build Coastguard Worker        },
87*6777b538SAndroid Build Coastguard Worker        {
88*6777b538SAndroid Build Coastguard Worker            "name": "version_py",
89*6777b538SAndroid Build Coastguard Worker            "command_prefix": "python3 ../../build/util/version.py ",
90*6777b538SAndroid Build Coastguard Worker            "inputs": [
91*6777b538SAndroid Build Coastguard Worker                "build/util/android_chrome_version.py",
92*6777b538SAndroid Build Coastguard Worker                "build/util/LASTCHANGE",
93*6777b538SAndroid Build Coastguard Worker            ],
94*6777b538SAndroid Build Coastguard Worker            "remote": config.get(ctx, "cog"),
95*6777b538SAndroid Build Coastguard Worker            "canonicalize_dir": True,
96*6777b538SAndroid Build Coastguard Worker            "timeout": "2m",
97*6777b538SAndroid Build Coastguard Worker        },
98*6777b538SAndroid Build Coastguard Worker        {
99*6777b538SAndroid Build Coastguard Worker            "name": "perfetto/touch_file",
100*6777b538SAndroid Build Coastguard Worker            "command_prefix": "python3 ../../third_party/perfetto/tools/touch_file.py",
101*6777b538SAndroid Build Coastguard Worker            "remote": config.get(ctx, "cog"),
102*6777b538SAndroid Build Coastguard Worker            "replace": True,
103*6777b538SAndroid Build Coastguard Worker            "canonicalize_dir": True,
104*6777b538SAndroid Build Coastguard Worker            "timeout": "2m",
105*6777b538SAndroid Build Coastguard Worker        },
106*6777b538SAndroid Build Coastguard Worker        {
107*6777b538SAndroid Build Coastguard Worker            "name": "perfetto/write_buildflag_header",
108*6777b538SAndroid Build Coastguard Worker            "command_prefix": "python3 ../../third_party/perfetto/gn/write_buildflag_header.py",
109*6777b538SAndroid Build Coastguard Worker            "remote": config.get(ctx, "cog"),
110*6777b538SAndroid Build Coastguard Worker            "canonicalize_dir": True,
111*6777b538SAndroid Build Coastguard Worker            "timeout": "2m",
112*6777b538SAndroid Build Coastguard Worker        },
113*6777b538SAndroid Build Coastguard Worker        {
114*6777b538SAndroid Build Coastguard Worker            "name": "perfetto/gen_tp_table_headers",
115*6777b538SAndroid Build Coastguard Worker            "command_prefix": "python3 ../../third_party/perfetto/tools/gen_tp_table_headers.py",
116*6777b538SAndroid Build Coastguard Worker            "inputs": [
117*6777b538SAndroid Build Coastguard Worker                "third_party/perfetto/python:python",
118*6777b538SAndroid Build Coastguard Worker                "third_party/perfetto/src/trace_processor:trace_processor",
119*6777b538SAndroid Build Coastguard Worker            ],
120*6777b538SAndroid Build Coastguard Worker            "remote": config.get(ctx, "cog"),
121*6777b538SAndroid Build Coastguard Worker            "canonicalize_dir": True,
122*6777b538SAndroid Build Coastguard Worker            "timeout": "2m",
123*6777b538SAndroid Build Coastguard Worker        },
124*6777b538SAndroid Build Coastguard Worker        {
125*6777b538SAndroid Build Coastguard Worker            "name": "perfetto/gen_cc_proto_descriptor",
126*6777b538SAndroid Build Coastguard Worker            "command_prefix": "python3 ../../third_party/perfetto/tools/gen_cc_proto_descriptor.py",
127*6777b538SAndroid Build Coastguard Worker            "remote": config.get(ctx, "cog"),
128*6777b538SAndroid Build Coastguard Worker            "canonicalize_dir": True,
129*6777b538SAndroid Build Coastguard Worker            "timeout": "2m",
130*6777b538SAndroid Build Coastguard Worker        },
131*6777b538SAndroid Build Coastguard Worker        {
132*6777b538SAndroid Build Coastguard Worker            # b/331716896: local fails due to link(2) error.
133*6777b538SAndroid Build Coastguard Worker            "name": "generate_fontconfig_cache",
134*6777b538SAndroid Build Coastguard Worker            "command_prefix": "python3 ../../build/gn_run_binary.py generate_fontconfig_caches",
135*6777b538SAndroid Build Coastguard Worker            "inputs": ["./etc/fonts/fonts.conf"],
136*6777b538SAndroid Build Coastguard Worker            "remote": config.get(ctx, "cog"),
137*6777b538SAndroid Build Coastguard Worker            "canonicalize_dir": True,
138*6777b538SAndroid Build Coastguard Worker            "timeout": "2m",
139*6777b538SAndroid Build Coastguard Worker        },
140*6777b538SAndroid Build Coastguard Worker    ])
141*6777b538SAndroid Build Coastguard Worker
142*6777b538SAndroid Build Coastguard Worker    return step_config
143*6777b538SAndroid Build Coastguard Worker
144*6777b538SAndroid Build Coastguard Workerchromium = module(
145*6777b538SAndroid Build Coastguard Worker    "chromium",
146*6777b538SAndroid Build Coastguard Worker    step_config = __step_config,
147*6777b538SAndroid Build Coastguard Worker    filegroups = __filegroups,
148*6777b538SAndroid Build Coastguard Worker    handlers = __handlers,
149*6777b538SAndroid Build Coastguard Worker)
150