Updated comments about library loading

This commit is contained in:
Brian Carrier 2014-09-17 07:46:04 -04:00
parent dfe6ebcf7d
commit 09a5d430b3
3 changed files with 24 additions and 11 deletions

View File

@ -1,4 +1,4 @@
Last Updated: March 23, 2013
Last Updated: Sept 17, 2014
This file outlines what it takes to build Autopsy from source.
@ -100,22 +100,29 @@ BACKGROUND:
Here are some notes to shed some light on what is going on during
the build process.
- The Sleuth Kit Java datamodel JAR file has native libraries
that are copied into it.
- The Sleuth Kit Java datamodel JAR file has native JNI libraries
that are copied into it. These JNI libraries have dependencies on
libewf and zlib. On non-Windows platforms, the JNI library also has
a dependency on libtsk (on Windows, it is compiled into libtsk_jni).
- NetBeans uses ant to build Autopsy. The build target copies the
TSK datamodel JAR file into the project. If you want to use the
debug version of the TSK dll, then there is a different ant target
in TSK to copy the debug versions of the dlls.
in the TSK datamodel to copy the debug versions of the dlls.
- On a Windows system, the ant target copies all needed libraries
to the autopsy folder. On a Unix system, the ant taget copies only
the JNI library and then relies on the other libraries (libtsk,
libewf, zilb, etc.) to be installed on the system in their standard
locations (i.e. /usr/local).
- On a Windows system, the compile-time ant target copies the
dependency libraries into the Autopsy code structure so that they can
be found when Autopsy is run and packaged. At run-time, the native
library inside of the JAR file will be extracted and used.
- On a Unix system, the ant taget copies only the JNI library and
then relies on the other libraries (libtsk, libewf, zilb, etc.) to
be installed on the system in their standard locations (i.e.
/usr/local).
- Everytime that you do a source code update of TSK, make sure you
rebuild both the dll and the JAR file.
rebuild both the libtsk_dll, the JAR file, and then rebuild Autopsy
so that it copies the latest data model JAR file.
---------------

View File

@ -4,7 +4,10 @@
<available file="${env.TSK_HOME}/bindings/java/jni/.libs/libtsk_jni.dylib" property="tsk_dylib.present"/>
<available file="${env.TSK_HOME}/bindings/java/jni/.libs/libtsk_jni.so" property="tsk_so.present"/>
</target>
<!-- BC: NOTE I'm not sure this copying is required anymore because the
TSK Data model JAR file should have the libraries inside of it. We've
made that change w/out really maintaining the non-Windows platforms. -->
<!-- OS X -->
<target name="copyTskLibs_dylib" depends="testTSKLibs" if="tsk_dylib.present">
<property environment="env"/>

View File

@ -32,6 +32,9 @@
<available property="win32.TskLib.exists" type="dir" file="${win32.TskLib.path}" />
</target>
<!-- The following copy the libtsk_jni dependencies to the Autopsy
folder structure. libtsk_jni is inside of the JAR file and contains
libtsk and the JNI code. -->
<!-- copy 64-bit dlls into the installer folder -->
<target name="copyWinTskLibs64ToBaseDir" if="win64.TskLib.exists">
<fileset dir="${win64.TskLib.path}" id="win64dlls">