Repository navigation
[REFACTOR] Simplify standalone TIRx CMake - #20749
Merged
Merged
Conversation
Move the pinned FFI submodule into the core package and update source consumers to use its new location.
Use native package options and target policies for the standalone core, with source-built FFI dependencies and public package exports. Keep tests and installation separate from reusable target setup, and adapt parent consumers to the core interfaces.
Use the core configuration directly throughout parent backend integrations and update build entry points to the namespaced settings.
Read additional native CMake settings from the environment with quoted values preserved. Keep those settings scoped to TVM configuration and document their use for native and Python package builds.
spectrometerHBH
approved these changes
Oct 15, 2026
Group native options by backend, expose directory compilation policy and target aliases, and keep only origin RPATH setup in the shared helper. Install enabled backend libraries beside their module definitions. Install TIRx-owned artifacts with Python-backed native and wheel discovery, leaving installed FFI dependencies to their separate package. Allow explicit C++ test configuration in source parents and preserve their executable output layout.
Expose the header, compiler shared, and runtime shared targets. Keep installed discovery focused on core paths and make consumers find and link FFI explicitly, with backend integration owned privately by the parent. Install standalone core and backend libraries under PROJECT_IS_TOP_LEVEL and let source parents own their installation rules. Preserve internal static builds while removing public static targets and generated build-option metadata.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Organize the core build around native
TVM_TIRX_*options, explicit compilation policies, and reusable source targets. Build the pinned FFI source within the core, keep opt-in C++ tests in their own subtree, and keep standalone installation beside the core/backend definitions. Embedding parents own their installation rules.Expose
tvm_tirx::header,tvm_tirx::shared, andtvm_runtime::sharedfor installed consumers. Python-backed discovery reports the normal package's public headers and core shared libraries; consumers find and link FFI explicitly. TIRx installs only its own artifacts, while parent extensions handle their backend integration privately. Update source and wheel entry points for the dependency layout, native option names, and quotedCMAKE_ARGSenvironment settings.