Add static module extension target #2904
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add an module extension target always built as a static library. This is a hacky workaround to the fact that the llama runner currently relies on some fragile linking behavior and requires consuming the module extension as a static lib. However, the nanogpt_runner needs to consume it as a static lib to avoid duplicate primitive op registration. I'm not 100% clear on why llama runner doesn't hit this yet. Maybe something to do with the primitive op -> executorch -> llama_runner -> llama_main chain having a top level target that doesn't reference the core executorch dependency leading to it not being pulled in at the top level?
Anyway, this new target will be removed once we refactor the CMake build post-alpha. Note that by adding a completely new target, this should cause no regressions and should be safe to land.