Sven Gothel (62): Enhancement/GenericStyle: Enhancements / New utils: JarUtil, TempFileCache and TempJarCache Remove redundant: NativeLibrary.ensureNativeLibLoaded() Temp Cache: More control over the lifecycle, explicit TempJarCache initialization/usage only LICENSE.txt: Removed 'may be used'. Added Emphasized multiple licenses Unify JNI Library Loading into JNILibLoaderBase and use it for the gluegen-rt native lib as well JNILibLoaderBase/TempJarCache: Prepare for loadLibrary(..) out of cached JARs gluegen-rt lib loading: Moved to Platform static init incl. TempJarCache.bootstrapNativeLib(..) usage test script TempJarCache/JNILibLoaderBase: Validate the to be loader JarFile's Certificates if caller has any. Add Convenient JNILibLoaderBase.addNativeJarLibs(..) method. Moved JVMUtil to private package; Invoke JVMUtil.initSingleton() from Platform static init after loading native library. Add boolean system property 'jogamp.gluegen.UseTempJarCache', defaults to 'true' - allowing to disable usage of TempJarCache. Better DEBUG output NativeLib: Fix OSX lib name detection; JarUtil extract: at copy entry, mkdir of parent if !exist JNILibLoaderBase: Add convenient method to addNativeJarLibs for 'all' and 'atomic' variants SingletonInstanceServerSocket: composite thread name w/ leading original one Lock ChangeSet: Prepare RecursiveLock to be an implementation of it's new interface Lock ChangeSet: New RecursiveLock interface. Minor API change to of tryLock throws declaration Lock ChangeSet (fin): Cleanup, fix and enhance RecursiveLock implementation RunnableTask: Allow validation whether invoking thread intends to wait for the result minor: test/build scripts Android aapt.signed: add jarsrcdir to add non java files (resources) to the apk Don't default to USE_TEMP_JAR_CACHE:=true on Android Android apk's jarsrcdir: exclude all sources. TODO: need better custom resources inclusion IOUtil/Android: Convenient createTempFile wrapper for Android, using the context's directory + '/temp' (if stored at StaticContext) IOUtil: Generalize w/ getTempRoot() IOUtil's getTempRoot()'s Fix chicken-egg problem ; Adding proper API doc Enhance ReflectionUtil getConstructor(..) w/ 2nd attempt of cstr look-up w/ assignable types Android: no verbose Enhance ReleasePrimitiveArrayCritical: Use mode-flag JNI_ABORT if array is const, ie no write-back Add some warning supression tags Android: Use NDK default gcc settings Fix Solaris gcc args ; Adding JVM arch flags (-d32/-d64) Add solaris 64bit JVM comment Generalize jvm-data-model-arg 'jvmDataModel.arg', set do -d64, -d32 or dummy-value properly MachineDescriptor Static: Add Mac-OsX 32bit gcc4 special case with sizeof(long double) == 8 Update documentation (size/alignment) for MacOSX-32bit-gcc4 0bafac07b61f10c1a24e8c052937607bbfcb39ec Platform: Add OS_VERSION_NUMBER / getOSVersionNumber() Fix VersionNumber cstr w/ string parsing: cutt-off non-digit-parts, suppress exceptions gluegen/OSX: Add property java.osx.frameworks.dir Platform: Add 'getCurrentSleepJitter()' RunnableTask: Add documentation, incl. unit test. Add ReflectionUtil.MethodAccess, a convenient Method instance accessor. Add assertion to RunnableTask test case (forgot in commit: 43b7675259eb76c570b6cc3a44fec2b9f6410697) ReflectionUtil: Catch NoClassDefFoundError @ getMethod() for robustness Move TRACE_LOCK from RecursiveLock -> Lock cpptasks MacOSX 10.5 support (bug 528): Use '-mmacosx-version-min=10.5' flag for compiler/linker. Add 'TestJarsInJar.jar' test JAR file for upcoming JarUtil tests (Jar in Jar). JarUtil: Improve Robustness (Bug 522) and API doc, prepare for Jar-In-Jar. Add unit test. JarUtil (Fix Bug 522): Handle case where given URL doesn't contain any '/' (eg. Eclipse 'rsrc:' case) Fix regresseion of commit 04391a3f417e10e1b6dafbd8becc63659af633c3 (forced pending '/' to filename) Fix TempJarCache's Multi-User Bug (Reported by Martin Hegedus) Fix regression (#2) of commit 04391a3f417e10e1b6dafbd8becc63659af633c30 (remove isDirectory(), which requires extra permissions) Bump to 6u29 Refine TempJarCache/JNILibLoaderBase ; Add TempFileCache destroy() for instance. DynamicLibraryBundle/NativeLibrary: Add destroy() to bundle, causing unloading of native library. Minor edits / Put gluegen-rt 'libBaseName' static. JVMUtil: Remove Platform dependency - It's being called by Platform and is private API. Test: Add unload of libraries as last test. TempJarCache/JNILibLoaderBase: Identify the Jar files by their URL within our lifecycle. JarFile's hash almost always differs. NativeLibrary DEBUG: stack trace @ close() Fix Test1p2ProcAddressEmitter (static var); Add TestTracer TestTracer -> JunitTracer