Add GitLab CI (Linux, Windows, macOS, Android) - #149
Merged
Conversation
Build linux-x64/i686/aarch64, windows-x64, osx-arm64 and the four Android ABIs. Two notes carried in the file: the makefile knows platform=win rather than win64 and cannot guess a dynarec when cross compiled, and aarch64 has no dynarec backend in this fork. Application.mk pins gnu++14: dosbox still uses `register`, which the NDK's default C++17 rejects.
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.
The repo has never had a
.gitlab-ci.yml, so no pipeline has ever run and there is no build of this core on the buildbot.Jobs:
linux-x64,linux-i686,linux-aarch64,windows-x64,osx-arm64and the two 64-bit Android ABIs. Three things the file has to say out loud:platform=win, not the template'swin64, and cannot guess a dynarec when it is cross compiled from Linux, so the Windows job passes both;Application.mkpinsgnu++14: the sources still useregister, which the NDK's default C++17 rejects outright.armeabi-v7a and android-x86 are left commented out with the reason: the NDK's clang refuses the 32-bit dynarecs (the ARM one writes to r7, its frame pointer, from inline asm; the x86 one is not position independent).
Everything enabled here was validated by replaying the jobs —
ubuntu:xenialamd64/i386 with gcc-9 andubuntu:focalarm64 containers, mingw-w64, an Apple Silicon runner, andndk-buildper ABI.