blob: fd460b0a46bac9ddcacc35d90fb592e0c788deb6 [file] [log] [blame]
//
// Copyright © 2022-2023 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
////////////////////////////////////////////
// //
// libarmnn_support_library //
// //
////////////////////////////////////////////
cc_library_shared {
name: "libarmnn_support_library",
enabled : false,
arch: {
arm: {
enabled : true,
},
arm64: {
enabled : true,
},
},
defaults: ["neuralnetworks_cl_defaults"],
include_dirs: [
"external/armnn/include",
"external/armnn/third-party",
"system/logging/liblog/include",
],
srcs: [
"sl/support_library_service.cpp",
"sl/canonical/*.cpp",
],
shared_libs: [
"liblog",
"libnativewindow",
"libcrypto",
],
openmp: true,
cflags: [
"-DNN_COMPATIBILITY_LIBRARY_BUILD",
"-fexceptions",
"-fPIC",
"-std=c++17",
"-Wall",
"-fexceptions",
"-Werror",
"-Wno-unused-parameter",
"-Wno-unused-private-field",
"-Wno-unused-variable",
"-Wno-attributes",
"-Wno-format-security",
"-Wno-extern-c-compat",
"-Wno-invalid-partial-specialization",
"-Wno-unneeded-internal-declaration",
"-Wno-unused-function",
"-DNN_DEBUGGABLE",
],
// Change the soname, this library will be added as cc_prebuilt_library_shared
// with different name to android.hardware.neuralnetworks-shim-service-armnn
ldflags: [
"-Wl,-soname,libarmnn_support_library_prebuilt.so",
],
static_libs: [
"libbase_ndk",
"libneuralnetworks_common_cl_cpu",
"libtflite_static",
"neuralnetworks_canonical_sample_driver_cl",
"neuralnetworks_types_cl",
],
whole_static_libs: [
"libneuralnetworks_cl",
"libarmnn",
],
}
////////////////////////////////////////////
// //
// libarmnn_support_library_prebuilt //
// //
////////////////////////////////////////////
cc_prebuilt_library_shared {
name: "libarmnn_support_library_prebuilt",
check_elf_files: false,
host_supported: false,
shared_libs: [
"libbase",
"libcutils",
"liblog",
"libnativewindow",
],
proprietary: true,
vendor: true,
apex_available: ["//apex_available:vendor", "//apex_available:platform"],
allow_undefined_symbols: true,
target: {
android_x86_64: {
enabled: false,
},
android_x86: {
enabled: false,
},
android_riscv64: {
enabled: false,
},
android_arm64: {
srcs: ["sl/build/android_arm64/libarmnn_support_library_prebuilt.so"],
},
android_arm: {
srcs: ["sl/build/android_arm/libarmnn_support_library_prebuilt.so"],
},
},
}
////////////////////////////////////////////
// //
// shim service //
// //
////////////////////////////////////////////
cc_defaults {
name: "NeuralNetworksShimArmnnDriverAidl_defaults",
enabled : false,
arch: {
arm: {
enabled : true,
},
arm64: {
enabled : true,
},
},
check_elf_files: false,
host_supported: false,
defaults: [
"neuralnetworks_defaults",
"neuralnetworks_use_latest_utils_hal_aidl",
],
header_libs: [
"libneuralnetworks_headers",
],
cflags: [
"-DNN_COMPATIBILITY_LIBRARY_BUILD",
],
ldflags: [
// libarmnn_support_library has undefined symbols that
// cause linker failures with --no-allow-shlib-undefined, the default
// when linking executables. See b/181227567
"-Wl,--allow-shlib-undefined",
],
static_libs: [
"libaidlcommonsupport",
"libarect",
"libcutils",
"libneuralnetworks_common",
"libneuralnetworks_shim_static",
"neuralnetworks_supportlibrary_loader",
"neuralnetworks_utils_hal_common",
],
shared_libs: [
"libbase",
"libbinder_ndk",
"libhidlbase",
"libhidlmemory",
"liblog",
"libnativewindow",
"libutils",
"libarmnn_support_library_prebuilt",
],
apex_available: ["//apex_available:vendor", "//apex_available:platform"],
}
cc_defaults {
name: "NeuralNetworksShimArmnnDriverAidl_server_defaults",
defaults: ["NeuralNetworksShimArmnnDriverAidl_defaults"],
relative_install_path: "hw",
proprietary: true,
}
cc_binary {
name: "android.hardware.neuralnetworks-shim-service-armnn",
srcs: ["shimservice.cpp"],
defaults: ["NeuralNetworksShimArmnnDriverAidl_server_defaults"],
stl: "libc++_static",
init_rc: ["config/android.hardware.neuralnetworks-shim-service-armnn.rc"],
vintf_fragments: ["config/android.hardware.neuralnetworks-shim-service-armnn.xml"],
}