Repository navigation
Conversation
Prefer compatible CMake package targets, report the selected provider, and retain bundled fallback and unit tests. Guard the Debug ABI and exclude imported memtailor from local target exports. Co-authored-by: Codex <noreply@openai.com>
Probe the selected target at configuration time and report MEMT_DEBUG explicitly. Propagate its usage requirements and check Debug compatibility for either discovery method. Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Extend provider selection to mathic and mathicgb, validate transitive debug and TBB metadata, preserve library tests, and document mixed-provider constraints. Co-authored-by: Codex <noreply@openai.com>
The documentation is staged on wiki-mathic-providers in the fork and should be published to the upstream wiki after this PR merges. Co-authored-by: Codex <noreply@openai.com>
Signed-off-by: Dima Pasechnik <dima@pasechnik.info>
Signed-off-by: Dima Pasechnik <dima@pasechnik.info>
Signed-off-by: Dima Pasechnik <dima@pasechnik.info>
|
What problem is this new option solving that On a general note, opening an AI generated pull request which explicitly says "human review remains pending" and marking it as ready for review and even requesting other humans to review it, without the "author" first going beyond "minimal human review" seems deeply disrespectful. I implore the reviewers to avoid normalizing this trend by volunteering their time to review when the "author" didn't bother doing so first. |
|
@mahrud : GIT_SUBMODULE=OFF just suppresses
I read the code in the author's capacity - a reviewer cannot be me. Sorry if the 🤖's notice sounded careless. |
|
|
| for entry in \ | ||
| memtailor:0a2afc3fff096ed06bf98b7c1c224acfc8c97dc1 \ | ||
| mathic:a08a776c8973a4c25f44d7d769ba949766f3f13c \ | ||
| mathicgb:74e3708f52f989ac1bd698412d2ee67d6ef43b6d; do |
There was a problem hiding this comment.
I read the code in the author's capacity - a reviewer cannot be me.
So you really read what your agent wrote here and concluded this was okay?
There was a problem hiding this comment.
I read the code, yes
There was a problem hiding this comment.
hashes are temporarily, until new releases of these packages are made with the necessary fixes (the latter are merged, but still unrelated)
Co-authored-by: Codex <noreply@openai.com>
…es into cmake-no-submodules # Conflicts: # M2/cmake/check-libraries.cmake Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
good catch! It's disappointing that 🤖 missed it. |
Co-authored-by: Codex <noreply@openai.com>
| if [[ "${{ matrix.compiler }}" == *-libraries ]]; then | ||
| cmake --build . --target M2-core M2-editors M2-unit-tests --parallel 4 | ||
| ninja -t targets all > targets.txt | ||
| if grep -E '^(build-(bdwgc|flint|frobby|givaro|fflas_ffpack|googletest|memtailor|mathic|mathicgb)|M2-emacs):' targets.txt; then exit 1; fi |
There was a problem hiding this comment.
Is this hardcoded list also temporary, or are you fine with this, or just not read this far?
There was a problem hiding this comment.
what's wrong there? this is the current submodules list, and cmake encourages explicit lists, no?
Your coding agent isn't responsible for PRs with your name, you are! It's really disappointing that you insist on pushing AI slop after repeatedly being shown its problems. In the PR you closed you said:
This is plainly false! Submodules have source code, not built libraries, and it's very easy to choose whether a dependency is used from the system or built from source in a submodule. If you don't know how to do this then you should ask for help rather than having your coding agent open a pull request! |
Description
Make
git submodule deinit --allfollowed by-DGIT_SUBMODULE=OFFwork with the CMake build. Previously, disabling checkout updates still registered source builds for empty submodule directories. Missing engine sources and Emacs templates also prevented an external-dependency build.There is no new CMake option. Source build rules are registered only when the corresponding checkout is populated. Absent memtailor, mathic and mathicgb sources default to the installed providers from #4728. Missing or unusable external libraries produce a configuration error when no source fallback exists. Absent Emacs sources are skipped while Prism, Vim and Pygments generation continues.
From the repository root, after installing the external dependencies:
CMake does not run deinit itself. With populated checkouts,
GIT_SUBMODULE=OFFstill allows bundled builds without updating those checkouts. Use a fresh build directory when changing providers.Non-submodule download recipes retain their existing behavior. Autotools behavior is unchanged; the shared grammar script receives one conditional controlled by the CMake invocation.
Temporary dependency pins
CI uses fixed memtailor, mathic and mathicgb commits because the latest releases checked on 2026-10-23 lack the required installed package metadata. #4761 records the revisions, required upstream changes, temporary build instructions and per-library release follow-up. Compatible installed packages with those changes backported also work. The workflow and M2/BUILD/README.md link the issue.
Related issues and pull requests
Depends on #4728 and the narrowed #4757; their commits are included for testing. #4757 now preserves completed dependency-build stamps.
Replaces the approach in #4725, which remains open as a draft. #4730 builds on this branch to remove bundled Emacs support entirely.
Testing
git submodule deinit --all, confirmed the repositories remained cached, and restored the same revisions without downloading them again.--check 1and all 275 engine unit tests passed in each build.GIT_SUBMODULE=OFF; memtailor, mathic and mathicgb built successfully.Full documentation/package installation was not repeated locally.
Release notes
CMake supports external-dependency builds with deinitialized submodules and the existing GIT_SUBMODULE=OFF option.
AI disclosure
Tools and models used: OpenAI Codex.
How AI was used: implementation, revision, automated validation and documentation.
Verification: Codex ran the checks listed above; the author reviewed the design and subsequent documentation revisions.
License