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