aboutsummaryrefslogtreecommitdiffstats
path: root/make/Manifest-rt-natives
Commit message (Collapse)AuthorAgeFilesLines
* Bug 1024: Add fallback for native-jar-file location via classpathSven Gothel2014-07-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In situations, where the native-jar file is not located within the same parent URI as it's java-jar file, our location mechanism fails. This patch adds a classloader based native-jar file location mechanism as a fallback, requiring the native jar file to be included in the users CLASSPATH. Classloader based location algorithm in JNILibLoaderBase.addNativeJarLibsImpl(..): - Extract the 'module-name' from the given classFromJavaJar's package name, i.e. the last package-part: 'jogamp.common.Debug' -> 'common' Hence it is important to pass a 'classFromJavaJar', which last package segment reflects the module-name! - <os.and.arch> -> <os_and_arch_dot>, e.g. linux-amd64 -> linux.amd64 (linux/amd64) - Locate class 'jogamp.nativetag.<module-name>.<os_and_arch_dot>.TAG', e.g. 'jogamp.nativetag.common.linux.amd64.TAG' - Use located class's JarFile URI .. continue as usual Injection of above mentioned TAG class via gluegen-cpptasks-base.xml macro 'native.tag.jar': - Creates dummy TAG.java code - Compiles TAG.java - Creates the native-jar file Example: <native.tag.jar objdir="${build}/obj" nativejarfile="${build}/gluegen-rt-natives-${os.and.arch}.jar" manifestfile="${build}/Manifest-rt-natives.temp" module="common" includelibs="*gluegen-rt.${native.library.suffix}" /> Note that the manifest file uses a matching Extension-Name: Extension-Name: jogamp.nativetag.common
* Jar Manifest: Add empty line before EOF (otherwise last line is cut-off - ↵Sven Gothel2014-01-221-0/+2
| | | | duh), add 'Application-Library-Allowable-Codebase: *'
* Bug 881 - Add 'Application-Name' in Jar's manifest to avoid Java6 NPEs ..Sven Gothel2013-11-011-0/+1
|
* Bug 758: Fix scripts and ant build files to work w/ Java7 (default now) ↵Sven Gothel2013-06-201-0/+16
producing Java6 bytecode ; Apply JAR Manifest tags: Sealed, Permissions and Codebase