Add option to dynamically use OpenGL symbols on unix-like systems.#590
Merged
BrentDaMage merged 57 commits intonbcraft-org:masterfrom May 7, 2026
Merged
Add option to dynamically use OpenGL symbols on unix-like systems.#590BrentDaMage merged 57 commits intonbcraft-org:masterfrom
BrentDaMage merged 57 commits intonbcraft-org:masterfrom
Conversation
f4dcac4 to
5e979c7
Compare
fa67bd9 to
657faab
Compare
BrentDaMage
requested changes
Apr 22, 2026
BrentDaMage
requested changes
Apr 22, 2026
9da2455 to
ead3f0e
Compare
previously changing headers trigger a rebuild for any sources the way this is normally done is by passing options to the C compiler that makes it generate a dependency file that is then included from the makefile, but those options aren't universally supported.
The only difference between the 2 is that at() does bounds checking and throws an exception if you try to access out of bounds, but in every case it's used the index is tied in some way to .size(), usually by being compared to it in a for loop, so this should always be a bit faster with no downsides. Also, gcc 2.96's libstdc++ doesn't support at(), which is the main reason I'm doing this, but I'm commiting this seperately before I finish the gcc 2.96 port because it works on it's own as an optimization.
the game still doesnt seem to work but it compiles and links now
BrentDaMage
requested changes
May 6, 2026
BrentDaMage
approved these changes
May 7, 2026
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.
It's disabled by default on non-windows because it would break static builds, which would be bad for static-only platforms like the switch. It also wouldn't help much for Linux artifact builds, since those are linked against either the flatpak runtime, which is guaranteed to have a new enough mesa, or a relatively new glibc which is much much newer than the last version of mesa to not have every required function.
Also includes major improvements to the Makefile build, and fixes for extremely old systems, such as systems with very old mesa headers, and Mac OS X 10.3.
Also adds support for GCC versions down to 2.96 (Redhat's version of GCC 3.0 beta)
Also updates the GCC version used in the Windows and macOS artifacts to 16.1.0, important because GCC 15.2.0 can't be built by 16.1.0 for some reason, so building the artifact is currently impossible on an updated Arch Linux install.