From 00349eee28b12a7274dbe0399d86129c16967c76 Mon Sep 17 00:00:00 2001 From: Jeff Wallace <wallace.je@husky.neu.edu> Date: Fri, 27 Sep 2013 10:59:55 -0400 Subject: [PATCH] Added logic to pass ewf and zlib directories to ant build file. --- bindings/java/Makefile.am | 15 ++++++++++++++- bindings/java/build-unix.xml | 25 +++++++++++++++++++++---- configure.ac | 14 +++++++++++++- 3 files changed, 48 insertions(+), 6 deletions(-) diff --git a/bindings/java/Makefile.am b/bindings/java/Makefile.am index b6b196c62..7b41257ab 100644 --- a/bindings/java/Makefile.am +++ b/bindings/java/Makefile.am @@ -1,11 +1,24 @@ SUBDIRS = jni +Z_PATH=@Z_PATH@ +EWF_PATH=@EWF_PATH@ +ANT_PROPS= + +if X_ZLIB + ANT_PROPS+=-Dlib.z.path=$(Z_PATH) +endif + +if X_LIBEWF + ANT_PROPS+=-Dlib.ewf.path=$(EWF_PATH) +endif + tsk_jar = $(top_builddir)/bindings/java/dist/Tsk_DataModel.jar jardir = $(datadir)/java jar_DATA = $(tsk_jar) + $(tsk_jar): - ant dist + ant dist $(ANT_PROPS) CLEANFILES = $(tsk_jar) diff --git a/bindings/java/build-unix.xml b/bindings/java/build-unix.xml index f1451406e..81edd272e 100644 --- a/bindings/java/build-unix.xml +++ b/bindings/java/build-unix.xml @@ -30,6 +30,9 @@ <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 --> @@ -42,16 +45,16 @@ <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="/usr/lib/libz.dylib"/> - <property name="libewf.jni" location="/usr/local/lib/libewf.dylib"/> + <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="${x86_64}/mac/zlib.dylib"/> - <copy file="${libewf.jni}" tofile="${x86_64}/mac/libewf.dylib"/> + <copy file="${zlib.jni}" tofile="${amd64}/mac/zlib.dylib"/> + <copy file="${libewf.jni}" tofile="${amd64}/mac/libewf.dylib"/> </target> <!-- Non-OS X --> @@ -63,18 +66,32 @@ <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/configure.ac b/configure.ac index 8d6ed482c..5f5aea254 100644 --- a/configure.ac +++ b/configure.ac @@ -153,6 +153,12 @@ AS_IF( [AC_MSG_NOTICE([NOT checking for zlib because with_zlib is no])] ) +AM_CONDITIONAL([X_ZLIB],[test "x$with_zlib" != "xno" && test "x$with_zlib" != "xyes"]) +AS_IF([test "x$with_zlib" != "xno"], + [Z_PATH="${with_zlib}/lib"], + [AC_MSG_NOTICE([failed to make Z_PATH])] +) +AC_SUBST(Z_PATH, $Z_PATH) #needed for sqllite AC_CHECK_LIB(dl, dlopen) @@ -181,10 +187,16 @@ AS_IF([test "x$with_libewf" != "xno"], )] # Check for the header file first to make sure they have the dev install [AC_CHECK_HEADERS([libewf.h], - [AC_CHECK_LIB([ewf], [libewf_get_version])] + [AC_CHECK_LIB([ewf], [libewf_get_version], [], [NO_LIBEWF=true])] )] ) +AM_CONDITIONAL([X_LIBEWF],[test "x$with_libewf" != "xno" && test "x$with_libewf" != "xyes"]) +AS_IF([test "x$with_libewf" != "xno"], + [EWF_PATH="${with_libewf}/lib"], +) +AC_SUBST(EWF_PATH, $EWF_PATH) + # sqlite requires pthread libraries - this was copied from its configure.ac # AC_SEARCH_LIBS(pthread_create, pthread) AC_SEARCH_LIBS(dlopen, dl) -- GitLab