@@ -34,6 +34,58 @@ libextension_module.a,\
3434libextension_tensor.a,\
3535:${FRAMEWORK_EXECUTORCH_HEADERS_DIR} :${FRAMEWORK_EXECUTORCH_MODULE_NAME} "
3636
37+ FRAMEWORK_EXECUTORCH_LLM_NAME=" executorch_llm"
38+ FRAMEWORK_EXECUTORCH_LLM_MODULE_NAME=" ExecuTorchLLM"
39+ FRAMEWORK_EXECUTORCH_LLM_HEADERS_DIR=" ${FRAMEWORK_EXECUTORCH_LLM_NAME} _include"
40+ FRAMEWORK_EXECUTORCH_LLM_HEADERS_PATH=" ${OUTPUT_DIR} /${FRAMEWORK_EXECUTORCH_LLM_HEADERS_DIR} "
41+ FRAMEWORK_EXECUTORCH_LLM=" ${FRAMEWORK_EXECUTORCH_LLM_NAME} :\
42+ libabsl_base.a,\
43+ libabsl_city.a,\
44+ libabsl_decode_rust_punycode.a,\
45+ libabsl_demangle_internal.a,\
46+ libabsl_demangle_rust.a,\
47+ libabsl_examine_stack.a,\
48+ libabsl_graphcycles_internal.a,\
49+ libabsl_hash.a,\
50+ libabsl_int128.a,\
51+ libabsl_kernel_timeout_internal.a,\
52+ libabsl_leak_check.a,\
53+ libabsl_log_globals.a,\
54+ libabsl_log_internal_check_op.a,\
55+ libabsl_log_internal_format.a,\
56+ libabsl_log_internal_globals.a,\
57+ libabsl_log_internal_log_sink_set.a,\
58+ libabsl_log_internal_message.a,\
59+ libabsl_log_internal_nullguard.a,\
60+ libabsl_log_internal_proto.a,\
61+ libabsl_log_severity.a,\
62+ libabsl_log_sink.a,\
63+ libabsl_low_level_hash.a,\
64+ libabsl_malloc_internal.a,\
65+ libabsl_raw_hash_set.a,\
66+ libabsl_raw_logging_internal.a,\
67+ libabsl_spinlock_wait.a,\
68+ libabsl_stacktrace.a,\
69+ libabsl_str_format_internal.a,\
70+ libabsl_strerror.a,\
71+ libabsl_strings.a,\
72+ libabsl_strings_internal.a,\
73+ libabsl_symbolize.a,\
74+ libabsl_synchronization.a,\
75+ libabsl_throw_delegate.a,\
76+ libabsl_time.a,\
77+ libabsl_time_zone.a,\
78+ libabsl_tracing_internal.a,\
79+ libabsl_utf8_for_code_point.a,\
80+ libextension_llm_apple.a,\
81+ libextension_llm_runner.a,\
82+ libpcre2-8.a,\
83+ libre2.a,\
84+ libregex_lookahead.a,\
85+ libsentencepiece.a,\
86+ libtokenizers.a,\
87+ :${FRAMEWORK_EXECUTORCH_LLM_HEADERS_DIR} "
88+
3789FRAMEWORK_THREADPOOL=" threadpool:\
3890libcpuinfo.a,\
3991libextension_threadpool.a,\
171223
172224echo " Exporting headers"
173225
226+ # FRAMEWORK_EXECUTORCH
227+
174228mkdir -p " $FRAMEWORK_EXECUTORCH_HEADERS_PATH /$FRAMEWORK_EXECUTORCH_MODULE_NAME "
175229
176230" $SOURCE_ROOT_DIR " /scripts/print_exported_headers.py --buck2=$( realpath " $BUCK2 " ) --targets \
@@ -202,6 +256,19 @@ module ${FRAMEWORK_EXECUTORCH_MODULE_NAME} {
202256}
203257EOF
204258
259+ # FRAMEWORK_EXECUTORCH_LLM
260+
261+ mkdir -p " $FRAMEWORK_EXECUTORCH_LLM_HEADERS_PATH /$FRAMEWORK_EXECUTORCH_LLM_MODULE_NAME "
262+
263+ cp " $SOURCE_ROOT_DIR /extension/llm/apple/$FRAMEWORK_EXECUTORCH_LLM_MODULE_NAME /Exported/" * .h " $FRAMEWORK_EXECUTORCH_LLM_HEADERS_PATH /$FRAMEWORK_EXECUTORCH_LLM_MODULE_NAME "
264+
265+ cat > " $FRAMEWORK_EXECUTORCH_LLM_HEADERS_PATH /$FRAMEWORK_EXECUTORCH_LLM_MODULE_NAME /module.modulemap" << EOF
266+ module ${FRAMEWORK_EXECUTORCH_LLM_MODULE_NAME} {
267+ umbrella header "${FRAMEWORK_EXECUTORCH_LLM_MODULE_NAME} .h"
268+ export *
269+ }
270+ EOF
271+
205272echo " Creating frameworks"
206273
207274append_framework_flag () {
@@ -236,6 +303,7 @@ for mode in "${MODES[@]}"; do
236303 done
237304
238305 append_framework_flag " " " $FRAMEWORK_EXECUTORCH " " $mode "
306+ append_framework_flag " " " $FRAMEWORK_EXECUTORCH_LLM " " $mode "
239307 append_framework_flag " " " $FRAMEWORK_THREADPOOL " " $mode "
240308 append_framework_flag " EXECUTORCH_BUILD_COREML" " $FRAMEWORK_BACKEND_COREML " " $mode "
241309 append_framework_flag " EXECUTORCH_BUILD_MPS" " $FRAMEWORK_BACKEND_MPS " " $mode "
@@ -255,6 +323,7 @@ for preset_out_dir in "${PRESETS_RELATIVE_OUT_DIR[@]}"; do
255323done
256324
257325rm -rf " $FRAMEWORK_EXECUTORCH_HEADERS_PATH "
326+ rm -rf " $FRAMEWORK_EXECUTORCH_LLM_HEADERS_PATH "
258327
259328echo " Running tests"
260329
0 commit comments