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 clang.""" 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Workerload("@builtin//struct.star", "module") 8*6777b538SAndroid Build Coastguard Worker 9*6777b538SAndroid Build Coastguard Workerdef __filegroups(ctx): 10*6777b538SAndroid Build Coastguard Worker return { 11*6777b538SAndroid Build Coastguard Worker "third_party/libc++/src/include:headers": { 12*6777b538SAndroid Build Coastguard Worker "type": "glob", 13*6777b538SAndroid Build Coastguard Worker "includes": ["*"], 14*6777b538SAndroid Build Coastguard Worker # can't use "*.h", because c++ headers have no extension. 15*6777b538SAndroid Build Coastguard Worker }, 16*6777b538SAndroid Build Coastguard Worker "third_party/libc++abi/src/include:headers": { 17*6777b538SAndroid Build Coastguard Worker "type": "glob", 18*6777b538SAndroid Build Coastguard Worker "includes": ["*.h"], 19*6777b538SAndroid Build Coastguard Worker }, 20*6777b538SAndroid Build Coastguard Worker # vendor provided headers for libc++. 21*6777b538SAndroid Build Coastguard Worker "buildtools/third_party/libc++:headers": { 22*6777b538SAndroid Build Coastguard Worker "type": "glob", 23*6777b538SAndroid Build Coastguard Worker "includes": ["__*"], 24*6777b538SAndroid Build Coastguard Worker }, 25*6777b538SAndroid Build Coastguard Worker 26*6777b538SAndroid Build Coastguard Worker # toolchain root 27*6777b538SAndroid Build Coastguard Worker # :headers for compiling 28*6777b538SAndroid Build Coastguard Worker "third_party/llvm-build/Release+Asserts:headers": { 29*6777b538SAndroid Build Coastguard Worker "type": "glob", 30*6777b538SAndroid Build Coastguard Worker "includes": [ 31*6777b538SAndroid Build Coastguard Worker "*.h", 32*6777b538SAndroid Build Coastguard Worker "bin/clang", 33*6777b538SAndroid Build Coastguard Worker "bin/clang++", 34*6777b538SAndroid Build Coastguard Worker "bin/clang-cl.exe", 35*6777b538SAndroid Build Coastguard Worker "*_ignorelist.txt", 36*6777b538SAndroid Build Coastguard Worker ], 37*6777b538SAndroid Build Coastguard Worker }, 38*6777b538SAndroid Build Coastguard Worker } 39*6777b538SAndroid Build Coastguard Worker 40*6777b538SAndroid Build Coastguard Worker__input_deps = { 41*6777b538SAndroid Build Coastguard Worker # need this because we use 42*6777b538SAndroid Build Coastguard Worker # third_party/libc++/src/include:headers, 43*6777b538SAndroid Build Coastguard Worker # but scandeps doesn't scan `__config` file, which uses 44*6777b538SAndroid Build Coastguard Worker # `#include <__config_site>` 45*6777b538SAndroid Build Coastguard Worker # also need `__assertion_handler`. b/321171148 46*6777b538SAndroid Build Coastguard Worker "third_party/libc++/src/include": [ 47*6777b538SAndroid Build Coastguard Worker "buildtools/third_party/libc++:headers", 48*6777b538SAndroid Build Coastguard Worker ], 49*6777b538SAndroid Build Coastguard Worker "third_party/llvm-build/Release+Asserts/bin/clang": [ 50*6777b538SAndroid Build Coastguard Worker "build/config/unsafe_buffers_paths.txt", 51*6777b538SAndroid Build Coastguard Worker ], 52*6777b538SAndroid Build Coastguard Worker "third_party/llvm-build/Release+Asserts/bin/clang++": [ 53*6777b538SAndroid Build Coastguard Worker "build/config/unsafe_buffers_paths.txt", 54*6777b538SAndroid Build Coastguard Worker ], 55*6777b538SAndroid Build Coastguard Worker "third_party/llvm-build/Release+Asserts/bin/clang-cl": [ 56*6777b538SAndroid Build Coastguard Worker "build/config/unsafe_buffers_paths.txt", 57*6777b538SAndroid Build Coastguard Worker ], 58*6777b538SAndroid Build Coastguard Worker "third_party/llvm-build/Release+Asserts/bin/clang-cl.exe": [ 59*6777b538SAndroid Build Coastguard Worker "build/config/unsafe_buffers_paths.txt", 60*6777b538SAndroid Build Coastguard Worker ], 61*6777b538SAndroid Build Coastguard Worker} 62*6777b538SAndroid Build Coastguard Worker 63*6777b538SAndroid Build Coastguard Workerclang_all = module( 64*6777b538SAndroid Build Coastguard Worker "clang_all", 65*6777b538SAndroid Build Coastguard Worker filegroups = __filegroups, 66*6777b538SAndroid Build Coastguard Worker input_deps = __input_deps, 67*6777b538SAndroid Build Coastguard Worker) 68