summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2014-07-11 03:07:02 +0200
committerSven Gothel <[email protected]>2014-07-11 03:07:02 +0200
commit3c2409e9cc23b0f22c813b6903277997b46db826 (patch)
treeb512d7cbbedfb29f1a42d1ff46efb8adb5119d55
parent8b2d4a72ec9f026f23e8c2320d298b47ac48aba7 (diff)
Bug 1024: Add fallback for native-jar-file location via classpathv2.2.0
Adapt to GlueGen commit f5c48efcf546ba4e08e197ccced6df83b57e1755
-rwxr-xr-xmake/build.xml34
-rwxr-xr-xmake/joalversion-natives19
-rw-r--r--make/scripts/tests.sh2
-rw-r--r--src/java/jogamp/openal/ALDynamicLibraryBundleInfo.java2
-rw-r--r--src/java/jogamp/openal/Debug.java54
5 files changed, 64 insertions, 47 deletions
diff --git a/make/build.xml b/make/build.xml
index ebc9a56..2984c84 100755
--- a/make/build.xml
+++ b/make/build.xml
@@ -459,14 +459,24 @@
</antcall>
<!-- Create Java Web Start jar file from built file -->
- <jar destfile="${build}/jar/joal-natives-${os.and.arch}.jar">
- <fileset dir="../${rootrel.build}/obj">
- <include name="*joal.${native.library.suffix}" />
- <include name="*soft_oal.${native.library.suffix}" />
- <include name="*openal.${native.library.suffix}" />
- <exclude name="*openal*.1*.${native.library.suffix}" />
- </fileset>
- </jar>
+ <copy file="joalversion-natives"
+ tofile="${build}/tempversion-natives"
+ overwrite="true">
+ <filterset>
+ <filter token="VERSION" value="${jogamp.version}"/>
+ <filter token="BUILD_VERSION" value="${joal.version}"/>
+ <filter token="SCM_BRANCH" value="${joal.build.branch}"/>
+ <filter token="SCM_COMMIT" value="${joal.build.commit}"/>
+ <filter token="BASEVERSION" value="${jogamp.version.base}" />
+ <filter token="JAR_CODEBASE_TAG" value="${jogamp.jar.codebase}"/>
+ </filterset>
+ </copy>
+
+ <native.tag.jar objdir="${build}/obj"
+ nativejarfile="${build}/jar/joal-natives-${os.and.arch}.jar"
+ manifestfile="${build}/tempversion-natives"
+ module="openal"
+ includelibs="*joal.${native.library.suffix} *soft_oal.${native.library.suffix} *openal.${native.library.suffix} *openal*.1*.${native.library.suffix}" />
<!-- Produce duplicates for different configurations, since non-native-jar aliasing (Bug 1023/Bug 1024) -->
<copy file="${build}/jar/joal-natives-${os.and.arch}.jar" tofile="${build}/jar/joal-android-natives-${os.and.arch}.jar"/>
</target>
@@ -605,7 +615,7 @@
<target name="jar" depends="init">
<!-- Prepare the manifest -->
<copy file="joalversion"
- tofile="tempversion"
+ tofile="${build}/tempversion"
overwrite="true">
<filterset>
<filter token="VERSION" value="${jogamp.version}"/>
@@ -618,7 +628,7 @@
</copy>
<!-- Build the jar excluding any build specific classes. -->
- <jar manifest="tempversion" destfile="${joal.jar}">
+ <jar manifest="${build}/tempversion" destfile="${joal.jar}" filesonly="true">
<fileset dir="${classes}">
<include name="com/jogamp/openal/**" />
<include name="jogamp/openal/**" />
@@ -627,8 +637,6 @@
<copy file="${joal.jar}" tofile="${joal-android.jar}"/>
<antcall target="android.package" inheritRefs="true" />
-
- <delete file="tempversion"/>
</target>
<target name="android.package" depends="init" if="isAndroid">
@@ -641,7 +649,7 @@
android.abi="${android.abi}"
androidmanifest.path="resources/android/AndroidManifest-joal.xml"
androidresources.path="resources/android/res-joal"
- jarmanifest.path="tempversion"
+ jarmanifest.path="${build}/tempversion"
version.code="${jogamp.version.int}"
version.name="${jogamp.version}" />
</target>
diff --git a/make/joalversion-natives b/make/joalversion-natives
new file mode 100755
index 0000000..6088fa1
--- /dev/null
+++ b/make/joalversion-natives
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Application-Name: Java Bindings for OpenAL
+Specification-Title: Java Bindings for OpenAL API Specification
+Specification-Version: @BASEVERSION@
+Specification-Vendor: JogAmp Community
+Implementation-Title: Java Bindings for OpenAL Runtime Environment
+Implementation-Version: @VERSION@
+Implementation-Build: @BUILD_VERSION@
+Implementation-Branch: @SCM_BRANCH@
+Implementation-Commit: @SCM_COMMIT@
+Implementation-Vendor: JogAmp Community
+Implementation-URL: http://jogamp.org/
+Extension-Name: jogamp.nativetag.openal
+Implementation-Vendor-Id: com.jogamp
+Trusted-Library: true
+Permissions: all-permissions
+Application-Library-Allowable-Codebase: *
+@JAR_CODEBASE_TAG@
+
diff --git a/make/scripts/tests.sh b/make/scripts/tests.sh
index b4f03c9..5d491ef 100644
--- a/make/scripts/tests.sh
+++ b/make/scripts/tests.sh
@@ -64,10 +64,12 @@ function jrun() {
#D_ARGS="-Djogamp.debug.Bitstream"
#D_ARGS="-Djogamp.debug.NativeLibrary=true -Djoal.debug=true"
#D_ARGS="-Djoal.debug=all"
+ #D_ARGS="-Djogamp.debug.JNILibLoader"
#X_ARGS="-verbose:jni"
#X_ARGS="-Xrs"
export CLASSPATH=$GLUEGEN_BDIR/gluegen-rt.jar:$bdir/jar/joal.jar:$bdir/jar/joal-test.jar:$JUNIT_JAR:$ANT_JARS
+ #export CLASSPATH=$GLUEGEN_BDIR/gluegen-rt.jar:$bdir/jar/joal.jar:$bdir/jar/joal-natives.jar:$bdir/jar/joal-test.jar:$JUNIT_JAR:$ANT_JARS
echo CLASSPATH $CLASSPATH
echo
diff --git a/src/java/jogamp/openal/ALDynamicLibraryBundleInfo.java b/src/java/jogamp/openal/ALDynamicLibraryBundleInfo.java
index f1eae62..cd064d4 100644
--- a/src/java/jogamp/openal/ALDynamicLibraryBundleInfo.java
+++ b/src/java/jogamp/openal/ALDynamicLibraryBundleInfo.java
@@ -49,7 +49,7 @@ public final class ALDynamicLibraryBundleInfo implements DynamicLibraryBundleInf
if(TempJarCache.isInitialized()) {
// only: joal.jar -> joal-natives-<os.and.arch>.jar
- JNILibLoaderBase.addNativeJarLibs(new Class<?>[] { ALDynamicLibraryBundleInfo.class }, null );
+ JNILibLoaderBase.addNativeJarLibs(new Class<?>[] { jogamp.openal.Debug.class }, null );
}
return null;
}
diff --git a/src/java/jogamp/openal/Debug.java b/src/java/jogamp/openal/Debug.java
index 61dcb9d..94c5c32 100644
--- a/src/java/jogamp/openal/Debug.java
+++ b/src/java/jogamp/openal/Debug.java
@@ -1,41 +1,29 @@
-/*
- * Copyright (c) 2003-2005 Sun Microsystems, Inc. All Rights Reserved.
- * Copyright (c) 2012 JogAmp Community. All rights reserved.
+/**
+ * Copyright 2014 JogAmp Community. All rights reserved.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
*
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
*
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
*
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
- * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
- * MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
- * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
- * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
- * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
- * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
- * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed or intended for use
- * in the design, construction, operation or maintenance of any nuclear
- * facility.
- *
- * Sun gratefully acknowledges that this software was originally authored
- * and developed by Kenneth Bradley Russell and Christopher John Kline.
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of JogAmp Community.
*/
package jogamp.openal;