From 947e62e0cfd9f869023c3ae7a6c5dbe478507b07 Mon Sep 17 00:00:00 2001 From: Kimish Patel Date: Thu, 20 Nov 2025 07:03:03 -0800 Subject: [PATCH] [Executorch][llama] Split main in lib + binary Main reason to do so is to allow internal benchmarking binary to link against main_lib Differential Revision: [D87547090](https://our.internmc.facebook.com/intern/diff/D87547090/) [ghstack-poisoned] --- examples/models/llama/main.cpp | 2 ++ examples/models/llama/targets.bzl | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/examples/models/llama/main.cpp b/examples/models/llama/main.cpp index 899ea37d5be..cb4b297af84 100644 --- a/examples/models/llama/main.cpp +++ b/examples/models/llama/main.cpp @@ -64,6 +64,8 @@ DEFINE_int32( DEFINE_bool(warmup, false, "Whether to run a warmup run."); +std::vector parseStringList(const std::string& input); + // Helper function to parse comma-separated string lists std::vector parseStringList(const std::string& input) { std::vector result; diff --git a/examples/models/llama/targets.bzl b/examples/models/llama/targets.bzl index 66c5dacc8e9..00d37fb0fa3 100644 --- a/examples/models/llama/targets.bzl +++ b/examples/models/llama/targets.bzl @@ -5,8 +5,8 @@ def define_common_targets(): if not runtime.is_oss or not aten: aten_suffix = "_aten" if aten else "" - runtime.cxx_binary( - name = "main" + aten_suffix, + runtime.cxx_library( + name = "main" + aten_suffix + "_lib", srcs = [ "main.cpp", ], @@ -25,3 +25,11 @@ def define_common_targets(): ], **get_oss_build_kwargs() ) + + runtime.cxx_binary( + name = "main" + aten_suffix, + srcs = [], + deps = [ + ":main" + aten_suffix + "_lib", + ], + )