Open
Conversation
Exclude contribs to enable greptile review
This comment was marked as off-topic.
This comment was marked as off-topic.
kalvdans
reviewed
Feb 20, 2026
Member
Author
|
@greptile Review this please |
Greptile SummaryThis PR comprehensively modernizes Gecode's build infrastructure across CMake, autoconf, and CI/CD pipelines. The changes establish uv as the unified dependency manager for Python-based build scripts, raise CMake to version 3.21 with proper GECODE_* option namespacing, and make Major Changes:
The migration is well-executed with proper backward compatibility (deprecation warnings for old CMake options), comprehensive CI coverage, and detailed changelog entries. All Python scripts use modern syntax with type hints and PEP 723 metadata for reproducible uv-based execution. Confidence Score: 5/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Build System Modernization] --> B[CMake Path]
A --> C[Autoconf Path]
B --> B1[CMakeLists.txt<br/>Min version 3.21]
B1 --> B2[GecodeSources.cmake<br/>Decoupled source lists]
B2 --> B3[GenerateVarImp.cmake<br/>uv-based codegen]
C --> C1[configure.ac<br/>Canonical source]
C1 --> C2[gecode-version.m4<br/>Shared metadata]
C2 --> C3[Makefile.in<br/>uv script execution]
B3 --> D[Python Scripts<br/>PEP 723 metadata]
C3 --> D
D --> D1[genvarimp.py]
D --> D2[allexamples.py]
D --> D3[genchangelog.py]
D --> D4[Other utilities]
A --> E[CI/CD Matrix]
E --> E1[Linux: autoconf + CMake]
E --> E2[macOS: autoconf + CMake]
E --> E3[Windows: CMake + MSYS2]
E1 --> F[uv dependency]
E2 --> F
E3 --> F
A --> G[Cleanup]
G --> G1[Remove contribs/]
G --> G2[Remove configure.ac.in]
G --> G3[Remove Perl scripts]
Last reviewed commit: 35fa496 |
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.
This PR overhauls the whole Gecode build system. It has the following large changes
A new requirement for building is to have uv installed. This simplifies the external dependencies from a system installed Perl or Python to a single dependency that will manage an isolated virtual environment for each script.