• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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