Skip to content

Add aarch64 support#91

Merged
tresf merged 29 commits intojava-native:masterfrom
GMKennedy:aarch64
Jul 23, 2021
Merged

Add aarch64 support#91
tresf merged 29 commits intojava-native:masterfrom
GMKennedy:aarch64

Conversation

@tresf
Copy link

@tresf tresf commented Jul 15, 2021

Adds mvn -P aarch64 for all platforms which support it.

  • Suppresses many compiler warnings
  • Moves lib prefix calculation from Maven to CMake
  • Removes hard-coded armhf version suffix (this seems to change frequently). Please edit toolchain/Armhf.cmake as needed.

Maven's profiles are intended to be very deterministic, so it took some tricks to allow a simplified command line calls:

mvn -P aarch64
mvn -P x86_64
mvn -P x86

If a profile is not selected, we'll choose the best match automatically.

Classic cross-compilation is still possible using the existing toolchains:

mvn -P mingw64
mvn -P mingw32
mvn -P mingwaarch64 # compile for Windows ARM64!
mvn -P ppc64
mvn -P armhf        # may require compiler version suffix, e.g. "-4.7".  See "toolchain/Armhf.cmake"

@tresf tresf mentioned this pull request Jul 15, 2021
Sometimes Maven will use the JRE and jni.h can't be found
@tresf
Copy link
Author

tresf commented Jul 20, 2021

Just an update... this is coming along nicely. Maven's profiles are intended to be very deterministic, so it took some tricks to allow a simplified command line call:

mvn -P aarch64
mvn -P x86_64
mvn -P x86

... but it does work. This branch will be merged soon.

@tresf tresf merged commit 24ebfa7 into java-native:master Jul 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants