Repository navigation
Conversation
generateLibs' Linux target has always been constructed via newDefaultTarget(Os.Linux, Bitness._64), which defaults to Architecture.x86 regardless of host architecture. That's the root cause behind SpaiR#105: even on a native aarch64 host, the task emits x86-only compiler flags (-mfpmath=sse -msse -m64), which a real aarch64 g++/gcc rejects outright. gdx-jnigen 2.5.2 (the library this build script sits on top of) already ships a correct Architecture.ARM Linux target (aarch64-linux-gnu- prefix, -fPIC, no SSE flags) — this task just never selects it. Add an opt-in `linuxarm64` env (mirroring the existing `macosarm64` convention) that builds via that target instead, refactoring the existing x86 Linux target into a shared createLinuxTarget() helper (mirroring createMacTarget()) so both paths stay in sync. libName is pinned to libimgui-java64.so on both architectures for consistency, matching how the mac target already does this for x86_64/arm64.
SpaiR#439 added the linuxarm64 generateLibs target, but CI never invoked it, so bin/ has no aarch64 library and nothing can be published from it. Add a linuxarm64 vendor type (native FreeType build, no cross prefix) and a build.sh case, and run it on ubuntu-24.04-arm. The output is named libimgui-java64-arm64.so because archive-natives merges all platforms into one flat directory and the x86-64 library has the same file name. Refs SpaiR#105 Co-authored-by: Claude <noreply@anthropic.com>
Package the CI-built aarch64 library as a separate artifact. The jar renames it to io/imgui/java/native-bin/libimgui-java64.so, the path the loader in ImGui.java already looks up, so aarch64 consumers swap the dependency and need no loader change. Having both Linux artifacts on one classpath is not supported; select by os.arch. Depends on the previous commit having put the library in bin/. Co-authored-by: Claude <noreply@anthropic.com>
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.
Fork-internal PR only to trigger the CI matrix, including the new ubuntu-24.04-arm leg. Upstream follow-up to SpaiR#439.