blob: b5e4722ece8fb830db95363aa889456678a038d6 [file] [log] [blame]
//
// Copyright (C) 2023 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package {
default_team: "trendy_team_fwk_core_networking",
}
cc_binary {
name: "netbpfload",
defaults: ["bpf_defaults"],
cflags: [
"-Wall",
"-Werror",
"-Wthread-safety",
],
sanitize: {
integer_overflow: true,
},
header_libs: ["bpf_headers"],
shared_libs: [
"libbase",
"liblog",
],
srcs: [
"loader.cpp",
"NetBpfLoad.cpp",
],
apex_available: [
"com.android.tethering",
"//apex_available:platform",
],
// really should be Android 14/U (34), but we cannot include binaries built
// against newer sdk in the apex, which still targets 30(R):
// module "netbpfload" variant "android_x86_apex30": should support
// min_sdk_version(30) for "com.android.tethering": newer SDK(34).
min_sdk_version: "30",
init_rc: ["netbpfload.rc"],
required: ["bpfloader"],
}
// Versioned netbpfload init rc: init system will process it only on api V/35+ devices
// (TODO: consider reducing to T/33+ - adjust the comment up above in line 43 as well)
// Note: S[31] Sv2[32] T[33] U[34] V[35])
//
// For details of versioned rc files see:
// https://android.googlesource.com/platform/system/core/+/HEAD/init/README.md#versioned-rc-files-within-apexs
prebuilt_etc {
name: "netbpfload.mainline.rc",
src: "netbpfload.mainline.rc",
filename: "netbpfload.35rc",
installable: false,
}