1*8975f5c5SAndroid Build Coastguard Worker# -*- bazel-starlark -*- 2*8975f5c5SAndroid Build Coastguard Worker# Copyright 2023 The Chromium Authors 3*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 4*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file. 5*8975f5c5SAndroid Build Coastguard Worker"""Siso configuration for nasm/linux.""" 6*8975f5c5SAndroid Build Coastguard Worker 7*8975f5c5SAndroid Build Coastguard Workerload("@builtin//path.star", "path") 8*8975f5c5SAndroid Build Coastguard Workerload("@builtin//struct.star", "module") 9*8975f5c5SAndroid Build Coastguard Worker 10*8975f5c5SAndroid Build Coastguard Workerdef __filegroups(ctx): 11*8975f5c5SAndroid Build Coastguard Worker return {} 12*8975f5c5SAndroid Build Coastguard Worker 13*8975f5c5SAndroid Build Coastguard Worker__handlers = {} 14*8975f5c5SAndroid Build Coastguard Worker 15*8975f5c5SAndroid Build Coastguard Workerdef __step_config(ctx, step_config): 16*8975f5c5SAndroid Build Coastguard Worker remote_run = True # Turn this to False when you do file access trace. 17*8975f5c5SAndroid Build Coastguard Worker rules = [] 18*8975f5c5SAndroid Build Coastguard Worker for toolchain in ["", "clang_x64"]: 19*8975f5c5SAndroid Build Coastguard Worker nasm_path = path.join(toolchain, "nasm") 20*8975f5c5SAndroid Build Coastguard Worker rules.append({ 21*8975f5c5SAndroid Build Coastguard Worker "name": path.join("nasm", toolchain), 22*8975f5c5SAndroid Build Coastguard Worker "command_prefix": "python3 ../../build/gn_run_binary.py " + nasm_path, 23*8975f5c5SAndroid Build Coastguard Worker "exclude_input_patterns": [ 24*8975f5c5SAndroid Build Coastguard Worker "*.stamp", 25*8975f5c5SAndroid Build Coastguard Worker ], 26*8975f5c5SAndroid Build Coastguard Worker "remote": remote_run, 27*8975f5c5SAndroid Build Coastguard Worker # chromeos generates default.profraw? 28*8975f5c5SAndroid Build Coastguard Worker "ignore_extra_output_pattern": ".*default.profraw", 29*8975f5c5SAndroid Build Coastguard Worker "timeout": "2m", 30*8975f5c5SAndroid Build Coastguard Worker }) 31*8975f5c5SAndroid Build Coastguard Worker step_config["rules"].extend(rules) 32*8975f5c5SAndroid Build Coastguard Worker return step_config 33*8975f5c5SAndroid Build Coastguard Worker 34*8975f5c5SAndroid Build Coastguard Workernasm = module( 35*8975f5c5SAndroid Build Coastguard Worker "nasm", 36*8975f5c5SAndroid Build Coastguard Worker step_config = __step_config, 37*8975f5c5SAndroid Build Coastguard Worker filegroups = __filegroups, 38*8975f5c5SAndroid Build Coastguard Worker handlers = __handlers, 39*8975f5c5SAndroid Build Coastguard Worker) 40