1load("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime") 2 3def define_common_targets(): 4 runtime.cxx_library( 5 name = "irunner", 6 exported_headers = [ 7 "irunner.h", 8 ], 9 visibility = [ 10 "@EXECUTORCH_CLIENTS", 11 ], 12 ) 13 14 runtime.cxx_library( 15 name = "stats", 16 exported_headers = [ 17 "stats.h", 18 "util.h", 19 ], 20 visibility = [ 21 "@EXECUTORCH_CLIENTS", 22 ], 23 ) 24 25 for aten in (True, False): 26 aten_suffix = "_aten" if aten else "" 27 28 runtime.cxx_library( 29 name = "text_decoder_runner" + aten_suffix, 30 exported_headers = ["text_decoder_runner.h"], 31 srcs = ["text_decoder_runner.cpp"], 32 visibility = [ 33 "@EXECUTORCH_CLIENTS", 34 ], 35 exported_deps = [ 36 ":stats", 37 "//executorch/extension/llm/sampler:sampler" + aten_suffix, 38 "//executorch/extension/module:module" + aten_suffix, 39 "//executorch/extension/tensor:tensor" + aten_suffix, 40 ], 41 ) 42 43 runtime.cxx_library( 44 name = "text_prefiller" + aten_suffix, 45 exported_headers = ["text_prefiller.h"], 46 srcs = ["text_prefiller.cpp"], 47 visibility = [ 48 "@EXECUTORCH_CLIENTS", 49 ], 50 exported_deps = [ 51 ":text_decoder_runner" + aten_suffix, 52 "//executorch/extension/llm/tokenizer:tokenizer_header", 53 "//executorch/extension/module:module" + aten_suffix, 54 "//executorch/extension/tensor:tensor" + aten_suffix, 55 ], 56 ) 57 58 runtime.cxx_library( 59 name = "text_token_generator" + aten_suffix, 60 exported_headers = ["text_token_generator.h"], 61 visibility = [ 62 "@EXECUTORCH_CLIENTS", 63 ], 64 exported_deps = [ 65 ":text_decoder_runner" + aten_suffix, 66 "//executorch/extension/llm/tokenizer:tokenizer_header", 67 "//executorch/extension/module:module" + aten_suffix, 68 "//executorch/extension/tensor:tensor" + aten_suffix, 69 ], 70 ) 71 72 runtime.cxx_library( 73 name = "image_prefiller" + aten_suffix, 74 exported_headers = ["image_prefiller.h", "image.h"], 75 visibility = [ 76 "@EXECUTORCH_CLIENTS", 77 ], 78 exported_deps = [ 79 "//executorch/extension/module:module" + aten_suffix, 80 ], 81 ) 82 83 runtime.cxx_library( 84 name = "runner_lib" + aten_suffix, 85 exported_headers = [ 86 "multimodal_runner.h", 87 ], 88 visibility = [ 89 "@EXECUTORCH_CLIENTS", 90 ], 91 exported_deps = [ 92 ":image_prefiller" + aten_suffix, 93 ":text_decoder_runner" + aten_suffix, 94 ":text_prefiller" + aten_suffix, 95 ":text_token_generator" + aten_suffix, 96 ], 97 ) 98