1// 2// Copyright (C) 2018 The Android Open Source Project 3// 4// Licensed under the Apache License, Version 2.0 (the "License"); 5// you may not use this file except in compliance with the License. 6// You may obtain a copy of the License at 7// 8// http://www.apache.org/licenses/LICENSE-2.0 9// 10// Unless required by applicable law or agreed to in writing, software 11// distributed under the License is distributed on an "AS IS" BASIS, 12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13// See the License for the specific language governing permissions and 14// limitations under the License. 15// 16 17cc_defaults { 18 name: "libbpf_defaults", 19 cpp_std: "c++17", 20 cflags: [ 21 "-Wall", 22 "-Werror", 23 "-Wnullable-to-nonnull-conversion", 24 "-Wthread-safety", 25 "-Wunused-parameter", 26 ], 27 tidy: true, 28 tidy_checks: [ 29 "android-*", 30 "cert-*", 31 "clang-analyzer-security*", 32 // Disabling due to many unavoidable warnings from POSIX API usage. 33 "-google-runtime-int", 34 ], 35} 36 37cc_library_headers { 38 name: "libbpf_headers", 39 vendor_available: false, 40 host_supported: false, 41 export_include_dirs: ["src/cc/includes/"], 42 target: { 43 linux_bionic: { 44 enabled: true, 45 }, 46 }, 47} 48 49cc_library { 50 name: "libbpf", 51 vendor_available: false, 52 host_supported: false, 53 target: { 54 android: { 55 srcs: [ 56 "src/cc/libbpf.c", 57 "src/cc/perf_reader.c", 58 ], 59 sanitize: { 60 misc_undefined: ["integer"], 61 }, 62 }, 63 }, 64 65 header_libs: [ 66 "libbpf_headers" 67 ], 68 export_header_lib_headers: ["libbpf_headers"], 69 local_include_dirs: ["src/cc"], 70 71 defaults: ["bpf_defaults"], 72 cflags: [ 73 "-Werror", 74 "-Wall", 75 "-Wextra", 76 ], 77} 78