Skip to content

Commit f40cbb1

Browse files
committed
build: keep the CCCL submodule out of the sdist
Follow-up to #2940. That change vendored CCCL as the submodule cuda_core/third_party/cccl and grafted its libcudacxx/include tree into the sdist through cuda_core/MANIFEST.in. The setuptools-scm 10 git file finder lists the files of an initialized submodule, so building an sdist from a checkout that has the submodule checked out now packs the entire CCCL tree (cub, thrust, docs, tests, ...) into the sdist, although cuda.core only needs the libcu++ headers that MANIFEST.in already adds explicitly. The same listing is also walked on every egg_info run, which slows down wheel builds. Mark the submodule export-ignore, which the finder honors, so it is skipped. The MANIFEST.in graft still provides the headers and licenses.
1 parent d020a5d commit f40cbb1

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

‎.gitattributes‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,11 @@ pixi.lock merge=binary linguist-language=YAML linguist-generated=true
1414
# `setuptools-scm` to correctly determine the version when building from a git
1515
# archive. See #1609.
1616
.git_archival.txt export-subst
17+
18+
# cuda.core compiles against the libcu++ headers of the vendored CCCL submodule
19+
# only; cuda_core/MANIFEST.in grafts those headers (and their licenses) into the
20+
# sdist explicitly. setuptools-scm 10 lists the files of an initialized
21+
# submodule, which would otherwise add the entire CCCL tree to the sdist and
22+
# make every egg_info walk it. "export-ignore" makes its file finder skip the
23+
# submodule. See #2940.
24+
cuda_core/third_party/cccl export-ignore

0 commit comments

Comments
 (0)