summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2011-08-05 17:43:07 +0200
committerSven Gothel <[email protected]>2011-08-05 17:43:07 +0200
commit6281499e53555fd8ab26345ffce4c4d09bf57a09 (patch)
tree5500acea903989225a5e0f43a1b535d38421d61f
parent2fa326f0f64afff58e3d0a706a637bd54126c343 (diff)
aapt build check fix ; DynamicLibraryBundle.isGlueLibComplete() == true if last entry is loaded
aapt build check fix - exe aapt if source are newer than apk DynamicLibraryBundle.isGlueLibComplete() == true if last entry is loaded - fix long standing bug, where GlueLib was not complete if preload dependencies were missing. this even lead to JOGL specific handling of this case .. duh. - added debug info
-rw-r--r--make/build.xml12
-rwxr-xr-xsrc/java/com/jogamp/common/os/DynamicLibraryBundle.java19
2 files changed, 27 insertions, 4 deletions
diff --git a/make/build.xml b/make/build.xml
index b4f74a5..7d6b007 100644
--- a/make/build.xml
+++ b/make/build.xml
@@ -693,7 +693,17 @@
</copy>
</target>
- <target name="android.package" depends="gluegen.cpptasks.detect.os,gluegen.build.check.java" if="isAndroid" unless="gluegen.build.skip.java" >
+ <target name="gluegen.build.check.aapt" depends="init">
+ <uptodate property="gluegen.build.skip.aapt">
+ <srcfiles dir= "." includes="*.xml"/>
+ <srcfiles dir= "${src.java}" includes="**"/>
+ <srcfiles dir= "${c.grammar}" includes="**/*.g"/>
+ <srcfiles dir= "${j.grammar}" includes="**/*.g"/>
+ <mapper type="merge" to="${build}/gluegen.apk"/>
+ </uptodate>
+ </target>
+
+ <target name="android.package" depends="gluegen.cpptasks.detect.os,gluegen.build.check.aapt" if="isAndroid" unless="gluegen.build.skip.aapt" >
<aapt.signed
jarbuilddir="${build}"
diff --git a/src/java/com/jogamp/common/os/DynamicLibraryBundle.java b/src/java/com/jogamp/common/os/DynamicLibraryBundle.java
index 906afcf..7e961cc 100755
--- a/src/java/com/jogamp/common/os/DynamicLibraryBundle.java
+++ b/src/java/com/jogamp/common/os/DynamicLibraryBundle.java
@@ -93,9 +93,9 @@ public class DynamicLibraryBundle implements DynamicLookupHelper {
System.err.println("DynamicLibraryBundle.init Summary: "+info.getClass().getName());
System.err.println(" toolGetProcAddressFuncNameList: "+toolGetProcAddressFuncNameList);
System.err.println(" Tool Lib Names : "+toolLibNames);
- System.err.println(" Tool Lib Loaded: "+getToolLibLoadedNumber()+"/"+getToolLibNumber()+", complete "+isToolLibComplete());
+ System.err.println(" Tool Lib Loaded: "+getToolLibLoadedNumber()+"/"+getToolLibNumber()+" "+Arrays.toString(toolLibLoaded)+", complete "+isToolLibComplete());
System.err.println(" Glue Lib Names : "+glueLibNames);
- System.err.println(" Glue Lib Loaded: "+getGlueLibLoadedNumber()+"/"+getGlueLibNumber()+", complete "+isGlueLibComplete());
+ System.err.println(" Glue Lib Loaded: "+getGlueLibLoadedNumber()+"/"+getGlueLibNumber()+" "+Arrays.toString(glueLibLoaded)+", complete "+isGlueLibComplete());
System.err.println(" All Complete: "+isLibComplete());
}
}
@@ -112,6 +112,12 @@ public class DynamicLibraryBundle implements DynamicLookupHelper {
return toolLibLoadedNumber;
}
+ /**
+ * @return true if all tool libraries are loaded,
+ * otherwise false.
+ *
+ * @see DynamicLibraryBundleInfo#getToolLibNames()
+ */
public final boolean isToolLibComplete() {
return getToolLibNumber() == getToolLibLoadedNumber();
}
@@ -135,8 +141,15 @@ public class DynamicLibraryBundle implements DynamicLookupHelper {
return glueLibLoadedNumber;
}
+ /**
+ * @return true if the last entry has been loaded,
+ * while ignoring the preload dependencies.
+ * Otherwise false.
+ *
+ * @see DynamicLibraryBundleInfo#getGlueLibNames()
+ */
public final boolean isGlueLibComplete() {
- return getGlueLibNumber() == getGlueLibLoadedNumber();
+ return isGlueLibLoaded(getGlueLibNumber() - 1);
}
public final boolean isGlueLibLoaded(int i) {