1*89c4ff92SAndroid Build Coastguard Worker// 2*89c4ff92SAndroid Build Coastguard Worker// Copyright © 2022-2023 Arm Ltd and Contributors. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker// SPDX-License-Identifier: MIT 4*89c4ff92SAndroid Build Coastguard Worker// 5*89c4ff92SAndroid Build Coastguard Worker 6*89c4ff92SAndroid Build Coastguard Worker//////////////////////////////////////////// 7*89c4ff92SAndroid Build Coastguard Worker// // 8*89c4ff92SAndroid Build Coastguard Worker// libarmnn_support_library // 9*89c4ff92SAndroid Build Coastguard Worker// // 10*89c4ff92SAndroid Build Coastguard Worker//////////////////////////////////////////// 11*89c4ff92SAndroid Build Coastguard Worker 12*89c4ff92SAndroid Build Coastguard Workercc_library_shared { 13*89c4ff92SAndroid Build Coastguard Worker name: "libarmnn_support_library", 14*89c4ff92SAndroid Build Coastguard Worker enabled : false, 15*89c4ff92SAndroid Build Coastguard Worker arch: { 16*89c4ff92SAndroid Build Coastguard Worker arm: { 17*89c4ff92SAndroid Build Coastguard Worker enabled : true, 18*89c4ff92SAndroid Build Coastguard Worker }, 19*89c4ff92SAndroid Build Coastguard Worker arm64: { 20*89c4ff92SAndroid Build Coastguard Worker enabled : true, 21*89c4ff92SAndroid Build Coastguard Worker }, 22*89c4ff92SAndroid Build Coastguard Worker }, 23*89c4ff92SAndroid Build Coastguard Worker defaults: ["neuralnetworks_cl_defaults"], 24*89c4ff92SAndroid Build Coastguard Worker include_dirs: [ 25*89c4ff92SAndroid Build Coastguard Worker "external/armnn/include", 26*89c4ff92SAndroid Build Coastguard Worker "external/armnn/third-party", 27*89c4ff92SAndroid Build Coastguard Worker "system/logging/liblog/include", 28*89c4ff92SAndroid Build Coastguard Worker ], 29*89c4ff92SAndroid Build Coastguard Worker srcs: [ 30*89c4ff92SAndroid Build Coastguard Worker "sl/support_library_service.cpp", 31*89c4ff92SAndroid Build Coastguard Worker "sl/canonical/*.cpp", 32*89c4ff92SAndroid Build Coastguard Worker ], 33*89c4ff92SAndroid Build Coastguard Worker shared_libs: [ 34*89c4ff92SAndroid Build Coastguard Worker "liblog", 35*89c4ff92SAndroid Build Coastguard Worker "libnativewindow", 36*89c4ff92SAndroid Build Coastguard Worker "libcrypto", 37*89c4ff92SAndroid Build Coastguard Worker ], 38*89c4ff92SAndroid Build Coastguard Worker openmp: true, 39*89c4ff92SAndroid Build Coastguard Worker cflags: [ 40*89c4ff92SAndroid Build Coastguard Worker "-DNN_COMPATIBILITY_LIBRARY_BUILD", 41*89c4ff92SAndroid Build Coastguard Worker "-fexceptions", 42*89c4ff92SAndroid Build Coastguard Worker "-fPIC", 43*89c4ff92SAndroid Build Coastguard Worker "-Wall", 44*89c4ff92SAndroid Build Coastguard Worker "-fexceptions", 45*89c4ff92SAndroid Build Coastguard Worker "-Werror", 46*89c4ff92SAndroid Build Coastguard Worker "-Wno-unused-parameter", 47*89c4ff92SAndroid Build Coastguard Worker "-Wno-unused-private-field", 48*89c4ff92SAndroid Build Coastguard Worker "-Wno-unused-variable", 49*89c4ff92SAndroid Build Coastguard Worker "-Wno-attributes", 50*89c4ff92SAndroid Build Coastguard Worker "-Wno-format-security", 51*89c4ff92SAndroid Build Coastguard Worker "-Wno-extern-c-compat", 52*89c4ff92SAndroid Build Coastguard Worker "-Wno-invalid-partial-specialization", 53*89c4ff92SAndroid Build Coastguard Worker "-Wno-unneeded-internal-declaration", 54*89c4ff92SAndroid Build Coastguard Worker "-Wno-unused-function", 55*89c4ff92SAndroid Build Coastguard Worker "-DNN_DEBUGGABLE", 56*89c4ff92SAndroid Build Coastguard Worker ], 57*89c4ff92SAndroid Build Coastguard Worker // Change the soname, this library will be added as cc_prebuilt_library_shared 58*89c4ff92SAndroid Build Coastguard Worker // with different name to android.hardware.neuralnetworks-shim-service-armnn 59*89c4ff92SAndroid Build Coastguard Worker ldflags: [ 60*89c4ff92SAndroid Build Coastguard Worker "-Wl,-soname,libarmnn_support_library_prebuilt.so", 61*89c4ff92SAndroid Build Coastguard Worker ], 62*89c4ff92SAndroid Build Coastguard Worker static_libs: [ 63*89c4ff92SAndroid Build Coastguard Worker "libbase_ndk", 64*89c4ff92SAndroid Build Coastguard Worker "libneuralnetworks_common_cl_cpu", 65*89c4ff92SAndroid Build Coastguard Worker "libtflite_static", 66*89c4ff92SAndroid Build Coastguard Worker "neuralnetworks_canonical_sample_driver_cl", 67*89c4ff92SAndroid Build Coastguard Worker "neuralnetworks_types_cl", 68*89c4ff92SAndroid Build Coastguard Worker ], 69*89c4ff92SAndroid Build Coastguard Worker whole_static_libs: [ 70*89c4ff92SAndroid Build Coastguard Worker "libneuralnetworks_cl", 71*89c4ff92SAndroid Build Coastguard Worker "libarmnn", 72*89c4ff92SAndroid Build Coastguard Worker ], 73*89c4ff92SAndroid Build Coastguard Worker} 74*89c4ff92SAndroid Build Coastguard Worker 75*89c4ff92SAndroid Build Coastguard Worker//////////////////////////////////////////// 76*89c4ff92SAndroid Build Coastguard Worker// // 77*89c4ff92SAndroid Build Coastguard Worker// libarmnn_support_library_prebuilt // 78*89c4ff92SAndroid Build Coastguard Worker// // 79*89c4ff92SAndroid Build Coastguard Worker//////////////////////////////////////////// 80*89c4ff92SAndroid Build Coastguard Worker 81*89c4ff92SAndroid Build Coastguard Workercc_prebuilt_library_shared { 82*89c4ff92SAndroid Build Coastguard Worker name: "libarmnn_support_library_prebuilt", 83*89c4ff92SAndroid Build Coastguard Worker check_elf_files: false, 84*89c4ff92SAndroid Build Coastguard Worker host_supported: false, 85*89c4ff92SAndroid Build Coastguard Worker shared_libs: [ 86*89c4ff92SAndroid Build Coastguard Worker "libbase", 87*89c4ff92SAndroid Build Coastguard Worker "libcutils", 88*89c4ff92SAndroid Build Coastguard Worker "liblog", 89*89c4ff92SAndroid Build Coastguard Worker "libnativewindow", 90*89c4ff92SAndroid Build Coastguard Worker ], 91*89c4ff92SAndroid Build Coastguard Worker proprietary: true, 92*89c4ff92SAndroid Build Coastguard Worker vendor: true, 93*89c4ff92SAndroid Build Coastguard Worker apex_available: ["//apex_available:vendor", "//apex_available:platform"], 94*89c4ff92SAndroid Build Coastguard Worker allow_undefined_symbols: true, 95*89c4ff92SAndroid Build Coastguard Worker target: { 96*89c4ff92SAndroid Build Coastguard Worker android_x86_64: { 97*89c4ff92SAndroid Build Coastguard Worker enabled: false, 98*89c4ff92SAndroid Build Coastguard Worker }, 99*89c4ff92SAndroid Build Coastguard Worker android_x86: { 100*89c4ff92SAndroid Build Coastguard Worker enabled: false, 101*89c4ff92SAndroid Build Coastguard Worker }, 102*89c4ff92SAndroid Build Coastguard Worker android_riscv64: { 103*89c4ff92SAndroid Build Coastguard Worker enabled: false, 104*89c4ff92SAndroid Build Coastguard Worker }, 105*89c4ff92SAndroid Build Coastguard Worker android_arm64: { 106*89c4ff92SAndroid Build Coastguard Worker srcs: ["sl/build/android_arm64/libarmnn_support_library_prebuilt.so"], 107*89c4ff92SAndroid Build Coastguard Worker }, 108*89c4ff92SAndroid Build Coastguard Worker android_arm: { 109*89c4ff92SAndroid Build Coastguard Worker srcs: ["sl/build/android_arm/libarmnn_support_library_prebuilt.so"], 110*89c4ff92SAndroid Build Coastguard Worker }, 111*89c4ff92SAndroid Build Coastguard Worker }, 112*89c4ff92SAndroid Build Coastguard Worker} 113*89c4ff92SAndroid Build Coastguard Worker 114*89c4ff92SAndroid Build Coastguard Worker//////////////////////////////////////////// 115*89c4ff92SAndroid Build Coastguard Worker// // 116*89c4ff92SAndroid Build Coastguard Worker// shim service // 117*89c4ff92SAndroid Build Coastguard Worker// // 118*89c4ff92SAndroid Build Coastguard Worker//////////////////////////////////////////// 119*89c4ff92SAndroid Build Coastguard Worker 120*89c4ff92SAndroid Build Coastguard Workercc_defaults { 121*89c4ff92SAndroid Build Coastguard Worker name: "NeuralNetworksShimArmnnDriverAidl_defaults", 122*89c4ff92SAndroid Build Coastguard Worker enabled : false, 123*89c4ff92SAndroid Build Coastguard Worker arch: { 124*89c4ff92SAndroid Build Coastguard Worker arm: { 125*89c4ff92SAndroid Build Coastguard Worker enabled : true, 126*89c4ff92SAndroid Build Coastguard Worker }, 127*89c4ff92SAndroid Build Coastguard Worker arm64: { 128*89c4ff92SAndroid Build Coastguard Worker enabled : true, 129*89c4ff92SAndroid Build Coastguard Worker }, 130*89c4ff92SAndroid Build Coastguard Worker }, 131*89c4ff92SAndroid Build Coastguard Worker check_elf_files: false, 132*89c4ff92SAndroid Build Coastguard Worker host_supported: false, 133*89c4ff92SAndroid Build Coastguard Worker defaults: [ 134*89c4ff92SAndroid Build Coastguard Worker "neuralnetworks_defaults", 135*89c4ff92SAndroid Build Coastguard Worker "neuralnetworks_use_latest_utils_hal_aidl", 136*89c4ff92SAndroid Build Coastguard Worker ], 137*89c4ff92SAndroid Build Coastguard Worker header_libs: [ 138*89c4ff92SAndroid Build Coastguard Worker "libneuralnetworks_headers", 139*89c4ff92SAndroid Build Coastguard Worker ], 140*89c4ff92SAndroid Build Coastguard Worker cflags: [ 141*89c4ff92SAndroid Build Coastguard Worker "-DNN_COMPATIBILITY_LIBRARY_BUILD", 142*89c4ff92SAndroid Build Coastguard Worker ], 143*89c4ff92SAndroid Build Coastguard Worker ldflags: [ 144*89c4ff92SAndroid Build Coastguard Worker // libarmnn_support_library has undefined symbols that 145*89c4ff92SAndroid Build Coastguard Worker // cause linker failures with --no-allow-shlib-undefined, the default 146*89c4ff92SAndroid Build Coastguard Worker // when linking executables. See b/181227567 147*89c4ff92SAndroid Build Coastguard Worker "-Wl,--allow-shlib-undefined", 148*89c4ff92SAndroid Build Coastguard Worker ], 149*89c4ff92SAndroid Build Coastguard Worker static_libs: [ 150*89c4ff92SAndroid Build Coastguard Worker "libaidlcommonsupport", 151*89c4ff92SAndroid Build Coastguard Worker "libarect", 152*89c4ff92SAndroid Build Coastguard Worker "libcutils", 153*89c4ff92SAndroid Build Coastguard Worker "libneuralnetworks_common", 154*89c4ff92SAndroid Build Coastguard Worker "libneuralnetworks_shim_static", 155*89c4ff92SAndroid Build Coastguard Worker "neuralnetworks_supportlibrary_loader", 156*89c4ff92SAndroid Build Coastguard Worker "neuralnetworks_utils_hal_common", 157*89c4ff92SAndroid Build Coastguard Worker ], 158*89c4ff92SAndroid Build Coastguard Worker shared_libs: [ 159*89c4ff92SAndroid Build Coastguard Worker "libbase", 160*89c4ff92SAndroid Build Coastguard Worker "libbinder_ndk", 161*89c4ff92SAndroid Build Coastguard Worker "libhidlbase", 162*89c4ff92SAndroid Build Coastguard Worker "libhidlmemory", 163*89c4ff92SAndroid Build Coastguard Worker "liblog", 164*89c4ff92SAndroid Build Coastguard Worker "libnativewindow", 165*89c4ff92SAndroid Build Coastguard Worker "libutils", 166*89c4ff92SAndroid Build Coastguard Worker "libarmnn_support_library_prebuilt", 167*89c4ff92SAndroid Build Coastguard Worker ], 168*89c4ff92SAndroid Build Coastguard Worker apex_available: ["//apex_available:vendor", "//apex_available:platform"], 169*89c4ff92SAndroid Build Coastguard Worker} 170*89c4ff92SAndroid Build Coastguard Worker 171*89c4ff92SAndroid Build Coastguard Workercc_defaults { 172*89c4ff92SAndroid Build Coastguard Worker name: "NeuralNetworksShimArmnnDriverAidl_server_defaults", 173*89c4ff92SAndroid Build Coastguard Worker defaults: ["NeuralNetworksShimArmnnDriverAidl_defaults"], 174*89c4ff92SAndroid Build Coastguard Worker relative_install_path: "hw", 175*89c4ff92SAndroid Build Coastguard Worker proprietary: true, 176*89c4ff92SAndroid Build Coastguard Worker} 177*89c4ff92SAndroid Build Coastguard Worker 178*89c4ff92SAndroid Build Coastguard Workervintf_fragment { 179*89c4ff92SAndroid Build Coastguard Worker name: "android.hardware.neuralnetworks-shim-service-armnn.xml", 180*89c4ff92SAndroid Build Coastguard Worker src: "config/android.hardware.neuralnetworks-shim-service-armnn.xml", 181*89c4ff92SAndroid Build Coastguard Worker proprietary: true, 182*89c4ff92SAndroid Build Coastguard Worker} 183*89c4ff92SAndroid Build Coastguard Worker 184*89c4ff92SAndroid Build Coastguard Workercc_binary { 185*89c4ff92SAndroid Build Coastguard Worker name: "android.hardware.neuralnetworks-shim-service-armnn", 186*89c4ff92SAndroid Build Coastguard Worker srcs: ["shimservice.cpp"], 187*89c4ff92SAndroid Build Coastguard Worker defaults: ["NeuralNetworksShimArmnnDriverAidl_server_defaults"], 188*89c4ff92SAndroid Build Coastguard Worker stl: "libc++_static", 189*89c4ff92SAndroid Build Coastguard Worker init_rc: ["config/android.hardware.neuralnetworks-shim-service-armnn.rc"], 190*89c4ff92SAndroid Build Coastguard Worker vintf_fragment_modules: ["android.hardware.neuralnetworks-shim-service-armnn.xml"], 191*89c4ff92SAndroid Build Coastguard Worker} 192