1*523fa7a6SAndroid Build Coastguard Workerload( 2*523fa7a6SAndroid Build Coastguard Worker "@fbsource//tools/build_defs:default_platform_defs.bzl", 3*523fa7a6SAndroid Build Coastguard Worker "ANDROID", 4*523fa7a6SAndroid Build Coastguard Worker) 5*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime") 6*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/backends/qualcomm/qnn_version.bzl", "get_qnn_library_verision") 7*523fa7a6SAndroid Build Coastguard Worker 8*523fa7a6SAndroid Build Coastguard Workerdef define_common_targets(): 9*523fa7a6SAndroid Build Coastguard Worker """Defines targets that should be shared between fbcode and xplat. 10*523fa7a6SAndroid Build Coastguard Worker 11*523fa7a6SAndroid Build Coastguard Worker The directory containing this targets.bzl file should also contain both 12*523fa7a6SAndroid Build Coastguard Worker TARGETS and BUCK files that call this function. 13*523fa7a6SAndroid Build Coastguard Worker """ 14*523fa7a6SAndroid Build Coastguard Worker 15*523fa7a6SAndroid Build Coastguard Worker runtime.cxx_library( 16*523fa7a6SAndroid Build Coastguard Worker name = "logging", 17*523fa7a6SAndroid Build Coastguard Worker srcs = [ 18*523fa7a6SAndroid Build Coastguard Worker "Logging.cpp", 19*523fa7a6SAndroid Build Coastguard Worker ], 20*523fa7a6SAndroid Build Coastguard Worker exported_headers = [ 21*523fa7a6SAndroid Build Coastguard Worker "Logging.h", 22*523fa7a6SAndroid Build Coastguard Worker ], 23*523fa7a6SAndroid Build Coastguard Worker define_static_target = True, 24*523fa7a6SAndroid Build Coastguard Worker platforms = [ANDROID], 25*523fa7a6SAndroid Build Coastguard Worker visibility = ["@EXECUTORCH_CLIENTS"], 26*523fa7a6SAndroid Build Coastguard Worker deps = [ 27*523fa7a6SAndroid Build Coastguard Worker "fbsource//third-party/qualcomm/qnn/qnn-{0}:api".format(get_qnn_library_verision()), 28*523fa7a6SAndroid Build Coastguard Worker "//executorch/runtime/backend:interface", 29*523fa7a6SAndroid Build Coastguard Worker ], 30*523fa7a6SAndroid Build Coastguard Worker exported_deps = [ 31*523fa7a6SAndroid Build Coastguard Worker "//executorch/backends/qualcomm:schema", 32*523fa7a6SAndroid Build Coastguard Worker "//executorch/backends/qualcomm:qc_binary_info_schema", 33*523fa7a6SAndroid Build Coastguard Worker "//executorch/runtime/core:core", 34*523fa7a6SAndroid Build Coastguard Worker ], 35*523fa7a6SAndroid Build Coastguard Worker ) 36*523fa7a6SAndroid Build Coastguard Worker 37*523fa7a6SAndroid Build Coastguard Worker runtime.cxx_library( 38*523fa7a6SAndroid Build Coastguard Worker name = "runtime", 39*523fa7a6SAndroid Build Coastguard Worker srcs = glob( 40*523fa7a6SAndroid Build Coastguard Worker [ 41*523fa7a6SAndroid Build Coastguard Worker "*.cpp", 42*523fa7a6SAndroid Build Coastguard Worker "backends/*.cpp", 43*523fa7a6SAndroid Build Coastguard Worker "backends/htpbackend/*.cpp", 44*523fa7a6SAndroid Build Coastguard Worker "backends/htpbackend/aarch64/*.cpp", 45*523fa7a6SAndroid Build Coastguard Worker ], 46*523fa7a6SAndroid Build Coastguard Worker exclude = ["Logging.cpp"], 47*523fa7a6SAndroid Build Coastguard Worker ), 48*523fa7a6SAndroid Build Coastguard Worker exported_headers = glob( 49*523fa7a6SAndroid Build Coastguard Worker [ 50*523fa7a6SAndroid Build Coastguard Worker "*.h", 51*523fa7a6SAndroid Build Coastguard Worker "backends/*.h", 52*523fa7a6SAndroid Build Coastguard Worker "backends/htpbackend/*.h", 53*523fa7a6SAndroid Build Coastguard Worker ], 54*523fa7a6SAndroid Build Coastguard Worker exclude = ["Logging.h"], 55*523fa7a6SAndroid Build Coastguard Worker ), 56*523fa7a6SAndroid Build Coastguard Worker define_static_target = True, 57*523fa7a6SAndroid Build Coastguard Worker link_whole = True, # needed for executorch/examples/models/llama:main to register QnnBackend 58*523fa7a6SAndroid Build Coastguard Worker platforms = [ANDROID], 59*523fa7a6SAndroid Build Coastguard Worker visibility = ["@EXECUTORCH_CLIENTS"], 60*523fa7a6SAndroid Build Coastguard Worker resources = { 61*523fa7a6SAndroid Build Coastguard Worker "qnn_lib": "fbsource//third-party/qualcomm/qnn/qnn-{0}:qnn_offline_compile_libs".format(get_qnn_library_verision()), 62*523fa7a6SAndroid Build Coastguard Worker }, 63*523fa7a6SAndroid Build Coastguard Worker deps = [ 64*523fa7a6SAndroid Build Coastguard Worker "fbsource//third-party/qualcomm/qnn/qnn-{0}:api".format(get_qnn_library_verision()), 65*523fa7a6SAndroid Build Coastguard Worker ":logging", 66*523fa7a6SAndroid Build Coastguard Worker "//executorch/backends/qualcomm:schema", 67*523fa7a6SAndroid Build Coastguard Worker "//executorch/backends/qualcomm:qc_binary_info_schema", 68*523fa7a6SAndroid Build Coastguard Worker "//executorch/backends/qualcomm/aot/ir:qcir_utils", 69*523fa7a6SAndroid Build Coastguard Worker "//executorch/backends/qualcomm/aot/wrappers:wrappers", 70*523fa7a6SAndroid Build Coastguard Worker "//executorch/runtime/backend:interface", 71*523fa7a6SAndroid Build Coastguard Worker "//executorch/runtime/core:core", 72*523fa7a6SAndroid Build Coastguard Worker "//executorch/extension/tensor:tensor", 73*523fa7a6SAndroid Build Coastguard Worker ], 74*523fa7a6SAndroid Build Coastguard Worker exported_deps = [ 75*523fa7a6SAndroid Build Coastguard Worker "//executorch/runtime/core/exec_aten/util:scalar_type_util", 76*523fa7a6SAndroid Build Coastguard Worker "//executorch/runtime/core:event_tracer", 77*523fa7a6SAndroid Build Coastguard Worker ], 78*523fa7a6SAndroid Build Coastguard Worker ) 79