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 17package { 18 // http://go/android-license-faq 19 // A large-scale-change added 'default_applicable_licenses' to import 20 // the below license kinds from "system_bpf_license": 21 // SPDX-license-identifier-Apache-2.0 22 default_applicable_licenses: ["system_bpf_license"], 23} 24 25cc_library_headers { 26 name: "libbpf_android_headers", 27 vendor_available: false, 28 host_supported: false, 29 native_bridge_supported: true, 30 export_include_dirs: ["include"], 31 target: { 32 linux_bionic: { 33 enabled: true, 34 }, 35 }, 36 sdk_version: "30", 37 header_libs: ["bpf_syscall_wrappers"], 38 export_header_lib_headers: ["bpf_syscall_wrappers"], 39} 40 41cc_library { 42 name: "libbpf_android", 43 vendor_available: false, 44 host_supported: false, 45 native_bridge_supported: true, 46 target: { 47 android: { 48 srcs: [ 49 "BpfUtils.cpp", 50 "Loader.cpp", 51 ], 52 sanitize: { 53 misc_undefined: ["integer"], 54 }, 55 }, 56 }, 57 58 shared_libs: [ 59 "libbase", 60 "libutils", 61 "libprocessgroup", 62 "liblog", 63 "libbpf", 64 ], 65 header_libs: [ 66 "libbpf_android_headers" 67 ], 68 export_header_lib_headers: ["libbpf_android_headers"], 69 export_shared_lib_headers: ["libbpf"], 70 local_include_dirs: ["include"], 71 72 defaults: ["bpf_defaults"], 73 cflags: [ 74 "-Werror", 75 "-Wall", 76 "-Wextra", 77 ], 78} 79 80cc_test { 81 name: "libbpf_android_test", 82 srcs: [ 83 "BpfMapTest.cpp", 84 ], 85 defaults: ["bpf_defaults"], 86 cflags: [ 87 "-Wall", 88 "-Werror", 89 "-Wno-error=unused-variable", 90 ], 91 static_libs: ["libgmock"], 92 shared_libs: [ 93 "libbpf_android", 94 "libbase", 95 "liblog", 96 "libutils", 97 ], 98 require_root: true, 99 test_suites: ["general-tests"], 100} 101 102cc_test { 103 name: "libbpf_load_test", 104 srcs: [ 105 "BpfLoadTest.cpp", 106 ], 107 defaults: ["bpf_defaults"], 108 cflags: [ 109 "-Wall", 110 "-Werror", 111 "-Wno-error=unused-variable", 112 ], 113 static_libs: ["libgmock"], 114 shared_libs: [ 115 "libbpf_android", 116 "libbpf", 117 "libbase", 118 "liblog", 119 "libutils", 120 ], 121 122 required: [ 123 "bpf_load_tp_prog.o", 124 ], 125 require_root: true, 126} 127