[fixed] NativeCodeGenerator didn't take strings into account for cleanup...
<delete dir="${distDir}"/>\r
</target>\r
\r
+ <!-- gdx jnigen -->\r
+ <target name="gdx-jnigen">\r
+ <ant antfile="../../build-template.xml" dir="extensions/gdx-jnigen">\r
+ <property name="jar" value="gdx-jnigen"/>\r
+ </ant>\r
+ </target>\r
+ \r
<!-- gdx core -->\r
- <target name="gdx-core">\r
+ <target name="gdx-core" depends="gdx-jnigen">\r
+ <path id="classpath">\r
+ <pathelement location="${distDir}/extensions/gdx-jnigen.jar"/>\r
+ </path>\r
<ant antfile="../build-template.xml" dir="gdx">\r
<property name="jar" value="gdx"/>\r
</ant>\r
\r
<!-- compile native code if available -->\r
<target name="check-natives">\r
- <available file="${jni}/build.xml" property="natives-present"/>\r
+ <condition property="natives-present">\r
+ <and>\r
+ <available file="${jni}/build.xml"/>\r
+ <not><os family="windows"/></not>\r
+ </and>\r
+ </condition>\r
</target>\r
<target name="compile-natives" depends="init, check-natives" if="natives-present">\r
<ant antfile="build.xml" target="clean" dir="${jni}"/>\r
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
<classpathentry exported="true" kind="lib" path="libs/bullet-natives.jar"/>\r
<classpathentry combineaccessrules="false" kind="src" path="/gdx"/>\r
- <classpathentry combineaccessrules="false" kind="src" path="/jnigen"/>\r
+ <classpathentry combineaccessrules="false" kind="src" path="/gdx-jnigen"/>\r
<classpathentry kind="output" path="bin"/>\r
</classpath>\r
<?xml version="1.0" encoding="UTF-8"?>\r
<projectDescription>\r
- <name>jnigen</name>\r
+ <name>gdx-jnigen</name>\r
<comment></comment>\r
<projects>\r
</projects>\r
buffer.append(") {\n");\r
\r
// generate ArrayList and direct buffer to pointer statements,\r
- if(javaMethod.hasArrayListOrBuffer) {\r
+ if(javaMethod.hasDisposableArgument) {\r
// direct buffer pointers\r
for(Argument arg: javaMethod.arguments) {\r
if(arg.type == ArgumentType.DirectBuffer) {\r
\r
// generate clean up code for ArrayLists\r
StringBuffer cleanup = new StringBuffer();\r
- if(javaMethod.hasArrayListOrBuffer) {\r
+ if(javaMethod.hasDisposableArgument) {\r
for(Argument arg: javaMethod.arguments) {\r
if(arg.type == ArgumentType.ArrayList) {\r
cleanup.append("\tenv->ReleasePrimitiveArrayCritical(" + NON_POD_PREFIX + arg.name + ", " + arg.name + ", 0);\n");\r
final ArrayList<Argument> arguments;\r
final int startIndex;\r
final int endIndex;\r
- final boolean hasArrayListOrBuffer;\r
+ final boolean hasDisposableArgument;\r
\r
public JavaMethod(String name, String nativeCode,\r
ArrayList<Argument> arguments, int startIndex, int endIndex) {\r
this.startIndex = startIndex;\r
this.endIndex = endIndex;\r
for(Argument arg: arguments) {\r
- if(arg.type == ArgumentType.ArrayList || arg.type == ArgumentType.DirectBuffer) {\r
- hasArrayListOrBuffer = true;\r
+ if(arg.type == ArgumentType.ArrayList || arg.type == ArgumentType.DirectBuffer || arg.type == ArgumentType.String) {\r
+ hasDisposableArgument = true;\r
return;\r
}\r
}\r
- hasArrayListOrBuffer = false;\r
+ hasDisposableArgument = false;\r
}\r
\r
@Override\r
<classpathentry kind="src" path="src"/>\r
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>\r
<classpathentry combineaccessrules="false" kind="src" path="/gdx"/>\r
- <classpathentry combineaccessrules="false" kind="src" path="/jnigen"/>\r
<classpathentry combineaccessrules="false" kind="src" path="/gdx-backend-lwjgl"/>\r
<classpathentry kind="lib" path="libs/stbtruetype-natives.jar"/>\r
+ <classpathentry combineaccessrules="false" kind="src" path="/gdx-openal"/>\r
<classpathentry kind="output" path="bin"/>\r
</classpath>\r