JogAmp iOS Arm64 bring-up

I have been distracted from completing the 2.4.0 JogAmp release last two weeks, but at least it is for a good reason.

Our most valuable client CCT International ordered a JogAmp port running on Apple’s iOS devices, namely iPad Pro using an arm64.

Right now I still finalize the NativeWindow, Jogl and Newt specialization for iOS.
Subsequently I will add JavaFX to the proof of concept (POC).
If all goes as planned, I will demonstrate a working demo soon.

Here is a little teaser of the past work, my first GlueGen bring-up on iOS arm64.
The work includes a statically linked OpenJDK 9 hotspot-zero build,
which we may disclose at a later time. Naturally we aim for hotspot arm64 as the final goal.
For now the required GlueGen changes are published pro-forma,
as well as some ant-cpptask enhancements to allow using xcrun clang to create the static libraries instead of ar.

Since you still have to wait a few more days for the demo video, here is the informal GlueGen stdout VersionInfo:

Hello JogAmp World <iOS>
os.version: <12.3.1>
os.arch: <aarch64>
java.vendor: <Gothel Software e.K.>
java.vendor.url: <>
java.version: <> <OpenJDK 64-Bit Zero VM> <OpenJDK Runtime Environment>
Platform: IOS / iOS 12.3.1 (12.3.1), aarch64 (ARM64, EABI_AARCH64), 8 cores, littleEndian true
MachineDataInfo: runtimeValidated true, 32Bit false, primitive size / alignment:
int8 1 / 1, int16 2 / 2
int 4 / 4, long 8 / 8
int32 4 / 4, int64 8 / 8
float 4 / 4, double 8 / 8, ldouble 8 / 8
pointer 8 / 8, page 16384
Platform: Java Version: (9.0.0u0), VM: OpenJDK 64-Bit Zero VM, Runtime: OpenJDK Runtime Environment
Platform: Java Vendor: Gothel Software e.K.,, JavaSE: true, Java9: true, Java6: true, dynamicLib: false, AWT enabled: false

Version Info:
Package: com.jogamp.common
Extension Name: com.jogamp.common
Specification Title: GlueGen Java Bindings Generator
Specification Vendor: JogAmp Community
Specification Version: 2.4
Implementation Title: GlueGen Run-Time
Implementation Vendor: JogAmp Community
Implementation Vendor ID: com.jogamp
Implementation URL:
Implementation Version: 2.4.0-rc-20190617
Implementation Build: 2.4-bmanual-20190617
Implementation Branch: ios
Implementation Commit: 062901d807770646604322aa45d1e018270ae7ce
Implementation SHA Sources: c018dbf83c4e85a75d998cb3a96ad0feaf334464f9703c89728f041eb5bb5565
Implementation SHA Classes: 36c3a9f3eaac9301c413a32a37fa3d5212dcf2f5128a3ad550e13909c178e3ef
Implementation SHA Classes-this: 4000b41b1305f973f4d2049974406879f817b202de4fe42f3e73ace1774a6471
Implementation SHA Natives: 83580e1de4d81afe54d75046de8c00e8a72126f58cbbd719c7e532a8951a901c
Implementation SHA Natives-this: 0

Full Manifest:
Manifest-Version = 1.0
Ant-Version = Apache Ant 1.9.4
Created-By = 1.8.0_66-b17 (Oracle Corporation)
Application-Name = GlueGen Run-Time
Specification-Title = GlueGen Java Bindings Generator
Specification-Version = 2.4
Specification-Vendor = JogAmp Community
Implementation-Title = GlueGen Run-Time
Implementation-Version = 2.4.0-rc-20190617
Implementation-Build = 2.4-bmanual-20190617
Implementation-Branch = ios
Implementation-Commit = 062901d807770646604322aa45d1e018270ae7ce
Implementation-SHA-Sources = c018dbf83c4e85a75d998cb3a96ad0feaf334464f9703c89728f041eb5bb5565
Implementation-SHA-Classes = 36c3a9f3eaac9301c413a32a37fa3d5212dcf2f5128a3ad550e13909c178e3ef
Implementation-SHA-Classes-this = 4000b41b1305f973f4d2049974406879f817b202de4fe42f3e73ace1774a6471
Implementation-SHA-Natives = 83580e1de4d81afe54d75046de8c00e8a72126f58cbbd719c7e532a8951a901c
Implementation-SHA-Natives-this = 0
Implementation-Vendor = JogAmp Community
Implementation-Vendor-Id = com.jogamp
Implementation-URL =
Extension-Name = com.jogamp.common
Trusted-Library = true
Permissions = all-permissions
Application-Library-Allowable-Codebase = *
Codebase = *.goethel.localnet