Repository navigation
fix(engine): drop cactus_graph.h include so the shipped framework header compiles - #774
Open
ayaangazali wants to merge 1 commit into
Open
ayaangazali wants to merge 1 commit into
ayaangazali wants to merge 1 commit into
Conversation
apple/build.sh bundles cactus_engine.h as the sole header of the iOS/macOS xcframeworks, but its first include pulls in cactus_graph.h, which is not shipped in the framework. Any consumer following bindings/swift/README.md fails at `import cactus` with "'cactus_graph.h' file not found". Nothing in the C FFI surface references graph types, and every internal consumer already includes cactus_graph.h directly (engine.h, log.cpp, model.cpp, tests), so the include can simply go. The header now compiles standalone as C11 and C++20. Closes cactus-compute#771 Signed-off-by: ayaangazali <ayaangazali.work@gmail.com>
This branch has not been deployed
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.
What
Removes the
#include "cactus_graph.h"line fromcactus-engine/cactus_engine.h.Why
apple/build.shcopiescactus_engine.has the only header inside the iOS/macOS xcframeworks (cp_headers, line 37), and the module map exports just that header. Since its first include iscactus_graph.h, which is not bundled,import cactusfails out of the box:Nothing in the C FFI surface of the header references graph types, so the include is unnecessary for consumers. On the engine side every file that uses graph symbols already includes
cactus_graph.hdirectly (src/engine.h:14,src/log.cpp:2,src/model.cpp:2,tests/test_kv_compress.cpp:4), so nothing relied on the transitive include.Closes #771
Gates
./venv/bin/cactus test --component engineon Apple Silicon (M-series): all tests passclang -fsyntax-only -x c -std=c11and-x c++ -std=c++20both clean