                   Last Updated: June 12, 2012

This file outlines what it takes to build Autopsy from source.

Note that it currently only works out of the box on Windows.  We
are working on getting the process working under non-WIndows systems.
It generally works, but needs some custom mangling to find the
correct C libraries.


STEPS:
1) Get Java Setup

1a) Download and install 32-bit version of JDK (32-bit is currently
needed even if you have a 64-bit system).

1b) Ensure that JDK_HOME is set to the root JDK directory. 

1c) (optional) Download and install Netbeans IDE (http://netbeans.org/)
Note: Netbeans IDE is not required to build and run Autopsy,
but it is a recommended IDE to use for development of Autopsy modules.


2) Get Sleuth Kit Setup
2a) Download and build the release version of Libewf2 (20120304 or later).  All you need is the dll file.  Note that you will get a launching error if you use libewf 1.
- http://sourceforge.net/projects/libewf/

2b) Set LIBEWF_HOME environment variable to root directory of LIBEWF

2c) Download and build release version of Sleuth Kit (TSK) 4.0.  You
need to build the tsk_jni project.
- At the time of this writing, 4.0 is not released.  You can get it from either
-- GIT: git://github.com/sleuthkit/sleuthkit.git
-- SVN: http://svn.github.com/sleuthkit/sleuthkit.git

2d) Build the TSK JAR file by typing 'ant' in bindings/java from a
command line or by opening the project in NetBeans.

2e) Set TSK_HOME environment variable to the root directory of TSK


3) Get gstreamer Setup

If Autopsy installer is not used, add the following entries to Windows PATH environment variable
(replace GSTREAMER_INSTALL_DIR with the location of the gstreamer root directory):
    GSTREAMER_INSTALL_DIR\bin\;
    GSTREAMER_INSTALL_DIR\lib\gstreamer-0.10\;
If you don't have gstreamer already, you can find a zipped gstreamer distribution in
    AUTOPSYROOT/thirdparty/gstreamer


4) Compile Autopsy
4a) using Netbeans IDE:
- Start NetBeans IDE and open the Autopsy project.
- Choose to build the Autopsy project / module.  It is the highest
level project that will then cause the other modules to be compiled.

4b) without Netbeans IDE (requires JDK and ant >= 1.7.1):
- from root directory of Autopsy source execute:
ant build
(to build Autopsy)
ant run
(to run Autopsy)


BACKGROUND:
Here are some notes to shed some light on what is going on during
the build process.

- Building the TSK library and JAR file place the files inside of
the TSK directory.

- NetBeans uses ant to build Autopsy.  The build target will locate
TSK (and LIBEWF) based on the environment variables and copy the
needed JAR and library files into the DataModel module in the Autopsy
project (see build-X.xml for details).   If you want to use the
debug version of the TSK dll, then edit the copy line in the
build-windows.xml file to copy from the Debug folder.

- Everytime that you do a source code update of TSK, make sure you
rebuild both the dll and the JAR file.


---------------
Brian Carrier
carrier <at> sleuthkit <dot> org
