junrushao opened a new pull request, #661: URL: https://github.com/apache/tvm-ffi/pull/661
Architecture: - Split Python interpreter discovery from development-component discovery so the extension ABI is known before CMake resolves link targets. - Detect Py_GIL_DISABLED with the selected interpreter, pin its exact version, and request only the development components used by that ABI branch. - Set CMake 3.26 as the project minimum, matching the first release that provides Development.SABIModule and python_add_library(USE_SABI). Public Interfaces: - Standard CPython 3.12 and newer requires Development.Module and Development.SABIModule and produces an abi3 extension. - Free-threaded CPython and CPython older than 3.12 require only Development.Module and produce a version-specific extension with SOABI. - Building the root project now requires CMake 3.26 or newer. Runtime APIs and the stable TVM FFI C ABI are unchanged. UI/UX: - none Behavioral Changes: - Stop requiring stable-ABI development artifacts for configurations that cannot use the Limited API, including free-threaded CPython. - Preserve the existing abi3 path for standard CPython 3.12 and newer while allowing declared cp314t builds to configure against their native ABI. - Fail early with an explicit CMake version requirement instead of reaching unsupported FindPython components or USE_SABI options on older CMake. Docs: - Raise the CMake prerequisite to 3.26 in the source-build guide, AGENTS.md, and the tracked developer-tool reference. Tests: - Executed: staged pre-commit hooks, isolated CMake configuration for the C++ project, and isolated CMake configuration with the Python module enabled. - Result: all executed checks passed. Untested Edge Cases: - Free-threaded CPython, Windows, and Python versions older than 3.12 were not available locally; their component selection remains covered by the explicit CMake branches and should be exercised in CI. - Compilation, wheel creation, and the full unit-test suites were not rerun because this commit changes configuration and dependency selection only. BREAKING CHANGE: Building TVM FFI now requires CMake 3.26 or newer. Upgrade CMake before configuring either the standalone C++ project or Python package. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
