1*9e3b08aeSAndroid Build Coastguard Worker// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 2*9e3b08aeSAndroid Build Coastguard Worker// 3*9e3b08aeSAndroid Build Coastguard Worker// Copyright 2021 Google LLC 4*9e3b08aeSAndroid Build Coastguard Worker// 5*9e3b08aeSAndroid Build Coastguard Worker// Licensed under the Apache License v2.0 with LLVM Exceptions (the 6*9e3b08aeSAndroid Build Coastguard Worker// "License"); you may not use this file except in compliance with the 7*9e3b08aeSAndroid Build Coastguard Worker// License. You may obtain a copy of the License at 8*9e3b08aeSAndroid Build Coastguard Worker// 9*9e3b08aeSAndroid Build Coastguard Worker// https://llvm.org/LICENSE.txt 10*9e3b08aeSAndroid Build Coastguard Worker// 11*9e3b08aeSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 12*9e3b08aeSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 13*9e3b08aeSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*9e3b08aeSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 15*9e3b08aeSAndroid Build Coastguard Worker// limitations under the License. 16*9e3b08aeSAndroid Build Coastguard Worker// 17*9e3b08aeSAndroid Build Coastguard Worker// Author: Giuliano Procida 18*9e3b08aeSAndroid Build Coastguard Worker 19*9e3b08aeSAndroid Build Coastguard Workerpackage { 20*9e3b08aeSAndroid Build Coastguard Worker default_applicable_licenses: ["llvm_license"], 21*9e3b08aeSAndroid Build Coastguard Worker} 22*9e3b08aeSAndroid Build Coastguard Worker 23*9e3b08aeSAndroid Build Coastguard Worker// http://go/android-license-faq 24*9e3b08aeSAndroid Build Coastguard Workerlicense { 25*9e3b08aeSAndroid Build Coastguard Worker name: "llvm_license", 26*9e3b08aeSAndroid Build Coastguard Worker visibility: [":__subpackages__"], 27*9e3b08aeSAndroid Build Coastguard Worker license_kinds: [ 28*9e3b08aeSAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 29*9e3b08aeSAndroid Build Coastguard Worker ], 30*9e3b08aeSAndroid Build Coastguard Worker license_text: [ 31*9e3b08aeSAndroid Build Coastguard Worker "LICENSE", 32*9e3b08aeSAndroid Build Coastguard Worker ], 33*9e3b08aeSAndroid Build Coastguard Worker} 34*9e3b08aeSAndroid Build Coastguard Worker 35*9e3b08aeSAndroid Build Coastguard Workercc_defaults { 36*9e3b08aeSAndroid Build Coastguard Worker name: "defaults", 37*9e3b08aeSAndroid Build Coastguard Worker defaults: ["elfutils_transitive_defaults"], 38*9e3b08aeSAndroid Build Coastguard Worker visibility: [ 39*9e3b08aeSAndroid Build Coastguard Worker "//visibility:private", 40*9e3b08aeSAndroid Build Coastguard Worker ], 41*9e3b08aeSAndroid Build Coastguard Worker cpp_std: "c++20", 42*9e3b08aeSAndroid Build Coastguard Worker cflags: [ 43*9e3b08aeSAndroid Build Coastguard Worker "-DUSE_ANDROID_BUILD_NUMBER", 44*9e3b08aeSAndroid Build Coastguard Worker "-fexceptions", 45*9e3b08aeSAndroid Build Coastguard Worker "-Wno-error=unused-parameter", 46*9e3b08aeSAndroid Build Coastguard Worker ], 47*9e3b08aeSAndroid Build Coastguard Worker static_libs: [ 48*9e3b08aeSAndroid Build Coastguard Worker "libbpf", 49*9e3b08aeSAndroid Build Coastguard Worker "libbuildversion", 50*9e3b08aeSAndroid Build Coastguard Worker "libdw", 51*9e3b08aeSAndroid Build Coastguard Worker "libelf", 52*9e3b08aeSAndroid Build Coastguard Worker "libicuuc", 53*9e3b08aeSAndroid Build Coastguard Worker "libicuuc_stubdata", 54*9e3b08aeSAndroid Build Coastguard Worker "libjemalloc5", 55*9e3b08aeSAndroid Build Coastguard Worker "libprotobuf-cpp-full", 56*9e3b08aeSAndroid Build Coastguard Worker "libxml2", 57*9e3b08aeSAndroid Build Coastguard Worker ], 58*9e3b08aeSAndroid Build Coastguard Worker compile_multilib: "64", 59*9e3b08aeSAndroid Build Coastguard Worker target: { 60*9e3b08aeSAndroid Build Coastguard Worker darwin: { 61*9e3b08aeSAndroid Build Coastguard Worker enabled: false, 62*9e3b08aeSAndroid Build Coastguard Worker }, 63*9e3b08aeSAndroid Build Coastguard Worker }, 64*9e3b08aeSAndroid Build Coastguard Worker // TODO(b/324274771): figure out a better solution 65*9e3b08aeSAndroid Build Coastguard Worker native_coverage: false, 66*9e3b08aeSAndroid Build Coastguard Worker} 67*9e3b08aeSAndroid Build Coastguard Worker 68*9e3b08aeSAndroid Build Coastguard Workercc_library_host_static { 69*9e3b08aeSAndroid Build Coastguard Worker name: "libstg", 70*9e3b08aeSAndroid Build Coastguard Worker defaults: ["defaults"], 71*9e3b08aeSAndroid Build Coastguard Worker srcs: [ 72*9e3b08aeSAndroid Build Coastguard Worker "abigail_reader.cc", 73*9e3b08aeSAndroid Build Coastguard Worker "btf_reader.cc", 74*9e3b08aeSAndroid Build Coastguard Worker "comparison.cc", 75*9e3b08aeSAndroid Build Coastguard Worker "deduplication.cc", 76*9e3b08aeSAndroid Build Coastguard Worker "dwarf_processor.cc", 77*9e3b08aeSAndroid Build Coastguard Worker "dwarf_wrappers.cc", 78*9e3b08aeSAndroid Build Coastguard Worker "elf_dwarf_handle.cc", 79*9e3b08aeSAndroid Build Coastguard Worker "elf_loader.cc", 80*9e3b08aeSAndroid Build Coastguard Worker "elf_reader.cc", 81*9e3b08aeSAndroid Build Coastguard Worker "fidelity.cc", 82*9e3b08aeSAndroid Build Coastguard Worker "file_descriptor.cc", 83*9e3b08aeSAndroid Build Coastguard Worker "filter.cc", 84*9e3b08aeSAndroid Build Coastguard Worker "fingerprint.cc", 85*9e3b08aeSAndroid Build Coastguard Worker "graph.cc", 86*9e3b08aeSAndroid Build Coastguard Worker "input.cc", 87*9e3b08aeSAndroid Build Coastguard Worker "naming.cc", 88*9e3b08aeSAndroid Build Coastguard Worker "post_processing.cc", 89*9e3b08aeSAndroid Build Coastguard Worker "proto_reader.cc", 90*9e3b08aeSAndroid Build Coastguard Worker "proto_writer.cc", 91*9e3b08aeSAndroid Build Coastguard Worker "reporting.cc", 92*9e3b08aeSAndroid Build Coastguard Worker "runtime.cc", 93*9e3b08aeSAndroid Build Coastguard Worker "stable_hash.cc", 94*9e3b08aeSAndroid Build Coastguard Worker "stg.proto", 95*9e3b08aeSAndroid Build Coastguard Worker "type_normalisation.cc", 96*9e3b08aeSAndroid Build Coastguard Worker "type_resolution.cc", 97*9e3b08aeSAndroid Build Coastguard Worker "unification.cc", 98*9e3b08aeSAndroid Build Coastguard Worker ], 99*9e3b08aeSAndroid Build Coastguard Worker proto: { 100*9e3b08aeSAndroid Build Coastguard Worker export_proto_headers: true, 101*9e3b08aeSAndroid Build Coastguard Worker }, 102*9e3b08aeSAndroid Build Coastguard Worker 103*9e3b08aeSAndroid Build Coastguard Worker} 104*9e3b08aeSAndroid Build Coastguard Worker 105*9e3b08aeSAndroid Build Coastguard Workercc_binary_host { 106*9e3b08aeSAndroid Build Coastguard Worker name: "stg", 107*9e3b08aeSAndroid Build Coastguard Worker defaults: ["defaults"], 108*9e3b08aeSAndroid Build Coastguard Worker srcs: [ 109*9e3b08aeSAndroid Build Coastguard Worker "stg.cc", 110*9e3b08aeSAndroid Build Coastguard Worker ], 111*9e3b08aeSAndroid Build Coastguard Worker static_libs: ["libstg"], 112*9e3b08aeSAndroid Build Coastguard Worker} 113*9e3b08aeSAndroid Build Coastguard Worker 114*9e3b08aeSAndroid Build Coastguard Workercc_binary_host { 115*9e3b08aeSAndroid Build Coastguard Worker name: "stgdiff", 116*9e3b08aeSAndroid Build Coastguard Worker defaults: ["defaults"], 117*9e3b08aeSAndroid Build Coastguard Worker srcs: [ 118*9e3b08aeSAndroid Build Coastguard Worker "stgdiff.cc", 119*9e3b08aeSAndroid Build Coastguard Worker ], 120*9e3b08aeSAndroid Build Coastguard Worker static_libs: ["libstg"], 121*9e3b08aeSAndroid Build Coastguard Worker} 122