Include TE core headers in final build#2291
Conversation
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
There was a problem hiding this comment.
Greptile Overview
Greptile Summary
This PR adds a MANIFEST.in file to include the C API headers from transformer_engine/common/include in both source distributions and wheel builds, making them available to downstream consumers who need to link against TransformerEngine's native C API. The change uses a recursive-include directive with a wildcard pattern *.* to capture all files with extensions in the header directory tree.
Potential Issues:
-
The wildcard pattern
*.*inMANIFEST.inmay have unintended consequences:- Extension-less files: Headers without extensions (uncommon but possible in C/C++ projects) would be excluded. Consider if any files in
transformer_engine/common/includelack extensions. - Non-header files: The pattern could inadvertently include non-header files like
README,CMakeLists.txt, or build artifacts if present in the include directory. Verify the directory contains only header files or refine the pattern to*.h *.hpp *.cuhfor more specificity. - Hidden files: The pattern will include hidden files (
.DS_Store,.gitkeep, etc.) which may bloat the distribution unnecessarily.
- Extension-less files: Headers without extensions (uncommon but possible in C/C++ projects) would be excluded. Consider if any files in
-
No corresponding changes to
setup.py:- The
setup.pyfile should declare these headers as package data using thepackage_dataorinclude_package_data=Trueparameter to ensure they're installed correctly. Verify thatsetuptoolswill respectMANIFEST.infor wheel builds without explicit declaration. - The headers should be installed to a location that downstream C/C++ projects can discover via standard include paths or pkg-config.
- The
-
Missing documentation:
- While the checklist indicates documentation changes weren't made, users integrating with the C API will need guidance on where to find these headers post-installation and how to configure their build systems to use them.
Confidence: 3/5 - The approach is standard for including package data, but the wildcard pattern needs verification against the actual directory contents, and the integration with setup.py should be confirmed to ensure the headers are actually installed and accessible in the final package.
1 file reviewed, 1 comment
|
/te-ci |
Include TE core headers in build Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Description
This change includes the headers for our public C API in the final distribution for both source and wheel builds.
Type of change
Changes
MANIFEST.infile to specify additional package data in distribution.Checklist: