platform_packages_modules_C.../netbpfload/Android.bp
Maciej Żenczykowski 3218a81a57 NetBpfLoad: use exec path for api level 35+ (ie. V)
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I075b2a6166454d36599b0ecc25ccaeec545d183c
2024-04-15 02:13:56 -07:00

84 lines
2.4 KiB
Text

//
// 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",
}
install_symlink {
name: "mainline_tethering_platform_components",
symlink_target: "/apex/com.android.tethering/bin/ethtool",
// installed_location is relative to /system because that's the default partition for soong
// modules, unless we add something like `system_ext_specific: true` like in hwservicemanager.
installed_location: "bin/ethtool",
init_rc: ["netbpfload.rc"],
required: ["bpfloader"],
}
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 13/T (33), 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",
installable: false,
}
// Versioned netbpfload init rc: init system will process it only on api T/33+ devices
// Note: R[30] 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.33rc",
installable: false,
}
prebuilt_etc {
name: "netbpfload.35rc",
src: "netbpfload.35rc",
filename: "netbpfload.35rc",
installable: false,
}