1# 2# Copyright © 2022-2023 Arm Ltd and Contributors. All rights reserved. 3# SPDX-License-Identifier: MIT 4# 5 6cmake_minimum_required (VERSION 3.7.0) 7enable_language(ASM) 8project(armnn_support_library) 9set(CMAKE_CXX_STANDARD 17) 10set(CMAKE_CXX_STANDARD_REQUIRED ON) 11 12set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -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_COMPATIBILITY_LIBRARY_BUILD -DNN_DEBUGGABLE") 13set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -DOPENSSL_SMALL -DBORINGSSL_ANDROID_SYSTEM -DBORINGSSL_SHARED_LIBRARY -DBORINGSSL_IMPLEMENTATION") 14 15set(CMAKE_POSITION_INDEPENDENT_CODE ON) 16 17include(GNUInstallDirs) 18 19SET(libnnapi_support_include_directories) 20list(APPEND libnnapi_support_include_directories 21 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/types/include/nnapi/ 22 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/types/include/ 23 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/ 24 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/include 25 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/runtime/include 26 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/shim_and_sl/public 27 ${AOSP_MODULES_ROOT}/system/logging/liblog/include 28 ${AOSP_MODULES_ROOT}/system/libbase/include 29 ${AOSP_MODULES_ROOT}/frameworks/native/libs/nativewindow/include 30 ${AOSP_MODULES_ROOT}/system/core/libcutils/include 31 ${AOSP_MODULES_ROOT}/system/core/include 32 ${AOSP_MODULES_ROOT}/external/tensorflow 33 ${AOSP_MODULES_ROOT}/external/gemmlowp/ 34 ${AOSP_MODULES_ROOT}/external/ruy/ 35 ${AOSP_MODULES_ROOT}/external/eigen/ 36 ${AOSP_MODULES_ROOT}/external/boringssl/src/include 37 ${AOSP_MODULES_ROOT}/external/boringssl/include) 38 39include_directories(${libnnapi_support_include_directories}) 40 41set(base_sources) 42list(APPEND base_sources 43 ${AOSP_MODULES_ROOT}/system/libbase/abi_compatibility.cpp 44 ${AOSP_MODULES_ROOT}/system/libbase/posix_strerror_r.cpp 45 ${AOSP_MODULES_ROOT}/system/libbase/chrono_utils.cpp 46 ${AOSP_MODULES_ROOT}/system/libbase/cmsg.cpp 47 ${AOSP_MODULES_ROOT}/system/libbase/file.cpp 48 ${AOSP_MODULES_ROOT}/system/libbase/hex.cpp 49 ${AOSP_MODULES_ROOT}/system/libbase/logging.cpp 50 ${AOSP_MODULES_ROOT}/system/libbase/mapped_file.cpp 51 ${AOSP_MODULES_ROOT}/system/libbase/parsebool.cpp 52 ${AOSP_MODULES_ROOT}/system/libbase/parsenetaddress.cpp 53 ${AOSP_MODULES_ROOT}/system/libbase/process.cpp 54 ${AOSP_MODULES_ROOT}/system/libbase/properties.cpp 55 ${AOSP_MODULES_ROOT}/system/libbase/stringprintf.cpp 56 ${AOSP_MODULES_ROOT}/system/libbase/strings.cpp 57 ${AOSP_MODULES_ROOT}/system/libbase/test_utils.cpp 58 ${AOSP_MODULES_ROOT}/system/libbase/threads.cpp) 59add_library(base STATIC ${base_sources}) 60target_include_directories (base PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) 61target_include_directories (base PUBLIC ${libnnapi_support_include_directories}) 62target_compile_options(base PUBLIC -Wno-c99-designator) 63 64file(GLOB TYPES_CL_SOURCE_FILES 65 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/*Validation.cpp 66) 67 68set(neuralnetworks_types_cl_sources) 69list(APPEND neuralnetworks_types_cl_sources 70 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/types/src/DynamicCLDeps.cpp 71 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/types/src/SharedMemory.cpp 72 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/types/src/SharedMemoryAndroid.cpp 73 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/types/src/TypeUtils.cpp 74 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/types/src/OperationsValidationUtils.cpp 75 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/types/src/Types.cpp 76 ${TYPES_CL_SOURCE_FILES} 77 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/types/src/Validation.cpp) 78 79add_library(neuralnetworks_types_cl STATIC ${neuralnetworks_types_cl_sources}) 80target_include_directories (neuralnetworks_types_cl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) 81target_include_directories (neuralnetworks_types_cl PUBLIC ${libnnapi_support_include_directories}) 82 83set(neuralnetworks_common_cl_sources) 84list(APPEND neuralnetworks_common_cl_sources 85 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/BufferTracker.cpp 86 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/CpuExecutor.cpp 87 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/GraphDump.cpp 88 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/IndexedShapeWrapper.cpp 89 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/LegacyUtils.cpp 90 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/ModelUtils.cpp 91 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/MetaModel.cpp 92 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/OperationsExecutionUtils.cpp 93 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/types/src/OperationsUtils.cpp 94 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/TokenHasher.cpp 95 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/OperationResolver.cpp 96 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/ActivationExecution.cpp 97 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/BatchMatmulExecution.cpp 98 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/BidirectionalSequenceRNNExecution.cpp 99 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/BroadcastExecution.cpp 100 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/ChannelShuffleExecution.cpp 101 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/ComparisonsExecution.cpp 102 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/ConcatenationExecution.cpp 103 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/Conv2DExecution.cpp 104 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/DepthwiseConv2DExecution.cpp 105 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/DequantizeExecution.cpp 106 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/ElementwiseExecution.cpp 107 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/EluExecution.cpp 108 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/FillExecution.cpp 109 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/FullyConnectedExecution.cpp 110 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/GatherExecution.cpp 111 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/GenerateProposalsExecution.cpp 112 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/HeatmapMaxKeypointExecution.cpp 113 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/InstanceNormalizationExecution.cpp 114 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/L2NormalizationExecution.cpp 115 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/LocalResponseNormalizationExecution.cpp 116 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/LogSoftmaxExecution.cpp 117 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/LogicalAndOrExecution.cpp 118 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/LogicalNotExecution.cpp 119 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/MirrorPadExecution.cpp 120 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/NegExecution.cpp 121 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/PackExecution.cpp 122 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/PReluExecution.cpp 123 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/PoolingExecution.cpp 124 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/QLSTMExecution.cpp 125 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/QuantizeExecution.cpp 126 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/RankExecution.cpp 127 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/ReduceExecution.cpp 128 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/ReshapeExecution.cpp 129 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/ReverseExecution.cpp 130 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/ResizeImageOpsExecution.cpp 131 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/RoiAlignExecution.cpp 132 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/RoiPoolingExecution.cpp 133 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/SelectExecution.cpp 134 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/SliceExecution.cpp 135 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/SoftmaxExecution.cpp 136 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/SqueezeExecution.cpp 137 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/StridedSliceExecution.cpp 138 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/TopK_V2Execution.cpp 139 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/TransposeExecution.cpp 140 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/TransposeConv2DExecution.cpp 141 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/UnidirectionalSequenceLSTMExecution.cpp 142 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/common/operations/UnidirectionalSequenceRNNExecution.cpp) 143 144add_library(neuralnetworks_common_cl STATIC ${neuralnetworks_common_cl_sources}) 145target_include_directories (neuralnetworks_common_cl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) 146target_include_directories (neuralnetworks_common_cl PUBLIC ${libnnapi_support_include_directories}) 147target_compile_options(neuralnetworks_common_cl PUBLIC -Wno-unused-but-set-variable) 148 149set(neuralnetworks_cl_sources) 150list(APPEND neuralnetworks_cl_sources 151 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/runtime/BurstBuilder.cpp 152 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/runtime/CompilationBuilder.cpp 153 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/runtime/ExecutionBuilder.cpp 154 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/runtime/ExecutionCallback.cpp 155 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/runtime/ExecutionPlan.cpp 156 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/runtime/ServerFlag.cpp 157 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/runtime/Manager.cpp 158 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/runtime/Memory.cpp 159 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/runtime/ModelArchHasher.cpp 160 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/runtime/ModelArgumentInfo.cpp 161 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/runtime/ModelBuilder.cpp 162 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/runtime/NeuralNetworks.cpp 163 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/runtime/SupportLibraryDiagnostic.cpp 164 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/runtime/Telemetry.cpp 165 ${AOSP_MODULES_ROOT}/packages/modules/NeuralNetworks/runtime/TypeManager.cpp) 166 167add_library(neuralnetworks_cl OBJECT ${neuralnetworks_cl_sources}) 168target_include_directories (neuralnetworks_cl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) 169target_include_directories (neuralnetworks_cl PUBLIC ${libnnapi_support_include_directories}) 170 171set(crypto_static_sources) 172list(APPEND crypto_static_sources 173 ${AOSP_MODULES_ROOT}/external/boringssl/err_data.c 174 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_bitstr.c 175 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_bool.c 176 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_d2i_fp.c 177 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_dup.c 178 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_enum.c 179 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_gentm.c 180 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_i2d_fp.c 181 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_int.c 182 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_mbstr.c 183 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_object.c 184 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_octet.c 185 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_print.c 186 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_strex.c 187 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_strnid.c 188 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_time.c 189 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_type.c 190 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_utctm.c 191 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/a_utf8.c 192 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/asn1_lib.c 193 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/asn1_par.c 194 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/asn_pack.c 195 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/f_int.c 196 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/f_string.c 197 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/tasn_dec.c 198 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/tasn_enc.c 199 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/tasn_fre.c 200 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/tasn_new.c 201 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/tasn_typ.c 202 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/tasn_utl.c 203 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/asn1/time_support.c 204 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/base64/base64.c 205 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bio/bio.c 206 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bio/bio_mem.c 207 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bio/connect.c 208 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bio/fd.c 209 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bio/file.c 210 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bio/hexdump.c 211 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bio/pair.c 212 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bio/printf.c 213 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bio/socket.c 214 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bio/socket_helper.c 215 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/blake2/blake2.c 216 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bn_extra/bn_asn1.c 217 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bn_extra/convert.c 218 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/buf/buf.c 219 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bytestring/asn1_compat.c 220 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bytestring/ber.c 221 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bytestring/cbb.c 222 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bytestring/cbs.c 223 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bytestring/unicode.c 224 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/bytestring/unicode.c 225 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/chacha/chacha.c 226 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/cipher_extra.c 227 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/derive_key.c 228 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_aesccm.c 229 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_aesctrhmac.c 230 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_aesgcmsiv.c 231 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_chacha20poly1305.c 232 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_des.c 233 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_null.c 234 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_rc2.c 235 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_rc4.c 236 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_tls.c 237 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/tls_cbc.c 238 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cmac/cmac.c 239 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/conf/conf.c 240 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cpu_aarch64_apple.c 241 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cpu_aarch64_fuchsia.c 242 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cpu_aarch64_linux.c 243 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cpu_aarch64_win.c 244 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cpu_arm.c 245 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cpu_arm_linux.c 246 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cpu_intel.c 247 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cpu_ppc64le.c 248 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/crypto.c 249 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/curve25519/curve25519.c 250 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/curve25519/spake25519.c 251 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/des/des.c 252 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/dh_extra/dh_asn1.c 253 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/dh_extra/params.c 254 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/digest_extra/digest_extra.c 255 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/dsa/dsa.c 256 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/dsa/dsa_asn1.c 257 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/ec_extra/ec_asn1.c 258 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/ec_extra/ec_derive.c 259 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_aesccm.c 260 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_aesctrhmac.c 261 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_aesgcmsiv.c 262 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_chacha20poly1305.c 263 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_des.c 264 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_null.c 265 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_rc2.c 266 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_rc4.c 267 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/e_tls.c 268 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cipher_extra/tls_cbc.c 269 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cmac/cmac.c 270 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/conf/conf.c 271 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cpu_aarch64_apple.c 272 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cpu_aarch64_fuchsia.c 273 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cpu_aarch64_linux.c 274 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cpu_aarch64_win.c 275 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cpu_arm.c 276 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cpu_arm_linux.c 277 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cpu_intel.c 278 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/cpu_ppc64le.c 279 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/crypto.c 280 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/curve25519/curve25519.c 281 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/curve25519/spake25519.c 282 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/des/des.c 283 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/dh_extra/dh_asn1.c 284 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/dh_extra/params.c 285 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/digest_extra/digest_extra.c 286 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/dsa/dsa.c 287 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/dsa/dsa_asn1.c 288 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/ec_extra/ec_asn1.c 289 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/ec_extra/ec_derive.c 290 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/ec_extra/hash_to_curve.c 291 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/ecdh_extra/ecdh_extra.c 292 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/ecdsa_extra/ecdsa_asn1.c 293 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/engine/engine.c 294 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/err/err.c 295 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/digestsign.c 296 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/evp.c 297 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/evp_asn1.c 298 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/evp_ctx.c 299 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/p_dsa_asn1.c 300 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/p_ec.c 301 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/p_ec_asn1.c 302 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/p_ed25519.c 303 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/p_ed25519_asn1.c 304 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/p_rsa.c 305 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/p_rsa_asn1.c 306 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/p_x25519.c 307 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/p_x25519_asn1.c 308 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/pbkdf.c 309 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/print.c 310 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/scrypt.c 311 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/evp/sign.c 312 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/ex_data.c 313 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/fipsmodule/fips_shared_support.c 314 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/hkdf/hkdf.c 315 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/hpke/hpke.c 316 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/hrss/hrss.c 317 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/lhash/lhash.c 318 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/mem.c 319 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/obj/obj.c 320 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/obj/obj_xref.c 321 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/pem/pem_all.c 322 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/pem/pem_info.c 323 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/pem/pem_lib.c 324 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/pem/pem_oth.c 325 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/pem/pem_pk8.c 326 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/pem/pem_pkey.c 327 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/pem/pem_x509.c 328 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/pem/pem_xaux.c 329 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/pkcs7/pkcs7.c 330 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/pkcs7/pkcs7_x509.c 331 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/pkcs8/p5_pbev2.c 332 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/pkcs8/pkcs8.c 333 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/pkcs8/pkcs8_x509.c 334 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/poly1305/poly1305.c 335 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/poly1305/poly1305_arm.c 336 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/poly1305/poly1305_vec.c 337 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/pool/pool.c 338 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/rand_extra/deterministic.c 339 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/rand_extra/forkunsafe.c 340 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/rand_extra/fuchsia.c 341 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/rand_extra/passive.c 342 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/rand_extra/rand_extra.c 343 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/rand_extra/windows.c 344 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/rc4/rc4.c 345 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/refcount_c11.c 346 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/refcount_lock.c 347 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/rsa_extra/rsa_asn1.c 348 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/rsa_extra/rsa_print.c 349 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/siphash/siphash.c 350 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/stack/stack.c 351 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/thread.c 352 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/thread_none.c 353 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/thread_pthread.c 354 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/thread_win.c 355 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/trust_token/pmbtoken.c 356 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/trust_token/trust_token.c 357 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/trust_token/voprf.c 358 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/a_digest.c 359 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/a_sign.c 360 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/a_verify.c 361 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/algorithm.c 362 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/asn1_gen.c 363 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/by_dir.c 364 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/by_file.c 365 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/i2d_pr.c 366 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/name_print.c 367 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/rsa_pss.c 368 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/t_crl.c 369 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/t_req.c 370 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/t_x509.c 371 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/t_x509a.c 372 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509.c 373 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509_att.c 374 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509_cmp.c 375 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509_d2.c 376 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509_def.c 377 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509_ext.c 378 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509_lu.c 379 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509_obj.c 380 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509_req.c 381 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509_set.c 382 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509_trs.c 383 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509_txt.c 384 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509_v3.c 385 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509_vfy.c 386 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509_vpm.c 387 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509cset.c 388 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509name.c 389 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509rset.c 390 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x509spki.c 391 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x_algor.c 392 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x_all.c 393 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x_attrib.c 394 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x_crl.c 395 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x_exten.c 396 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x_info.c 397 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x_name.c 398 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x_pkey.c 399 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x_pubkey.c 400 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x_req.c 401 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x_sig.c 402 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x_spki.c 403 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x_val.c 404 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x_x509.c 405 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509/x_x509a.c 406 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/pcy_cache.c 407 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/pcy_data.c 408 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/pcy_lib.c 409 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/pcy_map.c 410 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/pcy_node.c 411 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/pcy_tree.c 412 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_akey.c 413 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_akeya.c 414 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_alt.c 415 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_bcons.c 416 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_bitst.c 417 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_conf.c 418 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_cpols.c 419 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_crld.c 420 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_enum.c 421 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_extku.c 422 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_genn.c 423 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_ia5.c 424 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_info.c 425 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_int.c 426 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_lib.c 427 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_ncons.c 428 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_ocsp.c 429 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_pci.c 430 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_pcia.c 431 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_pcons.c 432 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_pmaps.c 433 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_prn.c 434 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_purp.c 435 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_skey.c 436 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/x509v3/v3_utl.c 437 ${AOSP_MODULES_ROOT}/external/boringssl/src/crypto/fipsmodule/bcm.c 438 ${AOSP_MODULES_ROOT}/external/boringssl/linux-aarch64/crypto/chacha/chacha-armv8.S 439 ${AOSP_MODULES_ROOT}/external/boringssl/linux-aarch64/crypto/fipsmodule/aesv8-armx64.S 440 ${AOSP_MODULES_ROOT}/external/boringssl/linux-aarch64/crypto/fipsmodule/armv8-mont.S 441 ${AOSP_MODULES_ROOT}/external/boringssl/linux-aarch64/crypto/fipsmodule/ghash-neon-armv8.S 442 ${AOSP_MODULES_ROOT}/external/boringssl/linux-aarch64/crypto/fipsmodule/ghashv8-armx64.S 443 ${AOSP_MODULES_ROOT}/external/boringssl/linux-aarch64/crypto/fipsmodule/sha1-armv8.S 444 ${AOSP_MODULES_ROOT}/external/boringssl/linux-aarch64/crypto/fipsmodule/sha256-armv8.S 445 ${AOSP_MODULES_ROOT}/external/boringssl/linux-aarch64/crypto/fipsmodule/sha512-armv8.S 446 ${AOSP_MODULES_ROOT}/external/boringssl/linux-aarch64/crypto/fipsmodule/vpaes-armv8.S 447 ) 448 449add_library(crypto_static STATIC ${crypto_static_sources}) 450target_include_directories (crypto_static PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) 451target_include_directories (crypto_static PUBLIC ${libnnapi_support_include_directories}) 452 453message(STATUS "AOSP_MODULES_ROOT: ${AOSP_MODULES_ROOT}") 454 455# Add Armnn as a Dependency 456message(STATUS "ARMNN_SOURCE_DIR: ${ARMNN_SOURCE_DIR}") 457message(STATUS "Armnn_DIR: ${Armnn_DIR}") 458 459set(Armnn_DIR "${Armnn_DIR}") 460if(NOT ARMNN_SUB_PROJECT) 461 find_package(Armnn REQUIRED CONFIG HINTS ${Armnn_DIR}) 462endif() 463 464add_library(thirdparty_headers INTERFACE) 465target_include_directories(thirdparty_headers INTERFACE $<BUILD_INTERFACE:${ARMNN_SOURCE_DIR}/third-party> 466 $<INSTALL_INTERFACE:include/thirdparty_headers>) 467 468add_library(profiling_library_headers INTERFACE) 469target_include_directories(profiling_library_headers INTERFACE $<BUILD_INTERFACE:${ARMNN_SOURCE_DIR}/profiling> 470 $<INSTALL_INTERFACE:include/profiling_library_headers>) 471 472set(armnn_support_library_sources) 473list(APPEND armnn_support_library_sources 474 canonical/ArmnnPreparedModel.cpp 475 canonical/ArmnnPreparedModel.hpp 476 canonical/ArmnnDevice.cpp 477 canonical/ArmnnDevice.hpp 478 canonical/ArmnnDriver.hpp 479 canonical/ArmnnDriverImpl.cpp 480 canonical/ArmnnDriverImpl.hpp 481 canonical/CanonicalUtils.cpp 482 canonical/CanonicalUtils.hpp 483 canonical/ConversionUtils.cpp 484 canonical/ConversionUtils.hpp 485 canonical/Converter.cpp 486 canonical/Converter.hpp 487 canonical/DriverOptions.cpp 488 canonical/DriverOptions.hpp 489 canonical/ModelToINetworkTransformer.cpp 490 canonical/ModelToINetworkTransformer.hpp 491 canonical/SystemPropertiesUtils.hpp 492 support_library_service.cpp) 493 494add_library(armnn_support_library SHARED ${armnn_support_library_sources}) 495target_link_libraries(armnn_support_library PUBLIC Armnn::armnnUtils) 496target_link_libraries(armnn_support_library PUBLIC Armnn::armnnSerializer-static) 497 498target_link_libraries(armnn_support_library PUBLIC Armnn::Armnn) 499target_link_libraries(armnn_support_library PUBLIC profiling_library_headers) 500target_link_libraries(armnn_support_library PRIVATE thirdparty_headers) 501 502target_link_libraries(armnn_support_library PRIVATE neuralnetworks_types_cl) 503target_link_libraries(armnn_support_library PRIVATE neuralnetworks_common_cl) 504target_link_libraries(armnn_support_library PRIVATE neuralnetworks_cl) 505target_link_libraries(armnn_support_library PRIVATE -Wl, -Bsymbolic, crypto_static) 506target_link_libraries(armnn_support_library PRIVATE base) 507 508target_include_directories(armnn_support_library PUBLIC ${libnnapi_support_include_directories}) 509 510target_link_libraries(armnn_support_library PUBLIC -Wl,-undefined -Wl,dynamic_lookup) 511 512# find the liblog 513find_library(log-lib log) 514target_link_libraries(armnn_support_library PUBLIC ${log-lib}) 515 516# find the libnativewindow 517find_library(nativewindow-lib nativewindow) 518target_link_libraries(armnn_support_library PUBLIC ${nativewindow-lib}) 519 520#################################################### 521