diff --git a/bindings/java/build-unix.xml b/bindings/java/build-unix.xml index d9f4abbb1653dedf9600cb73bfab1c6b43ae5335..d1c5e912bb6e3cf7579caa3bfc01f06b96d7f292 100644 --- a/bindings/java/build-unix.xml +++ b/bindings/java/build-unix.xml @@ -2,7 +2,7 @@ <project name="TSKTestTargets"> <target name="test-precond" description="Traverses the Images stored in the path represented by test-input variable, creates results files stored in the path represented by test-results, and compares them to the standards stored in the path represented by the test-standards variable, always run test-create-standards at least once before before running test." - depends="compile-test, depender"> + depends="compile-test, copyTSKLibs"> <junit fork="on" haltonfailure="yes" dir="."> <sysproperty key="rslt" value="${test-results}"/> <sysproperty key="gold" value="${test-standards}"/> @@ -14,25 +14,38 @@ </target> <target name="test-create-standards-precond" description="Traverses the Images stored in the path represented by test-input variable and creates then stores them to the path represented by the test-standards variable, run test-download-imgs at least once before this." - depends="compile-test, depender"> + depends="compile-test, copyTSKLibs"> <java classname="org.sleuthkit.datamodel.DataModelTestSuite" classpathref="libraries" fork="true" failonerror="true"> <sysproperty key="gold" value="${test-standards}"/> <sysproperty key="inpt" value="${test-input}"/> <sysproperty key="types" value="${test-types}"/> </java> </target> - <target name="depender" - depends="depender1" - unless="present"> - <copy file="./jni/.libs/libtsk_jni.la" tofile="./libtsk_jni.la"/> - <copy file="./jni/.libs/libtsk_jni.0.0.0.dylib" tofile="./libtsk_jni.0.0.0.dylib"/> - <copy file="./jni/.libs/libtsk_jni.0.dylib" tofile="./libtsk_jni.0.dylib"/> - <copy file="./jni/.libs/libtsk_jni.a" tofile="./libtsk_jni.a"/> - <copy file="./jni/.libs/libtsk_jni.dylib" tofile="./libtsk_jni.dylib"/> - </target> - <target name="depender1"> - <available file="./jni/.libs/libtsk_jni.a" property="pres"/> - <fail unless="pres" message="Run make install on The Sleuthkit."/> - <available file="./libtsk_jni.dylib" property="present"/> - </target> -</project> \ No newline at end of file + + + <target name="testTSKLibs"> + <property environment="env"/> + <available file="./jni/.libs/libtsk_jni.dylib" property="tsk_dylib.present"/> + <available file="./jni/.libs/libtsk_jni.so" property="tsk_so.present"/> + <!-- TODO: Add a check here to give a warning if none of these are found + <fail unless="pres" message="Run make install on The Sleuthkit."/> --> + </target> + + <!-- OS X --> + <target name="copyTskLibs_dylib" depends="testTSKLibs" if="tsk_dylib.present"> + <property environment="env"/> + <copy file="./jni/.libs/libtsk_jni.dylib" tofile="./libtsk_jni.jnilib"/> + </target> + + <!-- Non-OS X --> + <target name="copyTskLibs_so" depends="testTSKLibs" if="tsk_so.present"> + <property environment="env"/> + <copy file="./jni/.libs/libtsk_jni.so" tofile="./libtsk_jni.so"/> + </target> + + <target name="copyTSKLibs" depends="copyTskLibs_so,copyTskLibs_dylib"> + <!-- depends targets take care of the actual copying since the file differs on OS X and Linux --> + <!-- This assumes that TSK, libewf, and zlib have been installed on the system and those libraries will be with normal loading approaches --> + </target> + +</project>