Uh oh!
There was an error while loading. Please reload this page.
build: follow fastfields-lib's consolidated header layout - #32
Merged
Conversation
The six fastfields C++/CUDA repos were consolidated into fastfields-lib and its `main` was rewritten. The hub's public headers, which used to sit at the root of that tree, now live under `include/fastfields/api/`. Three changes, which only work together: * setup.py adds `include/` to the extension's include_dirs instead of the tree root (FASTFIELDS_INCLUDE); * src/ext.cpp reaches the eight hub headers as "fastfields/api/<name>.h"; * the _fastfields_lib submodule pin moves to the new main. The two library paths setup.py hardcodes are unchanged by the consolidation and were re-verified against a real build: `make` still produces build/libfastfields.so and build/lib/libfastfields-cpu.so at exactly those paths. Verified end to end, not by inspection: a from-scratch `pip install --no-build-isolation .` against the new pin, then the test suite -- 55 passed, matching the pre-migration count. Note the consolidated tree also has no nested submodules any more (the old lib -> cpu-lib -> cpu-impl -> kernels chain is gone), so a recursive checkout is now a single clone. Landing this promptly matters: fastfields-lib's `main` no longer contains the commit the old pin named. That commit is still reachable via the `pre-consolidation-main` branch, so nothing dangles in the meantime.
Uh oh!
There was an error while loading. Please reload this page.
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 freeto 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.
The six fastfields C++/CUDA repos were consolidated into
fastfields-liband itsmainwas rewritten. The hub's public headers, which used to sit at the root of that tree, now live underinclude/fastfields/api/.Time-sensitive:
fastfields-lib'smainno longer contains the commit the old pin named, so this repo does not build against a fresh recursive checkout until this lands.The three changes, which only work together
setup.pyFASTFIELDS_INCLUDE(<tree>/include) instead of the tree rootsrc/ext.cpp"fastfields/api/<name>.h"_fastfields_libmainVerified against a real build, not inspection
pip install --no-build-isolation .against the new pin (build dir wiped, package uninstalled first) — succeeded.setup.pyhardcodes are unchanged by the consolidation and were re-confirmed against that build:build/libfastfields.so— 56 KBbuild/lib/libfastfields-cpu.so— 166 MBTwo things worth knowing
The consolidated tree has no nested submodules. The old
lib → cpu-lib → cpu-impl → kernelschain is gone, so a recursive checkout is now a single clone.A build regression was found and fixed upstream while validating this.
setup.pyshells out tomake -C _fastfields_lib CXX=...with no explicit target. In the consolidated tree every Makefileincludesmake/common.mkbefore declaring its own targets, so make tookcommon.mk's output-directory rule as.DEFAULT_GOAL— a baremakecreatedbuild/and exited 0 having compiled nothing, and this build then failed with the misleadingfastfields-lib build did not produce the expected .so files. Fixed centrally infastfields-lib#81(.DEFAULT_GOAL := all), which the pin here includes. No change was needed in this repo.On the old pin
The previous pin was
aaf4ce0(not the pre-consolidationmaintip). It remains reachable via thepre-consolidation-mainbranch infastfields-lib, so nothing dangled during the migration.Generated by Claude Code