Skip to content
The Jenkins Controller is preparing for shutdown. No new builds can be started.
Unstable

Changes

Summary

  1. Update CSS; Add responsive viewport design tag (details)
  2. Update CSS; Add responsive viewport design tag (details)
  3. Bug 1363: Java 11: Initial Host/Target Compiler Selection: Java8 (details)
  4. Update cpptask.jar to commit 757192655df20cc6a68affe8cbb4d7de387c9c67 (details)
  5. iOS: Initial iOS support commit: build.xml targets, java code-path etc (details)
  6. Bug 1363: Java 11: Recognize Java9+ ..; Support JEP 178 static linkage libgluegen-rt[.so] -> libgluegen_rt[.so|.a] (details)
  7. Update cpptask.jar to commit 18e04a2fb9c2a3556040091213f82fc570bc5736 (details)
  8. iOS: Bump required iOS default version to 11.0 (details)
  9. iOS: Generalize building the native symbols file via macro (details)
  10. iOS: NativeLibrary: Refine iOS, use proper alt system path for iOS+OSX, relax closeLibrary(..) (details)
  11. Bug 1363: Java 11: Mod scripts for OpenJDK11 usage (details)
  12. Bug 1363: Java 11: HowToBuild Update (details)
  13. Ported NativeTaglet to jdk.javadoc.doclet.Taglet (details)
  14. Fixed native header generation so it doesn't use javah (details)
  15. Bug 1363: Java 11: build.xml fix some comments, javah replacement move and compile time build (details)
  16. Fix warning in annotation processor (details)
  17. Fixed null pointer exception in logging print (details)
  18. Fixed CStruct annotation processor to not use dummy Java variable types (details)
  19. Fixed java.home directory and removed obsolete tools.jar (details)
  20. Fixed minor Ant buildfile consistency issues (details)
  21. Fixed JRE path for Linux AMD64 to work for Java 11 (details)
  22. Bug 1363: Java 11: Refine 'java.home.dir' and 'java.lib.dir.platform' setup for traditional layout and JEP 220(Java 9+) (details)
  23. Bug 1363: Java 11: Align gluegen-cpptask-custom.xml template to commit f54e4fbaebfec36bd3b523dc4e23f744e8e6a4ef (details)
  24. iOS: Fix native symbol generation for Windows (details)
  25. MacOS shall only scan for .dylib, dropping .jnilib search in NativeLibrary (details)
  26. build.xml: Explicitly issue 'clean-temp' at start and in the end of default 'all*' targets. (details)
  27. Update HowToBuild (gawk) and windows test scripts (details)
  28. Bug 1363: Java 11: Fix javadoc invocation, drop -source <release> for compile time javac (details)
  29. Bug 1363: Java 11: Java version must be 11 or greater; Fix HowToBuild: Give detailed build commandline. (details)
  30. Bug 1363: Java 11: Adopt java.lib.dir.platform changes to make/lib/gluegen-cpptasks-* (details)
  31. Bug 1363: Java 11: Complete renaming JEP 178 compatible native lib basename gluegen-rt -> gluegen_rt (details)
  32. Build Update: CMake 2.8.10.2 -> 3.15.2 (Windows + MacOS), Mingw64 4.8.1 -> 8.1.0 (details)
  33. Bug 1363: Java 11: Resolve Buffers.Cleaner implementation (details)
  34. Bug 1363: Java 11: Refine Build and Runtime requirements. Fix Java compiler test. (details)
  35. Windows Regression: Mingw64 8.1.0 using statical linked tool lib Test1p1Test1p1JavaEmitter (details)
  36. Bug 1363: Java 11: Document Java8 target constraints; Fix one odd compile issue (details)
  37. Bug 1363: Java 11: Revert CStructAnnotationProcessor's @SupportedSourceVersion back to 11 (details)
  38. Bug 1363: Java 11: Use new Android SDK 24 for Eclipse Android .classpath (details)
  39. Fix JogAmp Next Release Number: 2.4.0 (details)
  40. Bug 1363: Java 11: Extract and extend sun.misc.Unsafe functionality to UnsafeUtil (details)
  41. minor autocleanup (final removed from static) (details)
  42. Fix gluegen-cpptasks-base.xml for crosscompilation, failed due to unset supposedly detected mandatory new properties (details)
  43. Scripts: Macos /opt-share -> /usr/local (Catalina Read-Only) (details)
  44. Bug 1412 - JNI: GlueGen JavaEmitter: Check & Handle Exception after calling back into Java (details)
  45. Bug 1417 - Android: Support building using current SDK and NDK v20 as of 2019-12-10 (GlueGen w/ android-aarch64 patched) (details)
  46. Bug 1417 - Android: Complete 1st round: make/lib/gluegen-cpptask-android-<abi>.xml and scripts (details)
  47. Bug 1417 - Android: Update cpptasks.jar (details)
  48. Bug 1417 - Android: Add new x86 MachineDataInfo, differs due to smaller 'long double' than regular x86_32_unix (details)
  49. Bug 1417 - Android: Manifest*-android* can no more have 'Name: <folder>' directives for apk (details)
  50. Bug 1417 - Android: Resulting dynamic libraries require the 'soname' to be set since API level 23 (details)
  51. Bug 1417 - Android: Update cpptask, using implicit 'soname' setup, which scales better for all platforms. (details)
  52. Bug 1417 - Android: Classify SYSROOTs in NDK for native libraries (link) and headers (compile) (details)
  53. Bug 1417 - Android: Add ANDROID_TOOLCHAIN_SYSROOT1_INC_ARCH for arch specific includes like asm/types.h (details)
  54. Bug 1417 - Android: Add ANDROID_TOOLCHAIN_SYSROOT1_INC_STL for LLVM's C++ STL headers (default since NDK r18) (details)
  55. Bug 1417 - Android: Add adb scripts to force-stop and clear all jogamp tasks and packages (details)
  56. Bug 1417 - Android: jogamp-env.xml: Elaborate on Android SDK API versions required [min=21, target=28], javac w/ 24, some NDK's clang with 22. (details)
  57. Bug 1417 - Android: Context.MODE_WORLD_READABLE causes SecurityException on API >= 24, use Context.MODE_PRIVATE for temp cache (details)
  58. Bug 1417 - Android: Use d8 for dex'ing w/ implicit Java8 desugaring (macro: aapt.signed) (details)
  59. Add WeakIdentityHashMap implementation (from Apache Avro) (details)
  60. WeakIdentityHashMap: Cleanup; Implement putAll(..); Make IdentityWeakReference static (details)
  61. WeakIdentityHashMap: Refine capacity computation; Bitfield.Util add 'PowerOf2' functions (details)
  62. WeakIdentityHashMap: Always null check on weakRef.get(); IdentityWeakReference: hash is final. (details)
  63. Bug 1417: Update ant-cpptasks to commit c45a19eadc4c697b7cc1b095692b04deb73da5ce (details)
Commit bfe55de5d06eb8dc0b07f720c235b86e547964c3 by Sven Gothel
Update CSS; Add responsive viewport design tag
The file was modified www/index.html (diff)
Commit 2a8c4d1cfa45794bc27358f3379f8c5bece74537 by Sven Gothel
Update CSS; Add responsive viewport design tag
The file was modified doc/HowToBuild.html (diff)
The file was modified doc/manual/index.html (diff)
Commit 5f9c1435ab06c7b620befa8677fc23080dac0ce2 by Sven Gothel
Bug 1363: Java 11: Initial Host/Target Compiler Selection: Java8

Current requirements are:
  - Java 1.8 (Level 8.0)
  - Android SDK API level 24 (Version 7.0 Nougat, released August 2016)

Official production builds are performed w/ Java 1.8.
  - Java 1.8 (Level 8.0)
  - Android SDK API level 24 (Version 7.0 Nougat, released August 2016)

  Android 7 API level 24 supports Java 1.8,
  see https://developer.android.com/studio/write/java8-support

  Java 8 is chosen today, June 2019, since OpenJDK 1.8 is well supported
  on desktop, mobile support is given w/ OpenJDK 9 and
  Android also support these language features for almost 3 years.

++++

Current patch does require one to set the target.sourcelevel,
target.targetlevel and target.rt.jar properties or their equivalent
capital case environment variables.

Only allowed value is currently 1.8.
The file was removedmake/lib/android-sdk/21/android-java-src.txt (diff)
The file was removedmake/lib/android-sdk/15/LICENSE.txt (diff)
The file was addedmake/lib/android-sdk/24/android-java-src.txt (diff)
The file was removedmake/lib/android-sdk/21/NOTICE.txt (diff)
The file was removedmake/lib/android-sdk/15/android-java-src.txt (diff)
The file was modified make/gluegen-cpptasks-base.xml (diff)
The file was removedmake/lib/android-sdk/15/android-java-src.zip (diff)
The file was removedmake/lib/android-sdk/15/NOTICE.txt (diff)
The file was removedmake/lib/android-sdk/21/android.jar (diff)
The file was removedmake/lib/android-sdk/21/LICENSE.txt (diff)
The file was removedmake/lib/android-sdk/9/LICENSE.txt (diff)
The file was removedmake/lib/android-sdk/15/android.jar (diff)
The file was addedmake/lib/android-sdk/24/LICENSE.txt (diff)
The file was addedmake/lib/android-sdk/24/NOTICE.txt (diff)
The file was modified make/jogamp-env.xml (diff)
The file was removedmake/lib/android-sdk/9/NOTICE.txt (diff)
The file was removedmake/lib/android-sdk/9/android-java-src.zip (diff)
The file was addedmake/lib/android-sdk/24/android-java-src.zip (diff)
The file was removedmake/lib/android-sdk/9/android-java-src.txt (diff)
The file was modified make/build.xml (diff)
The file was modified make/scripts/make.gluegen.all.linux-x86_64.sh (diff)
The file was addedmake/lib/android-sdk/24/android.jar (diff)
The file was removedmake/lib/android-sdk/21/android-java-src.zip (diff)
The file was removedmake/lib/android-sdk/9/android.jar (diff)
Commit 97622eb70b1ff720d91d768768b7a996ac01ad78 by Sven Gothel
Update cpptask.jar to commit 757192655df20cc6a68affe8cbb4d7de387c9c67

Added CC Task Option: 'usehighleveltool' to give user option to
prefer the high-level tool like gcc or clang for static linkage
where usually 'ar' is being used.
The file was modified make/lib/cpptasks.jar (diff)
The file was modified make/build-test.xml (diff)
The file was modified make/build.xml (diff)
Commit 52a6d4ef4133a998824236af9bb48d0ea65359a9 by Sven Gothel
iOS: Initial iOS support commit: build.xml targets, java code-path etc

Current build system for JogAmp iOS Build is:

- Build Machine: OSX Mojave 10.14

- Using own (still proprietary) OpenJDK 9 iOS Build

- OpenJDK 1.8 (This will be replaced by OpenJDK 11 soon)

- Xcode 10.2
The file was addedmake/scripts/make.gluegen.all.ios.arm64.sh (diff)
The file was modified src/java/com/jogamp/common/os/Platform.java (diff)
The file was modified src/java/com/jogamp/common/util/IOUtil.java (diff)
The file was modified make/jogamp-androidtasks.xml (diff)
The file was modified make/gluegen-cpptasks-base.xml (diff)
The file was modified src/java/jogamp/common/os/PlatformPropsImpl.java (diff)
The file was modified make/build.xml (diff)
The file was modified make/gluegen-properties.xml (diff)
The file was modified src/java/com/jogamp/common/util/JarUtil.java (diff)
The file was modified src/java/com/jogamp/common/util/VersionUtil.java (diff)
The file was modified src/java/jogamp/common/os/MachineDataInfoRuntime.java (diff)
The file was addedmake/scripts/make.gluegen.all.ios.amd64.sh (diff)
The file was modified src/java/com/jogamp/common/os/NativeLibrary.java (diff)
The file was modified src/java/com/jogamp/common/os/MachineDataInfo.java (diff)
Commit 330dad069dee5a0cc0480cf5cd9052000004223a by Sven Gothel
Bug 1363: Java 11: Recognize Java9+ ..; Support JEP 178 static linkage libgluegen-rt[.so] -> libgluegen_rt[.so|.a]

Recognize Java9+ ..

- Recognize new Java9+ version string as of JEP 223

- Avoid Classpath's private findLibrary call

+++

Support JEP 178 static linkage (OpenJDK 1.8)

- Need to change native library basename: libgluegen-rt[.so] -> libgluegen_rt[.so|.a]
  since the dash '-' is not supported in a ANSI-c function name.

- Added 'JNI_OnLoad_gluegen_rt' to recognize statical linked JNI code

- Added JNI_VERSION_1_8 to jni/jni.h
The file was modified src/java/com/jogamp/common/os/NativeLibrary.java (diff)
The file was modified src/java/com/jogamp/common/util/VersionUtil.java (diff)
The file was modified src/java/com/jogamp/common/os/Platform.java (diff)
The file was modified make/stub_includes/jni/jni.h (diff)
The file was modified src/java/jogamp/common/os/PlatformPropsImpl.java (diff)
The file was addedsrc/native/common/JVM_JNI8.c (diff)
The file was modified make/build.xml (diff)
Commit 062901d807770646604322aa45d1e018270ae7ce by Sven Gothel
Update cpptask.jar to commit 18e04a2fb9c2a3556040091213f82fc570bc5736

and comment-out verbose OSX compiler/link flags, as well as removing one dead linker cfg target.
The file was modified make/build.xml (diff)
The file was modified make/gluegen-cpptasks-base.xml (diff)
The file was modified make/lib/cpptasks.jar (diff)
Commit 2439ef7a2e6789c2614b3f0efde11bc874cebad0 by Sven Gothel
iOS: Bump required iOS default version to 11.0
The file was modified make/gluegen-cpptasks-base.xml (diff)
Commit 8ce56955f989f0d8ac21335ea563f9c7eb111154 by Sven Gothel
iOS: Generalize building the native symbols file via macro
The file was modified make/gluegen-cpptasks-base.xml (diff)
The file was modified make/build.xml (diff)
Commit e44b9364353a6173598eb98d276795d77cc4456c by Sven Gothel
iOS: NativeLibrary: Refine iOS, use proper alt system path for iOS+OSX, relax closeLibrary(..)
The file was modified src/java/com/jogamp/common/os/DynamicLibraryBundle.java (diff)
The file was modified src/java/com/jogamp/common/os/NativeLibrary.java (diff)
The file was modified src/java/jogamp/common/os/UnixDynamicLinkerImpl.java (diff)
The file was modified src/java/jogamp/common/os/DynamicLinkerImpl.java (diff)
Commit c7205e3906e426ec0c74b12b50faece189d3f8c2 by Sven Gothel
Bug 1363: Java 11: Mod scripts for OpenJDK11 usage
The file was modified make/scripts/crosstest-java-linux-armv6-rel.sh (diff)
The file was modified make/scripts/make.gluegen.all.linux-aarch64-cross.sh (diff)
The file was modified make/scripts/make.gluegen.all.linux-armv6hf.sh (diff)
The file was modified make/scripts/adb-launch-main.sh (diff)
The file was modified make/scripts/crosstest-junit-linux-armv7-rel.sh (diff)
The file was modified make/scripts/make.gluegen.all.ios.amd64.sh (diff)
The file was removedmake/scripts/setenv-build-jogl-x86_64.sh (diff)
The file was modified make/scripts/make.gluegen.all.win32.bat (diff)
The file was modified make/scripts/make.gluegen.all.linux-x86_64.sh (diff)
The file was modified make/scripts/setenv-android-tools.sh (diff)
The file was removedmake/scripts/setenv-build-jogl-x86.sh (diff)
The file was modified make/scripts/make.gluegen.all.linux-ppc64le.sh (diff)
The file was removedmake/scripts/make.gluegen.all.macosx-java6.sh (diff)
The file was modified make/scripts/make.gluegen.all.ios.arm64.sh (diff)
The file was modified make/scripts/make.gluegen.all.linux-x86-clang.sh (diff)
The file was modified make/scripts/make.gluegen.all.macosx.sh (diff)
The file was modified make/scripts/make.gluegen.all.win64.bat (diff)
The file was addedmake/scripts/setenv-build-jogamp-x86_64.sh (diff)
The file was modified make/scripts/make.gluegen.all.linux-aarch64.sh (diff)
The file was modified make/scripts/make.gluegen.all.linux-armv6hf-cross.sh (diff)
The file was modified make/scripts/crosstest-java-android-armv6-rel.sh (diff)
The file was modified make/scripts/make.gluegen.all.android-armv6-cross.sh (diff)
The file was modified make/scripts/make.gluegen.all.solaris-x86.sh (diff)
The file was modified make/scripts/crosstest-java-linux-armv6hf-rel.sh (diff)
The file was modified make/scripts/make.gluegen.all.generic.sh (diff)
The file was modified make/scripts/make.gluegen.all.android-aarch64-cross.sh (diff)
The file was modified make/scripts/make.gluegen.all.android-x86-cross.sh (diff)
The file was modified make/scripts/make.gluegen.all.linux-x86.sh (diff)
The file was modified make/scripts/make.gluegen.all.linux-x86_64-clang.sh (diff)
The file was modified make/scripts/make.gluegen.all.solaris-x86_64.sh (diff)
The file was addedmake/scripts/setenv-build-jogamp-x86.sh (diff)
Commit a83fe317fc55771c18709ec201870d98c307eb13 by Sven Gothel
Bug 1363: Java 11: HowToBuild Update

Also update GNU/Linux and other platforms information to current OS versions and developer toolchains.
The file was modified doc/HowToBuild.html (diff)
Commit 4df8c0112b1e6f3236428cd8429d034058a98f6b by Sven Gothel
Ported NativeTaglet to jdk.javadoc.doclet.Taglet

The old com.sun.tools.doclets.Taglet was removed, so had to move to new
API.
The file was modified src/java/net/highteq/nativetaglet/NativeTaglet.java (diff)
Commit 0e915e519cad5f23dcea1707b894f2b5b869bbf1 by Sven Gothel
Fixed native header generation so it doesn't use javah

The javah command was removed in Java 10, so now native headers must be
generated in javac instead.
The file was modified make/build.xml (diff)
Commit d7db7d7749a139c0238e0ae484ece39bc6b51d66 by Sven Gothel
Bug 1363: Java 11: build.xml fix some comments, javah replacement move and compile time build
The file was modified make/build.xml (diff)
Commit 610493b1724b5d91327f478338ff5d029bdcc032 by Sven Gothel
Fix warning in annotation processor
The file was modified src/java/com/jogamp/gluegen/structgen/CStructAnnotationProcessor.java (diff)
Commit 3ae05eacc091282f009792e2b06505efe96cca7d by Sven Gothel
Fixed null pointer exception in logging print
The file was modified src/java/com/jogamp/gluegen/structgen/CStructAnnotationProcessor.java (diff)
Commit 93121714758f89a394993f0740c6929f48fb887b by Sven Gothel
Fixed CStruct annotation processor to not use dummy Java variable types

When annotations were placed on dummy Java variables, the annotation
processor was emitting a RenameJavaType directive into the gluegen
config file that caused the emitted file to be named boolean.java
instead of RenderingConfig.java or Pixel.java. Turned off this behavior
when jname is given in the @CStruct annotation. I'm uncertain how much
this processor is even used, since I can't find any occurrences of
@CStruct outside the test code for it in gluegen.
The file was modified src/java/com/jogamp/gluegen/structgen/CStructAnnotationProcessor.java (diff)
The file was modified src/junit/com/jogamp/gluegen/test/junit/structgen/package-info.java (diff)
Commit 760295dc597b3a91bf011115dd7bfad9c0c37f82 by Sven Gothel
Fixed java.home directory and removed obsolete tools.jar

In Java 9+, there's no longer a "jre" directory in the installation, so
removed references to it. The tools.jar file also no longer exists in
Java installations (it's now stored in a secret non-JAR format), so
removed that as well.
The file was modified make/build.xml (diff)
The file was modified test/junit/com/jogamp/gluegen/build.xml (diff)
The file was modified make/gluegen-cpptasks-base.xml (diff)
The file was modified nbproject/ide-file-targets.xml (diff)
The file was modified nbproject/project.xml (diff)
Commit 40863053f2c97d8dd89b41c6e2d3703f4d2f72d0 by Sven Gothel
Fixed minor Ant buildfile consistency issues

These were flagged as errors by Eclipse, and appear legitimate, but
didn't make the command line build fail.
The file was modified test/junit/com/jogamp/gluegen/build.xml (diff)
The file was modified make/gluegen-cpptasks-base.xml (diff)
Commit 5aee782592a5ef038dfb79c7b2af5ddab81c0a21 by Sven Gothel
Fixed JRE path for Linux AMD64 to work for Java 11
The file was modified make/gluegen-cpptasks-base.xml (diff)
Commit f54e4fbaebfec36bd3b523dc4e23f744e8e6a4ef by Sven Gothel
Bug 1363: Java 11: Refine 'java.home.dir' and 'java.lib.dir.platform' setup for traditional layout and JEP 220(Java 9+)

JEP 220 states it is now optional to use the <arch> subfolder in 'lib' to store native libraries,
i.e. 'lib/<arch>/libjava.so' can be flattened to 'lib/libjava.so'.
Further the jre subfolder is no more used according to the JEP 220, however, it can be used.

Therefor we scan for 'java.home.dir' in the following order:
- if '<java.home>/../jre' exists, i.e. we are within the 'jre' folder, use '<java.home>/..'.
- otherwise assume <java.home> reflect the flattened actual base folder and use it as is.

We scan for 'java.lib.dir.platform' in the following order:
- if exists <java.home>/jre/lib/i386/libjava.so -> <java.home>/jre/lib/i386
- if exists <java.home>/lib/i386/libjava.so     -> <java.home>/lib/i386
- defaults to flattened <java.home>/lib

This way we keep the historical arch information for each platform
and stay most flexible for any SDK build layout.
The file was modified make/gluegen-cpptasks-base.xml (diff)
Commit 65195899777be7be194db59bd668d22c70f29145 by Sven Gothel
Bug 1363: Java 11: Align gluegen-cpptask-custom.xml template to commit f54e4fbaebfec36bd3b523dc4e23f744e8e6a4ef
The file was modified make/gluegen-cpptasks-custom.xml (diff)
Commit 4df5aea16fba71b43b78fc6a878fb68c01294a3a by Sven Gothel
iOS: Fix native symbol generation for Windows

Regression from commit 8ce56955f989f0d8ac21335ea563f9c7eb111154
The file was modified make/gluegen-cpptasks-base.xml (diff)
Commit 15549c5c038e4ef009b9b487e460c29da16c956b by Sven Gothel
MacOS shall only scan for .dylib, dropping .jnilib search in NativeLibrary
The file was modified src/java/com/jogamp/common/os/NativeLibrary.java (diff)
Commit f12fde9dbfc79aa37303c724f094b3cef8a3f989 by Sven Gothel
build.xml: Explicitly issue 'clean-temp' at start and in the end of default 'all*' targets.

This shall ensure that build-temp gets deleted before and after build,
removing the transitionary previous build state.
The file was modified make/build.xml (diff)
Commit 0577701f4d92c414dbfe6875f4319fd311e0106c by Sven Gothel
Update HowToBuild (gawk) and windows test scripts
The file was modified make/scripts/java-win64.bat (diff)
The file was modified doc/HowToBuild.html (diff)
The file was modified make/scripts/java-win32.bat (diff)
Commit 189f8ede61afea66ea14f7402dac10381a98c9ca by Sven Gothel
Bug 1363: Java 11: Fix javadoc invocation, drop -source <release> for compile time javac

Also prepare the 'target.releaselevel' property to be set by 'RELEASE_LEVEL' environment,
however - we do not use it at this point.

For now, we build gluegen-rt using '-source 1.8' '-target 1.8'
and the bootclasspath of openjdk8 rt.jar to ensure java8 compatibility.

Alternatively one could use '--release 8' instead using the java11
distributed modules. However, I think the above method is more safe,
only allowing java8 rt.jar to be used for compilation.

Further, gluegen.jar is build using '-target 1.8' only,
since it musty use java11 sources at least for the javadoc taglet.
The file was modified make/build.xml (diff)
The file was modified make/scripts/make.gluegen.all.linux-x86_64.sh (diff)
The file was modified make/jogamp-env.xml (diff)
Commit 0f370707ed27dff495c5d091d284f7a006cb28a0 by Sven Gothel
Bug 1363: Java 11: Java version must be 11 or greater; Fix HowToBuild: Give detailed build commandline.
The file was modified make/jogamp-env.xml (diff)
The file was modified doc/HowToBuild.html (diff)
Commit 175392ceeba5f69aa5ac90e4021490ade742a323 by Sven Gothel
Bug 1363: Java 11: Adopt java.lib.dir.platform changes to make/lib/gluegen-cpptasks-*
The file was modified make/lib/gluegen-cpptasks-linux-32bit.xml (diff)
The file was modified make/lib/gluegen-cpptasks-android-x86.xml (diff)
The file was modified make/lib/gluegen-cpptasks-android-aarch64.xml (diff)
The file was modified make/lib/gluegen-cpptasks-android-armv6.xml (diff)
Commit 6f987f16c808242b61263d76bd7d72e148a0af24 by Sven Gothel
Bug 1363: Java 11: Complete renaming JEP 178 compatible native lib basename gluegen-rt -> gluegen_rt

- Fix finding native library for Elf parsing
- Fix one unit test
- Fix comments

Completes commit 330dad069dee5a0cc0480cf5cd9052000004223a
The file was modified src/java/com/jogamp/common/nio/PointerBuffer.java (diff)
The file was modified src/junit/com/jogamp/common/util/TestTempJarCache.java (diff)
The file was modified src/java/com/jogamp/common/os/NativeLibrary.java (diff)
The file was modified src/java/com/jogamp/common/os/Platform.java (diff)
The file was modified src/java/jogamp/common/os/PlatformPropsImpl.java (diff)
The file was modified src/java/jogamp/common/os/MachineDataInfoRuntime.java (diff)
The file was modified src/java/com/jogamp/common/nio/AbstractBuffer.java (diff)
Commit 5f4292bb8a310489e05a4f3545ae081310a93f72 by Sven Gothel
Build Update: CMake 2.8.10.2 -> 3.15.2 (Windows + MacOS), Mingw64 4.8.1 -> 8.1.0
The file was modified make/scripts/make.gluegen.all.win32.bat (diff)
The file was modified make/scripts/java-win64.bat (diff)
The file was modified doc/HowToBuild.html (diff)
The file was modified make/scripts/make.gluegen.all.win64.bat (diff)
The file was modified make/build-test.xml (diff)
The file was modified make/scripts/java-win32.bat (diff)
The file was modified LICENSE.txt (diff)
Commit 6603026f1bfec02e3486c52270a09a355a1bf914 by Sven Gothel
Bug 1363: Java 11: Resolve Buffers.Cleaner implementation

As of Java9, sun.misc.Cleaner has moved to jdk.internal.ref.Cleaner.
However, access has been made (under the table) via sun.misc.Unsafe,
which we are using for now as we cannot set the jdk.internal.ref.Cleaner method accessible.

In this regard, we had to change our Cleaner.clean(..) method using a ByteBuffer
instead of a Buffer object paramter.

All tests have passed, no more illegal access case running on Java11 has been exposed.
The file was removedsrc/junit/com/jogamp/common/nio/BuffersTest.java (diff)
The file was addedsrc/junit/com/jogamp/common/nio/TestBuffers.java (diff)
The file was modified src/junit/com/jogamp/common/nio/TestByteBufferCopyStream.java (diff)
The file was modified src/java/com/jogamp/common/nio/Buffers.java (diff)
The file was removedsrc/junit/com/jogamp/common/nio/CachedBufferFactoryTest.java (diff)
The file was addedsrc/junit/com/jogamp/common/nio/TestCachedBufferFactory.java (diff)
Commit 493f0597646a1521074512b54c77d51fdfcca280 by Sven Gothel
Bug 1363: Java 11: Refine Build and Runtime requirements. Fix Java compiler test.

We allow java [8-10] to pass even thought we require java 11 or greater.
This gives us the opportunity to run the junit tests on a java 8 VM (tested).
The file was modified make/jogamp-env.xml (diff)
Commit c63b81c1660f65804b058d1af1b66949b06390df by Sven Gothel
Windows Regression: Mingw64 8.1.0 using statical linked tool lib Test1p1Test1p1JavaEmitter

'com.jogamp.gluegen.test.junit.generation.Test1p1JavaEmitter' exposes a regression
using MingW64 8.1.0: System.loadLibrary() gives a "Can't find dependent libraries".

Here, 'Bindingtest1p1' is linked against 'test1' and fails to load
due to its wrong dependent library name within 'Bindingtest1p1'.
MingW64 8.1.0 dropped 'libtest1.so' into 'Bindingtest1p1.dll',
which is surely wrong. Even passing '-Wl,-soname=test1.dll' didn't help.

Note: Such constellation would only work with adding
the lib-path to PATH on Windows.

Since we don't utilize the method in any of our projects,
but use the dynamic library lookup method - this is not a blocker,
but wasted some good time.
The file was modified make/scripts/runtest.sh (diff)
The file was addedsrc/junit/com/jogamp/gluegen/test/junit/generation/Test1p2DynamicLibraryBundle.java (diff)
The file was modified make/scripts/java-win32.bat (diff)
The file was modified make/scripts/runtest-x64.bat (diff)
The file was modified make/build-test.xml (diff)
The file was modified make/scripts/java-win64.bat (diff)
Commit 2d89df89453c099d4e357aa17eae88efcf1d1b70 by Sven Gothel
Bug 1363: Java 11: Document Java8 target constraints; Fix one odd compile issue

Document Java8 target constraints, i.e. where we need to set source, target and bootclasspath
to ensure target runtime Java8 compliance.

Fix one odd compile issue!
Using two theorethical identical GNU/Linux Debian 10 machines with same set of installed software,
one passes (like MacOS, Windows) and one fails.
The failure was due to the CStructAnnotationProcessor's @SupportedSourceVersion tag.
This downgrades the SourceVersion's previous bump from 6->11 (commit 610493b1724b5d91327f478338ff5d029bdcc032)
down to 8.

Interesting times ..
The file was modified make/build-test.xml (diff)
The file was modified make/build.xml (diff)
The file was modified src/java/com/jogamp/gluegen/structgen/CStructAnnotationProcessor.java (diff)
Commit 3068420e778909e75edbed8ffd17c49c95b6e4c2 by Sven Gothel
Bug 1363: Java 11: Revert CStructAnnotationProcessor's @SupportedSourceVersion back to 11

Behold, the issue as documented at commit 2d89df89453c099d4e357aa17eae88efcf1d1b70,
one build machine failing to compile SourceVersion.RELEASE_11
was due to an incomplete installation of openjdk-11-jdk on Debian GNU/Linux. Wow.

I have re-installed the openjdk-11-jre and openjdk-11-jdk packages on said machine,
ensured they are being used .. and it works.

Another note here regarding usage of OpenJDK11 compile time environment
and Java8 target. If using Eclipse, I had to set the system runtime JDK to JDK 8.
Otherwise the 'editor clean-up' jobs would run against the JDK 11
classes and wrongly so change certain type castings etc, incompatible with Java 8.
If anybody knows a solution here .. shoot.
The file was modified src/java/com/jogamp/gluegen/structgen/CStructAnnotationProcessor.java (diff)
Commit 9eb21b874edb66003c642971d6c99bc22ec37e27 by Sven Gothel
Bug 1363: Java 11: Use new Android SDK 24 for Eclipse Android .classpath
The file was modified .classpath (diff)
Commit 252ab21e6b6958cb54992d68535cdb7563b70f40 by Sven Gothel
Fix JogAmp Next Release Number: 2.4.0
The file was modified make/jogamp-env.xml (diff)
Commit 07c1885e9a3d1f3a3853414648c06fb3864bc69f by Sven Gothel
Bug 1363: Java 11: Extract and extend sun.misc.Unsafe functionality to UnsafeUtil

UnsafeUtil centralizes the workarounds (hack) of certain Java>=9
modularization encapsulation pitfalls,
where no exports have been defined. The last resort.

1) Buffers utilizes UnsafeUtil for Java>=9 invokeCleaner.

2) To gain access for certain methods + fields w/o 'illegal access warnings',
we have to temporarily disable the IllegalAccessLogger.
Hence we provide a method 'T doWithoutIllegalAccessLogger(..<T> action)'
for our essential module access under Java >= 9.
The file was addedsrc/java/com/jogamp/common/util/UnsafeUtil.java (diff)
The file was modified src/java/com/jogamp/common/nio/Buffers.java (diff)
Commit 13ff301f7a21c55df7e6af77d936a81536b16e7f by Sven Gothel
minor autocleanup (final removed from static)
The file was modified src/junit/com/jogamp/junit/util/JunitTracer.java (diff)
Commit 617bb981ef3485edd1e0729934d223da07a72a6b by Sven Gothel
Fix gluegen-cpptasks-base.xml for crosscompilation, failed due to unset supposedly detected mandatory new properties

Move new detected build properties build.dynamiclibs, build.staticlibs and output.lib.type
from gluegen.cpptasks.detect.os.1 to gluegen.cpptasks.detect.os.
This enables setting these mandatory properties always, as gluegen.cpptasks.detect.os.1 gets overriden
by custom cross-compilation configurations.

Also moving the property dump from gluegen.cpptasks.detect.os.1 to gluegen.cpptasks.detect.os
for same reasons.
The file was modified make/gluegen-cpptasks-base.xml (diff)
Commit 50f8d56b5e7eac286e8183b162bddf2d528ffa6b by Sven Gothel
Scripts: Macos /opt-share -> /usr/local (Catalina Read-Only)
The file was modified make/scripts/make.gluegen.all.macosx.sh (diff)
The file was modified make/scripts/make.gluegen.all.ios.arm64.sh (diff)
The file was modified make/scripts/make.gluegen.all.ios.amd64.sh (diff)
Commit 5736716ed0598c97273583717ffb9d22a60ca7a4 by Sven Gothel
Bug 1412 - JNI: GlueGen JavaEmitter: Check & Handle Exception after calling back into Java

The generated JNI code JVMUtil_NewDirectByteBufferCopy(..)
calls Buffers.newDirectByteBuffer(..) and potential exceptions should be checked.
The file was modified src/java/com/jogamp/gluegen/JavaEmitter.java (diff)
Commit 74e5bbe097a07d1275a2d6452d1e2336a8d5c44a by Sven Gothel
Bug 1417 - Android: Support building using current SDK and NDK v20 as of 2019-12-10 (GlueGen w/ android-aarch64 patched)

Default Platform: Android 7.0 Nougat, API level 24 supports Java 1.8

Reworked gluegen/make/scripts/setenv-android-tools.sh,
following canonical environment variables and sets all
required variables for cross-compilation.
See file's comments!

ant files:
  - android.version -> android.api.level (default 24)
  - android.jar defaults to ${gluegen.root}/make/lib/android-sdk/24/android.jar (provided)
The file was modified make/scripts/make.gluegen.all.android-aarch64-cross.sh (diff)
The file was modified make/scripts/setenv-android-tools.sh (diff)
The file was modified make/gluegen-properties.xml (diff)
The file was modified make/jogamp-androidtasks.xml (diff)
The file was modified make/jogamp-env.xml (diff)
The file was modified make/lib/gluegen-cpptasks-android-aarch64.xml (diff)
Commit b6a91a035c14f1e4d142517f311007e48ea9c0c1 by Sven Gothel
Bug 1417 - Android: Complete 1st round: make/lib/gluegen-cpptask-android-<abi>.xml and scripts

All aligned now
- gluegen-cpptasks-android-aarch64.xml
- gluegen-cpptasks-android-armv6.xml (this has ld flag --no-undefined disabled, due to internal missing symbols)
- gluegen-cpptasks-android-x86.xml
The file was modified make/scripts/make.gluegen.all.android-x86-cross.sh (diff)
The file was modified make/lib/gluegen-cpptasks-android-armv6.xml (diff)
The file was modified make/scripts/setenv-android-tools.sh (diff)
The file was modified make/lib/gluegen-cpptasks-android-aarch64.xml (diff)
The file was modified make/lib/gluegen-cpptasks-android-x86.xml (diff)
The file was modified src/java/com/jogamp/common/os/AndroidVersion.java (diff)
The file was modified make/scripts/make.gluegen.all.android-armv6-cross.sh (diff)
Commit 4f7273e017e2deb2928a76066604ced03609f921 by Sven Gothel
Bug 1417 - Android: Update cpptasks.jar

http://jogamp.org/git/?p=ant-cpptasks.git

commit e1933c74b9c256332cd12c9a1094e4687b535112
Bug 1417 Android clang support: Introduce clangLinkerOption '-target <abi>'
The file was modified make/lib/cpptasks.jar (diff)
Commit 19761070e12f65fe7a07e6d9b7a5221a1623b12d by Sven Gothel
Bug 1417 - Android: Add new x86 MachineDataInfo, differs due to smaller 'long double' than regular x86_32_unix
The file was modified src/java/com/jogamp/common/os/MachineDataInfo.java (diff)
Commit eb6dfabd7427a1836f6b1d2080422f98808ea0a4 by Sven Gothel
Bug 1417 - Android: Manifest*-android* can no more have 'Name: <folder>' directives for apk

The 'Name <folder>' leads new apk to claim the missing resources (the folder actually)
and fails to install the apk.

Hence removed tagging the folders sealed.
The file was modified make/Manifest-android-launcher (diff)
The file was modified make/Manifest-rt-android (diff)
Commit 51ef5eadd9db020412d3a3716b4ab5a25b0522fb by Sven Gothel
Bug 1417 - Android: Resulting dynamic libraries require the 'soname' to be set since API level 23

TODO: Do this for all JogAmp modules!
The file was modified make/build.xml (diff)
Commit 53ae28fd2bc501b5de54fdbdf915d88f823eb11a by Sven Gothel
Bug 1417 - Android: Update cpptask, using implicit 'soname' setup, which scales better for all platforms.

http://jogamp.org/git/?p=ant-cpptasks.git

commit 8353e0cc85705ca8f81f8563ad975026978b6745
The file was modified make/build.xml (diff)
The file was modified make/lib/cpptasks.jar (diff)
Commit 26d06324312b8fe6980ff29ab9d443cc5ec2657f by Sven Gothel
Bug 1417 - Android: Classify SYSROOTs in NDK for native libraries (link) and headers (compile)

Utilizing '-sysroot' with the linker, we require standard FS layout.

'~/Android/Sdk/ndk/20.1.5948944/platforms/android-24/arch-arm64'
contains the proper std FS layout for libraries under usr/lib,
but lacks the header files.
We call this 'ANDROID_TOOLCHAIN_SYSROOT0' and shall be used for linking.

'~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot'
native libraries are not under std FS layout,
but headers are under std FS layout for compilation under usr/include.
We call this 'ANDROID_TOOLCHAIN_SYSROOT1' and shall be used for compilation.

Identified while working on openal-soft Android compilation,
where we need to pass ANDROID_TOOLCHAIN_SYSROOT0
The file was modified make/lib/gluegen-cpptasks-android-armv6.xml (diff)
The file was modified make/lib/gluegen-cpptasks-android-x86.xml (diff)
The file was modified make/scripts/setenv-android-tools.sh (diff)
The file was modified make/lib/gluegen-cpptasks-android-aarch64.xml (diff)
Commit aeae740ba2569d839820bfc20c43a8550ab8ed33 by Sven Gothel
Bug 1417 - Android: Add ANDROID_TOOLCHAIN_SYSROOT1_INC_ARCH for arch specific includes like asm/types.h

Also adapt make/lib/gluegen-cpptask-android* files:
- Set C++ stdlib = libstdc++
- Set isysroot (same as sysroot)
- Add isystem: *_SYSROOT1_INC, *_SYSROOT1_INC_ARCH and *_SYSROOT1_INC/c++/v1
The file was modified make/lib/gluegen-cpptasks-android-x86.xml (diff)
The file was modified make/lib/gluegen-cpptasks-android-aarch64.xml (diff)
The file was modified make/lib/gluegen-cpptasks-android-armv6.xml (diff)
The file was modified make/scripts/setenv-android-tools.sh (diff)
Commit ae4cdcf3490a1bf493f39ab5c8c6b596d3af71de by Sven Gothel
Bug 1417 - Android: Add ANDROID_TOOLCHAIN_SYSROOT1_INC_STL for LLVM's C++ STL headers (default since NDK r18)

Using LLVM's c++_shared as of NDK r18: https://developer.android.com/ndk/guides/cpp-support.html
LLVM's c++ headers must come before other system header!
Also see https://github.com/android/ndk/issues/452 and https://gitlab.kitware.com/cmake/cmake/issues/17059

Also adapt make/lib/gluegen-cpptask-android* files:
- Compiler
-- align for potential C++ usage, i.e.:
-- don't use '-sysroot' not '-isysroot'
-- IF using C++ STL, prepend ANDROID_TOOLCHAIN_SYSROOT1_INC_STL
-- just add normal sysroot headers via '-isystem'

- Linker
-- Use ANDROID_TOOLCHAIN_SYSROOT1_LIB1 and ANDROID_TOOLCHAIN_SYSROOT1_LIB2 for '-L' search path
-- where ANDROID_TOOLCHAIN_SYSROOT1_LIB2 is for 'libc++' -> 'c++_shared'
The file was modified make/lib/gluegen-cpptasks-android-aarch64.xml (diff)
The file was modified make/lib/gluegen-cpptasks-android-x86.xml (diff)
The file was modified make/lib/gluegen-cpptasks-android-armv6.xml (diff)
The file was modified make/scripts/setenv-android-tools.sh (diff)
Commit d190301a82a961ac3246890206200086842059bd by Sven Gothel
Bug 1417 - Android: Add adb scripts to force-stop and clear all jogamp tasks and packages
The file was addedmake/scripts/adb-am-force-stop-all.sh (diff)
The file was addedmake/scripts/adb-pm-clear-all.sh (diff)
Commit 6e98be1a1bc819b47e2cc52eb35d23a7489fdf1b by Sven Gothel
Bug 1417 - Android: jogamp-env.xml: Elaborate on Android SDK API versions required [min=21, target=28], javac w/ 24, some NDK's clang with 22.
The file was modified make/resources/android/AndroidManifest-Runtime.xml (diff)
The file was modified make/resources/android/AndroidManifest-Test.xml (diff)
The file was modified make/jogamp-env.xml (diff)
The file was modified make/resources/android/AndroidManifest-Launcher.xml (diff)
Commit faa37334e2912e02cb58e738570a127cc6402b37 by Sven Gothel
Bug 1417 - Android: Context.MODE_WORLD_READABLE causes SecurityException on API >= 24, use Context.MODE_PRIVATE for temp cache
The file was modified src/java/jogamp/android/launcher/LauncherTempFileCache.java (diff)
The file was modified src/java/jogamp/common/os/android/AndroidUtilsImpl.java (diff)
Commit 1390bc236de531646aaa4525a17de1a533b1fa06 by Sven Gothel
Bug 1417 - Android: Use d8 for dex'ing w/ implicit Java8 desugaring (macro: aapt.signed)

The new SDK d8 dex'ing tool performs Java8 desugaring, hence allows using Java8 code style.

We use d8 instead of dx in the 'aapt.signed' macro of 'jogamp-androidtasks.xml'.

For the proper desugaring, we pass 'android-min.jar and 'target.rt.jar' Android and Java8
system runtime jar-files to d8's classpath.

Macro 'aapt.signed' also receives the new optional element 'd8-classpaths'
to allows caller to pass further required jar-files to the d8 classpath.
See build-test.xml.
The file was modified make/build-test.xml (diff)
The file was modified make/jogamp-androidtasks.xml (diff)
Commit 5979d66fb0c619be32ebcf9fbe644cf6d757345f by Sven Gothel
Add WeakIdentityHashMap implementation (from Apache Avro)

Origin <https://github.com/apache/avro/blob/master/lang/java/avro/src/main/java/org/apache/avro/util/WeakIdentityHashMap.java>
from their commit 70260919426f89825ca148f5ee815f3b2cf4764d.
Apache License Version 2.0 until.
Using our JogAmp 'New BSD 2-Clause License' for changes after this initial commit.

Related to Bug 1312, where we like to utilize a WeakIdentityHashMap,
allowing to have cached shared GLContext to disappear .. a compromise.
The file was addedsrc/java/com/jogamp/common/util/WeakIdentityHashMap.java (diff)
The file was modified LICENSE.txt (diff)
Commit c6fabb0ac94000afe29156f170c63080a37c034b by Sven Gothel
WeakIdentityHashMap: Cleanup; Implement putAll(..); Make IdentityWeakReference static
The file was modified src/java/com/jogamp/common/util/WeakIdentityHashMap.java (diff)
Commit 178c7b9d40e06a04790542241912ca21d2c7b92f by Sven Gothel
WeakIdentityHashMap: Refine capacity computation; Bitfield.Util add 'PowerOf2' functions
The file was modified src/java/com/jogamp/common/util/Bitfield.java (diff)
The file was modified src/java/com/jogamp/common/util/WeakIdentityHashMap.java (diff)
Commit add34060fde735ea932ca49fbe79e473c5a4f40b by Sven Gothel
WeakIdentityHashMap: Always null check on weakRef.get(); IdentityWeakReference: hash is final.
The file was modified src/java/com/jogamp/common/util/WeakIdentityHashMap.java (diff)
Commit e3bc8ce349944d531c0b314ddb3f7a8946ce2a86 by Sven Gothel
Bug 1417: Update ant-cpptasks to commit c45a19eadc4c697b7cc1b095692b04deb73da5ce
The file was modified make/lib/cpptasks.jar (diff)