The path names inside the .jar files are aligned to the os-maven-plugin.
It follows the same conventions as the osdetector-gradle-plugin.
osname-arch-bitness[-qualifier]
-
OS names are taken from
System.getProperty("os.name").getLowerCase(Locale.ENGLISH). -
The architecture is normalized from
System.getProperty("os.name"). -
The bitness (bits in long) is added as an identifying measure, as the bitness of the JVM may not be the same as the operating system’s bitness.
Example: You are running a 32bit jvm on a 64bit system. In this case, this should be32. -
An optional qualifier can be added for add-on chips, like _hf for ARM.
Builds are verified using the readelf and/or file commands on *nix-like systems.
Groovy-scripts are found in the folder src/verify/groovy.
The default library file name is libjssc.so. For systems which use another name (e.g. MacOS X),
just set the maven property cmake.library.output.filename to an appropriate value.
Linux builds will build more than just its native architecture. None of these maven modules will deploy the jssc-header.
| Target/Path \ Built by | Linux x64 | Linux arm64 | Linux ppc64le | Linux s390x | macos xcode 10.1 | Windows |
|---|---|---|---|---|---|---|
|
|
|||||
|
|
|||||
|
|
|||||
|
|
|||||
|
|
|||||
|
|
|||||
|
|
|||||
|
|
|||||
|
||||||
|
||||||
|
|
|||||
|
|
If you want to cross compile from your 64bit Linux repository, you need the corresponding g++-5 libraries and executables.
-
g++-5-aarch64-linux-gnuforlinux-aarch_64-64 -
g++-5-arm-linux-gnueabiforlinux-arm_32-32(no hardfloat) -
g++-5-arm-linux-gnueabihfforlinux-arm_32-32(hardfloat) -
g++-5-powerpc64le-linux-gnuforlinux-ppcle_64-64 -
g++-5-multilibandlinux-libc-dev:i386forlinux-x86_32-32 -
g++-mingw-w64-x86-64forwindows-x86_64-64 -
g++-mingw-w64-i686forwindows-x86_32-32
# install needed packages, only required once.
sudo apt install cmake g++ \
g++-5-multilib linux-libc-dev:i386 \
g++-5-aarch64-linux-gnu \
g++-5-arm-linux-gnueabi \
g++-5-arm-linux-gnueabihf \
g++-5-powerpc64le-linux-gnu \
g++-mingw-w64-x86-64 \
g++-mingw-w64-i686
# compile all possible projects on Linux x86_64.
./mvnw clean verify -Plinux-aarch_64-64,linux-arm_32-32,linux-arm_32-32-hf,linux-ppcle_64-64,linux-x86_32-32,linux-x86_64-64,windows-x86_64-64,windows_x86_32-32