1# -*- bazel-starlark -*- 2# Copyright 2023 The Chromium Authors 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5"""Siso configuration for linux.""" 6 7load("@builtin//struct.star", "module") 8load("./android.star", "android") 9load("./clang_linux.star", "clang") 10load("./config.star", "config") 11load("./cros.star", "cros") 12load("./devtools_frontend.star", "devtools_frontend") 13load("./nacl_linux.star", "nacl") 14load("./nasm_linux.star", "nasm") 15load("./proto_linux.star", "proto") 16load("./reproxy.star", "reproxy") 17load("./rust_linux.star", "rust") 18load("./typescript_unix.star", "typescript") 19 20def __filegroups(ctx): 21 fg = {} 22 fg.update(android.filegroups(ctx)) 23 fg.update(clang.filegroups(ctx)) 24 fg.update(cros.filegroups(ctx)) 25 fg.update(devtools_frontend.filegroups(ctx)) 26 fg.update(nacl.filegroups(ctx)) 27 fg.update(nasm.filegroups(ctx)) 28 fg.update(proto.filegroups(ctx)) 29 fg.update(rust.filegroups(ctx)) 30 fg.update(typescript.filegroups(ctx)) 31 return fg 32 33__handlers = {} 34__handlers.update(android.handlers) 35__handlers.update(clang.handlers) 36__handlers.update(cros.handlers) 37__handlers.update(devtools_frontend.handlers) 38__handlers.update(nacl.handlers) 39__handlers.update(nasm.handlers) 40__handlers.update(proto.handlers) 41__handlers.update(rust.handlers) 42__handlers.update(typescript.handlers) 43 44def __step_config(ctx, step_config): 45 config.check(ctx) 46 47 if android.enabled(ctx): 48 step_config = android.step_config(ctx, step_config) 49 50 step_config = clang.step_config(ctx, step_config) 51 step_config = cros.step_config(ctx, step_config) 52 step_config = devtools_frontend.step_config(ctx, step_config) 53 step_config = nacl.step_config(ctx, step_config) 54 step_config = nasm.step_config(ctx, step_config) 55 step_config = proto.step_config(ctx, step_config) 56 step_config = rust.step_config(ctx, step_config) 57 step_config = typescript.step_config(ctx, step_config) 58 59 return step_config 60 61chromium = module( 62 "chromium", 63 step_config = __step_config, 64 filegroups = __filegroups, 65 handlers = __handlers, 66) 67