xref: /aosp_15_r20/external/cronet/build/config/siso/mac.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 macOS."""
6*6777b538SAndroid Build Coastguard Worker
7*6777b538SAndroid Build Coastguard Workerload("@builtin//struct.star", "module")
8*6777b538SAndroid Build Coastguard Workerload("./clang_mac.star", "clang")
9*6777b538SAndroid Build Coastguard Workerload("./config.star", "config")
10*6777b538SAndroid Build Coastguard Workerload("./typescript_unix.star", "typescript")
11*6777b538SAndroid Build Coastguard Worker
12*6777b538SAndroid Build Coastguard Workerdef __filegroups(ctx):
13*6777b538SAndroid Build Coastguard Worker    fg = {}
14*6777b538SAndroid Build Coastguard Worker    fg.update(clang.filegroups(ctx))
15*6777b538SAndroid Build Coastguard Worker    fg.update(typescript.filegroups(ctx))
16*6777b538SAndroid Build Coastguard Worker    return fg
17*6777b538SAndroid Build Coastguard Worker
18*6777b538SAndroid Build Coastguard Worker# to reduce unnecessary local process and
19*6777b538SAndroid Build Coastguard Worker# unnecessary digest calculation of output file.
20*6777b538SAndroid Build Coastguard Workerdef __copy_bundle_data(ctx, cmd):
21*6777b538SAndroid Build Coastguard Worker    input = cmd.inputs[0]
22*6777b538SAndroid Build Coastguard Worker    out = cmd.outputs[0]
23*6777b538SAndroid Build Coastguard Worker    ctx.actions.copy(input, out, recursive = ctx.fs.is_dir(input))
24*6777b538SAndroid Build Coastguard Worker    ctx.actions.exit(exit_status = 0)
25*6777b538SAndroid Build Coastguard Worker
26*6777b538SAndroid Build Coastguard Worker__handlers = {
27*6777b538SAndroid Build Coastguard Worker    "copy_bundle_data": __copy_bundle_data,
28*6777b538SAndroid Build Coastguard Worker}
29*6777b538SAndroid Build Coastguard Worker__handlers.update(clang.handlers)
30*6777b538SAndroid Build Coastguard Worker__handlers.update(typescript.handlers)
31*6777b538SAndroid Build Coastguard Worker
32*6777b538SAndroid Build Coastguard Workerdef __step_config(ctx, step_config):
33*6777b538SAndroid Build Coastguard Worker    config.check(ctx)
34*6777b538SAndroid Build Coastguard Worker    step_config["rules"].extend([
35*6777b538SAndroid Build Coastguard Worker        {
36*6777b538SAndroid Build Coastguard Worker            "name": "mac/copy_bundle_data",
37*6777b538SAndroid Build Coastguard Worker            "action": "(.*)?copy_bundle_data",
38*6777b538SAndroid Build Coastguard Worker            "handler": "copy_bundle_data",
39*6777b538SAndroid Build Coastguard Worker        },
40*6777b538SAndroid Build Coastguard Worker    ])
41*6777b538SAndroid Build Coastguard Worker    step_config = clang.step_config(ctx, step_config)
42*6777b538SAndroid Build Coastguard Worker    step_config = typescript.step_config(ctx, step_config)
43*6777b538SAndroid Build Coastguard Worker    return step_config
44*6777b538SAndroid Build Coastguard Worker
45*6777b538SAndroid Build Coastguard Workerchromium = module(
46*6777b538SAndroid Build Coastguard Worker    "chromium",
47*6777b538SAndroid Build Coastguard Worker    step_config = __step_config,
48*6777b538SAndroid Build Coastguard Worker    filegroups = __filegroups,
49*6777b538SAndroid Build Coastguard Worker    handlers = __handlers,
50*6777b538SAndroid Build Coastguard Worker)
51