@@ -35,45 +35,49 @@ def define_common_targets():
35
35
],
36
36
)
37
37
38
- runtime .cxx_library (
39
- name = "runtime" ,
40
- srcs = glob (
41
- [
42
- "*.cpp" ,
43
- "backends/*.cpp" ,
44
- "backends/htpbackend/*.cpp" ,
45
- "backends/htpbackend/aarch64/*.cpp" ,
38
+ # "runtime" target is used for offline compile, can be renamed to runtime_aot_build as a BE.
39
+ for include_aot_qnn_lib in (True , False ):
40
+ qnn_build_suffix = ("" if include_aot_qnn_lib else "_android_build" )
41
+ runtime .cxx_library (
42
+ name = "runtime" + qnn_build_suffix ,
43
+ srcs = glob (
44
+ [
45
+ "*.cpp" ,
46
+ "backends/*.cpp" ,
47
+ "backends/htpbackend/*.cpp" ,
48
+ "backends/htpbackend/aarch64/*.cpp" ,
49
+ ],
50
+ exclude = ["Logging.cpp" ],
51
+ ),
52
+ exported_headers = glob (
53
+ [
54
+ "*.h" ,
55
+ "backends/*.h" ,
56
+ "backends/htpbackend/*.h" ,
57
+ ],
58
+ exclude = ["Logging.h" ],
59
+ ),
60
+ define_static_target = True ,
61
+ link_whole = True , # needed for executorch/examples/models/llama:main to register QnnBackend
62
+ platforms = [ANDROID ],
63
+ visibility = ["@EXECUTORCH_CLIENTS" ],
64
+ resources = ({
65
+ "qnn_lib" : "fbsource//third-party/qualcomm/qnn/qnn-{0}:qnn_offline_compile_libs" .format (get_qnn_library_verision ()),
66
+ } if include_aot_qnn_lib else {
67
+ }),
68
+ deps = [
69
+ "fbsource//third-party/qualcomm/qnn/qnn-{0}:api" .format (get_qnn_library_verision ()),
70
+ ":logging" ,
71
+ "//executorch/backends/qualcomm:schema" ,
72
+ "//executorch/backends/qualcomm:qc_binary_info_schema" ,
73
+ "//executorch/backends/qualcomm/aot/ir:qcir_utils" ,
74
+ "//executorch/backends/qualcomm/aot/wrappers:wrappers" ,
75
+ "//executorch/runtime/backend:interface" ,
76
+ "//executorch/runtime/core:core" ,
77
+ "//executorch/extension/tensor:tensor" ,
46
78
],
47
- exclude = ["Logging.cpp" ],
48
- ),
49
- exported_headers = glob (
50
- [
51
- "*.h" ,
52
- "backends/*.h" ,
53
- "backends/htpbackend/*.h" ,
79
+ exported_deps = [
80
+ "//executorch/runtime/core/exec_aten/util:scalar_type_util" ,
81
+ "//executorch/runtime/core:event_tracer" ,
54
82
],
55
- exclude = ["Logging.h" ],
56
- ),
57
- define_static_target = True ,
58
- link_whole = True , # needed for executorch/examples/models/llama:main to register QnnBackend
59
- platforms = [ANDROID ],
60
- visibility = ["@EXECUTORCH_CLIENTS" ],
61
- resources = {
62
- "qnn_lib" : "fbsource//third-party/qualcomm/qnn/qnn-{0}:qnn_offline_compile_libs" .format (get_qnn_library_verision ()),
63
- },
64
- deps = [
65
- "fbsource//third-party/qualcomm/qnn/qnn-{0}:api" .format (get_qnn_library_verision ()),
66
- ":logging" ,
67
- "//executorch/backends/qualcomm:schema" ,
68
- "//executorch/backends/qualcomm:qc_binary_info_schema" ,
69
- "//executorch/backends/qualcomm/aot/ir:qcir_utils" ,
70
- "//executorch/backends/qualcomm/aot/wrappers:wrappers" ,
71
- "//executorch/runtime/backend:interface" ,
72
- "//executorch/runtime/core:core" ,
73
- "//executorch/extension/tensor:tensor" ,
74
- ],
75
- exported_deps = [
76
- "//executorch/runtime/core/exec_aten/util:scalar_type_util" ,
77
- "//executorch/runtime/core:event_tracer" ,
78
- ],
79
- )
83
+ )
0 commit comments