Repository navigation
build(relinker): add a dependency-free conversion build mode - #1432
Merged
Merged
Conversation
5 tasks done
ToyuAU
force-pushed
the
build/standalone-relinker
branch
from
October 8, 2026 07:29
92f42a5 to
2d59fff
Compare
7 tasks done
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
|
This was referenced Oct 8, 2026
This was referenced Oct 8, 2026
8 tasks
Collaborator
|
Checked: the relinker-only configure, build and ctest on Linux (36/36 pass, no SDL/FFmpeg/third-party target configured), and the full build + ctest on the merge with current |
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
Building the relinker currently configures SDL, FFmpeg, FreeType, Vulkan and the shader recompiler even when only executable conversion is needed. A checkout without initialized submodules cannot configure, and the unconditional GCC static-link flags prevent linking with AppleClang.
Add
ANYPS5_RELINKER_ONLY=ON(default OFF). It configures only the standard-library relinker and its existing tests, before any third-party dependency is configured. Keep the progress-report regression available, omit GCC static-link flags on Apple hosts, and restrict the Linux x86-64 stub execution test to Linux. Document the conversion-only workflow and add Linux, Windows and macOS CI jobs that check out without submodules, build and run CTest.This enables native Apple Silicon conversion tooling. Output remains x86-64 Linux ELF or Windows PE; system libraries and game execution still require a supported target environment. No game compatibility or performance improvement is claimed. The existing full-build Linux and Windows jobs remain in place.
Related: #1449 edits the same root CMake dependency setup. It is not a dependency; preserve the relinker-only early return when reconciling the two changes.
Tested
Review follow-up: rebased onto main
6b573862. A temporary merge with mainbc1fbe81configured and built in Release on macOS arm64 with AppleClang 17; CTest passed 30/30. The relinker source tree and standalone build configuration are unchanged between that tested merge and the latest rebase. Conventions and diff checks pass. Upstream CI still needs maintainer approval; no Linux/Windows CI success is claimed for the latest head.macOS 26.1, arm64, AppleClang 17.0.0, CMake 4.4.4, Ninja 1.13.2:
6b573862.ANYPS5_RELINKER_ONLY=ON; this branch succeeds.BUILD_TESTING=OFFconfigures only relinker targets, with no runtime or third-party targets.ANYPS5_RELINKER_ONLY=OFFstill enters the full-build dependency path and requires SDL.git diff --checkand the repository conventions check passed.cmake -S . -B build-relinker -G Ninja -DCMAKE_BUILD_TYPE=Release -DANYPS5_RELINKER_ONLY=ON -DBUILD_TESTING=ON cmake --build build-relinker --parallel ctest --test-dir build-relinker --output-on-failure --timeout 120No commercial title or homebrew was executed. Native Windows/Linux output execution and the full runtime build were not tested locally; the new conversion-only matrix and existing full-build jobs cover those platforms in CI.
CI status at submission: upstream workflows report
action_requiredand have not executed. The newly created fork does not yet expose its build workflow through the Actions API, so independent cloud validation remains pending.Overlap checked against the current open-PR titles and descriptions. #921 changes dependency sourcing for the full build; #927 changes the macOS exception runtime; #1156 changes guest lifecycle ownership. None adds this build mode. No dependency on those changes.
Checklist
main; no other open PR implements the same build mode