48 lines
1.3 KiB
Plaintext
48 lines
1.3 KiB
Plaintext
# -*- bazel-starlark -*-
|
|
# Copyright 2023 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
"""Siso configuration main entry."""
|
|
|
|
load("@builtin//encoding.star", "json")
|
|
load("@builtin//runtime.star", "runtime")
|
|
load("@builtin//struct.star", "module")
|
|
load("./linux.star", chromium_linux = "chromium")
|
|
load("./mac.star", chromium_mac = "chromium")
|
|
load("./simple.star", "simple")
|
|
load("./windows.star", chromium_windows = "chromium")
|
|
|
|
def init(ctx):
|
|
print("runtime: os:%s arch:%s run:%d" % (
|
|
runtime.os,
|
|
runtime.arch,
|
|
runtime.num_cpu,
|
|
))
|
|
host = {
|
|
"linux": chromium_linux,
|
|
"darwin": chromium_mac,
|
|
"windows": chromium_windows,
|
|
}[runtime.os]
|
|
step_config = {
|
|
"platforms": {},
|
|
"input_deps": {},
|
|
"rules": [],
|
|
}
|
|
step_config = host.step_config(ctx, step_config)
|
|
step_config = simple.step_config(ctx, step_config)
|
|
|
|
filegroups = {}
|
|
filegroups.update(host.filegroups)
|
|
filegroups.update(simple.filegroups)
|
|
|
|
handlers = {}
|
|
handlers.update(host.handlers)
|
|
handlers.update(simple.handlers)
|
|
|
|
return module(
|
|
"config",
|
|
step_config = json.encode(step_config),
|
|
filegroups = filegroups,
|
|
handlers = handlers,
|
|
)
|