diff --git a/bindings/java/build-unix.xml b/bindings/java/build-unix.xml index 81edd272efaf026818a45c2597e07c798e7624e0..371f69f175d1f05a6d962f96d1864cf02fac4fc1 100644 --- a/bindings/java/build-unix.xml +++ b/bindings/java/build-unix.xml @@ -30,9 +30,6 @@ <available file="./jni/.libs/libtsk_jni.so" property="tsk_so.present"/> <available file="./jni/.libs/libtsk_jni.a" property="present"/> <fail unless="present" message="Run make install on The Sleuthkit."/> - <!-- Default location to find zlib and libewf. Overwritten by properties in makefile --> - <property name="lib.z.path" value="/usr/lib"/> - <property name="lib.ewf.path" value="/usr/local/lib"/> </target> <!-- OS X --> @@ -45,16 +42,10 @@ <property environment="env"/> <property name="jni.dylib" location="${basedir}/jni/.libs/libtsk_jni.dylib" /> <property name="jni.jnilib" value="libtsk_jni.jnilib" /> - <property name="zlib.jni" location="${lib.z.path}/libz.dylib"/> - <property name="libewf.jni" location="${lib.ewf.path}/libewf.dylib"/> <!-- x86_64 --> <copy file="${jni.dylib}" tofile="${x86_64}/mac/${jni.jnilib}"/> - <copy file="${zlib.jni}" tofile="${x86_64}/mac/zlib.dylib"/> - <copy file="${libewf.jni}" tofile="${x86_64}/mac/libewf.dylib"/> <!-- amd64 --> <copy file="${jni.dylib}" tofile="${amd64}/mac/${jni.jnilib}"/> - <copy file="${zlib.jni}" tofile="${amd64}/mac/zlib.dylib"/> - <copy file="${libewf.jni}" tofile="${amd64}/mac/libewf.dylib"/> </target> <!-- Non-OS X --> @@ -66,32 +57,18 @@ <target name="copyLinuxLibs" depends="testTSKLibs" if="tsk_so.present"> <property environment="env"/> <property name="jni.so" location="${basedir}/jni/.libs/libtsk_jni.so" /> - <property name="zlib.so" location="${lib.z.path}/libz.so"/> - <property name="libewf.so" location="${lib.ewf.path}/libewf.so"/> <!-- x86_64 --> <copy file="${jni.so}" tofile="${x86_64}/linux/libtsk_jni.so"/> - <copy file="${zlib.so}" tofile="${x86_64}/linux/libz.so"/> - <copy file="${libewf.so}" tofile="${x86_64}/linux/libewf.so"/> <!-- amd64 --> <copy file="${jni.so}" tofile="${amd64}/linux/libtsk_jni.so"/> - <copy file="${zlib.so}" tofile="${amd64}/linux/libz.so"/> - <copy file="${libewf.so}" tofile="${amd64}/linux/libewf.so"/> <!-- x86 --> <copy file="${jni.so}" tofile="${x86}/linux/libtsk_jni.so"/> - <copy file="${zlib.so}" tofile="${x86}/linux/libz.so"/> - <copy file="${libewf.so}" tofile="${x86}/linux/libewf.so"/> <!-- i386 --> <copy file="${jni.so}" tofile="${i386}/linux/libtsk_jni.so"/> - <copy file="${zlib.so}" tofile="${i386}/linux/libz.so"/> - <copy file="${libewf.so}" tofile="${i386}/linux/libewf.so"/> <!-- i586 --> <copy file="${jni.so}" tofile="${i586}/linux/libtsk_jni.so"/> - <copy file="${zlib.so}" tofile="${i586}/linux/libz.so"/> - <copy file="${libewf.so}" tofile="${i586}/linux/libewf.so"/> <!-- i686 --> <copy file="${jni.so}" tofile="${i686}/linux/libtsk_jni.so"/> - <copy file="${zlib.so}" tofile="${i686}/linux/libz.so"/> - <copy file="${libewf.so}" tofile="${i686}/linux/libewf.so"/> </target> <target name="copyLibs" depends="copyLinuxLibs,copyMacLibs" /> diff --git a/bindings/java/build-windows.xml b/bindings/java/build-windows.xml index 821ae120fb659a6ad14e1e2d3426057d441ad567..f382803d86ca0a6ad3b2c997fbf692ab35172d09 100644 --- a/bindings/java/build-windows.xml +++ b/bindings/java/build-windows.xml @@ -52,65 +52,18 @@ </target> <target name="copyWinLibs64" depends="checkLibDirs" if="win64.exists"> - <property name="win64dir" location="${basedir}/../../win32/x64/${tsk.config}" /> + <property name="tsk.jni.64" location="${basedir}/../../win32/x64/${tsk.config}/libtsk_jni.dll" /> - <fileset dir="${win64dir}" id="win64dlls"> - <include name="*.dll" /> - </fileset> - <fileset dir="${crt}/win64" id="crt64dlls"> - <include name="*.dll" /> - </fileset> - - <copy todir="${amd64}/win" overwrite="true"> - <fileset refid="win64dlls" /> - </copy> - <copy todir="${amd64}/win" overwrite="true"> - <fileset refid="crt64dlls" /> - </copy> - - <copy todir="${x86_64}/win" overwrite="true"> - <fileset refid="win64dlls" /> - </copy> - <copy todir="${x86_64}/win" overwrite="true"> - <fileset refid="crt64dlls" /> - </copy> + <copy file="${tsk.jni.64}" todir="${amd64}/win" overwrite="true"/> + <copy file="${tsk.jni.64}" todir="${x86_64}/win" overwrite="true"/> </target> <target name="copyWinLibs32" depends="checkLibDirs" if="win32.exists"> - <property name="win32dir" location="${basedir}/../../win32/${tsk.config}" /> - <fileset dir="${win32dir}" id="win32dlls"> - <include name="*.dll" /> - </fileset> - <fileset dir="${crt}/win32" id="crt32dlls"> - <include name="*.dll" /> - </fileset> - - <copy todir="${i386}/win" overwrite="true"> - <fileset refid="win32dlls" /> - </copy> - <copy todir="${i386}/win" overwrite="true"> - <fileset refid="crt32dlls" /> - </copy> - - <copy todir="${x86}/win" overwrite="true"> - <fileset refid="win32dlls" /> - </copy> - <copy todir="${x86}/win" overwrite="true"> - <fileset refid="crt32dlls" /> - </copy> - - <copy todir="${i586}/win" overwrite="true"> - <fileset refid="win32dlls" /> - </copy> - <copy todir="${i586}/win" overwrite="true"> - <fileset refid="crt32dlls" /> - </copy> + <property name="tsk.jni.32" location="${basedir}/../../win32/${tsk.config}/libtsk_jni.dll" /> - <copy todir="${i686}/win" overwrite="true"> - <fileset refid="win32dlls" /> - </copy> - <copy todir="${i686}/win" overwrite="true"> - <fileset refid="crt32dlls" /> - </copy> + <copy file="${tsk.jni.32}" todir="${i386}/win" overwrite="true"/> + <copy file="${tsk.jni.32}" todir="${x86}/win" overwrite="true"/> + <copy file="${tsk.jni.32}" todir="${i586}/win" overwrite="true"/> + <copy file="${tsk.jni.32}" todir="${i686}/win" overwrite="true"/> </target> </project> diff --git a/bindings/java/build.xml b/bindings/java/build.xml index dcd3a31ba7b96eb9ee714c92b41eb16ed7317cd6..f01f162a928a9f77307a5754464710d2569db375 100755 --- a/bindings/java/build.xml +++ b/bindings/java/build.xml @@ -27,7 +27,6 @@ <property name="i386" location="build/NATIVELIBS/i386" /> <property name="i586" location="build/NATIVELIBS/i586" /> <property name="i686" location="build/NATIVELIBS/i686"/> - <property name="crt" location="${basedir}/crt" /> <path id="libraries"> <fileset dir="${lib}"> diff --git a/bindings/java/src/org/sleuthkit/datamodel/LibraryUtils.java b/bindings/java/src/org/sleuthkit/datamodel/LibraryUtils.java index d56ae1b52309e6d3ebd60d6c1baddf6627de180b..be8685ff9cb1831fb90c32d6118d74a53f5f5d35 100644 --- a/bindings/java/src/org/sleuthkit/datamodel/LibraryUtils.java +++ b/bindings/java/src/org/sleuthkit/datamodel/LibraryUtils.java @@ -34,10 +34,6 @@ public class LibraryUtils { public static final String[] EXTS = new String[] { ".so", ".dylib", ".dll", ".jnilib" }; - - public static final Lib[] CRT_LIBS = new Lib[] { Lib.MSVCP, Lib.MSVCR }; - - public static final Lib[] OTHER_LIBS = new Lib[] { Lib.ZLIB, Lib.LIBEWF }; /** * The libraries the TSK Datamodel needs. @@ -66,51 +62,6 @@ public String getUnixName() { } } - /** - * Load all libraries needed for the current platform except the TSK JNI. - * - * @return - */ - public static boolean loadAuxilliaryLibs() { - System.out.println("Java lib path: " + System.getProperty("java.library.path")); - boolean loaded = true; - if (LibraryUtils.isWindows()) { - loaded = LibraryUtils.loadCRTLibs(); - } - - // Always try to load from jar first. - for(Lib lib : LibraryUtils.getLibs()) { - // Always try to load from jar first. - loaded = LibraryUtils.loadLibFromJar(lib); - if (!loaded) { - // if that fails, try to load from system - loaded = loadLibFromSystem(lib); - } - if (!loaded) { - System.out.println("SleuthkitJNI: failed to load " + lib.getLibName()); - } else { - System.out.println("SleuthkitJNI: loaded " + lib.getLibName()); - } - } - return loaded; - } - - /** - * Try to load the given Library from the System path. - * - * @param lib - * @return - */ - private static boolean loadLibFromSystem(Lib lib) { - String libName = (isWindows() ? lib.getLibName() : lib.getUnixName()); - try { - System.loadLibrary(libName); - } catch (UnsatisfiedLinkError e) { - return false; - } - return true; - } - /** * Load the Sleuthkit JNI. * @@ -125,42 +76,6 @@ public static boolean loadSleuthkitJNI() { } return loaded; } - - /** Load the CRT Libraries. - * - * @return - */ - private static boolean loadCRTLibs() { - boolean loaded = true; - try { - // on windows force loading ms crt dependencies first - // in case linker can't find them on some systems - // Note: if shipping with a different CRT version, this will only print a warning - // and try to use linker mechanism to find the correct versions of libs. - // We should update this if we officially switch to a new version of CRT/compiler - for(LibraryUtils.Lib crt : LibraryUtils.getCRTLibs()) { - loaded = LibraryUtils.loadLibFromJar(crt); - if(!loaded) { - System.out.println("SleuthkitJNI: failed to load " + crt.getLibName()); - } else { - System.out.println("SleuthkitJNI: loaded " + crt.getLibName()); - } - } - } catch (UnsatisfiedLinkError e1) { - System.out.println(e1.toString()); - try { - //Try to load from system path. - System.out.println("Can't find CRT libraries, attempting to load from System.loadLibrary"); - System.loadLibrary("msvcr100"); - System.loadLibrary("msvcp100"); - loaded = true; - } catch (UnsatisfiedLinkError e2) { - System.out.println("SleuthkitJNI: error loading CRT libraries, " + e2.toString()); - loaded = false; - } - } - return loaded; - } /** * Get the name of the current platform. @@ -265,12 +180,4 @@ private static boolean loadLibFromJar(Lib library) { } return true; } - - private static Lib[] getCRTLibs() { - return CRT_LIBS; - } - - private static Lib[] getLibs() { - return OTHER_LIBS; - } } diff --git a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitJNI.java b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitJNI.java index 2d75ca64b1d27b8f81a40fdd461f3854154e284f..8653c39c83a017ced0f66543acb5ac76af79e051 100644 --- a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitJNI.java +++ b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitJNI.java @@ -118,7 +118,6 @@ public class SleuthkitJNI { //Linked library loading static { - LibraryUtils.loadAuxilliaryLibs(); LibraryUtils.loadSleuthkitJNI(); }