hivex: A few tweaks to enable building in a separate directory
authorHilko Bengen <bengen@hilluzination.de>
Thu, 11 Aug 2011 15:24:05 +0000 (17:24 +0200)
committerRichard W.M. Jones <rjones@redhat.com>
Thu, 11 Aug 2011 18:52:40 +0000 (19:52 +0100)
A couple of fixes by RWMJ so it still works in the same directory case.

.gitignore
configure.ac
images/Makefile.am
lib/Makefile.am
ocaml/Makefile.am
ocaml/t/hivex_300_fold.ml
python/run-python-tests.in [moved from python/run-python-tests with 94% similarity]

index 0704794..8b06c6a 100644 (file)
@@ -98,6 +98,7 @@ po/remove-potcdate.sin
 python/*.pyc
 python/hivex-py.c
 python/hivex.py
+python/run-python-tests
 regedit/hivexregedit.1
 sh/*.1
 sh/hivexsh
index 22b806f..a02f86b 100644 (file)
@@ -439,6 +439,7 @@ AC_CONFIG_FILES([Makefile
                  regedit/Makefile
                  sh/Makefile
                  xml/Makefile])
+AC_CONFIG_FILES([python/run-python-tests], [chmod +x python/run-python-tests])
 AC_OUTPUT
 
 dnl Produce summary.
index 2adaed3..7f8bd96 100644 (file)
@@ -29,7 +29,9 @@ mklarge_LDADD = ../lib/libhivex.la
 
 noinst_DATA = large
 
-large: mklarge
-       ./mklarge $(srcdir)/minimal large
+large: minimal mklarge
+       cmp -s $(srcdir)/minimal $(builddir)/minimal || \
+           cp $(srcdir)/minimal $(builddir)/minimal
+       ./mklarge $(builddir)/minimal $(builddir)/large
 
 CLEANFILES = $(noinst_DATA)
index d54aaee..7e5b92b 100644 (file)
@@ -33,11 +33,11 @@ libhivex_la_SOURCES = \
 libhivex_la_LIBADD =  ../gnulib/lib/libgnu.la
 libhivex_la_LDFLAGS = \
        -version-info 0:0:0 \
-       $(VERSION_SCRIPT_FLAGS)hivex.syms \
+       $(VERSION_SCRIPT_FLAGS)$(srcdir)/hivex.syms \
        $(LTLIBINTL) \
        $(LTLIBTHREAD)
 libhivex_la_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
-libhivex_la_CPPFLAGS = -I$(top_srcdir)/gnulib/lib
+libhivex_la_CPPFLAGS = -I$(top_srcdir)/gnulib/lib -I$(srcdir)
 
 include_HEADERS = hivex.h
 
@@ -56,10 +56,10 @@ noinst_DATA = \
 
 $(top_builddir)/html/hivex.3.html: hivex.pod
        mkdir -p $(top_builddir)/html
-       cd $(top_builddir) && pod2html \
-         --css 'pod.css' \
-         --htmldir html \
-         --outfile html/hivex.3.html \
-         lib/hivex.pod
+       pod2html \
+         --css $(top_srcdir)/css/pod.css \
+         --htmldir $(top_builddir)/html \
+         --outfile $(top_builddir)/html/hivex.3.html \
+         $<
 
 CLEANFILES = $(man_MANS)
index c688df0..89a59cd 100644 (file)
@@ -64,7 +64,8 @@ TESTS = \
 noinst_DATA += $(TESTS)
 
 # https://www.redhat.com/archives/libguestfs/2011-May/thread.html#00015
-t/%: t/%.cmo mlhivex.cma
+t/%: $(srcdir)/t/%.cmo mlhivex.cma
+       mkdir -p t
        $(LIBTOOL) --mode=execute -dlopen $(top_builddir)/lib/libhivex.la \
          $(OCAMLFIND) ocamlc -dllpath $(abs_builddir) -package unix \
          -linkpkg mlhivex.cma $< -o $@
index 0c7bc4f..c8de6e8 100644 (file)
@@ -21,7 +21,6 @@
 open Unix
 open Printf
 let (//) = Filename.concat
-let srcdir = try Sys.getenv "srcdir" with Not_found -> "."
 
 (* This is a generic function to fold over hives.
  *   fn : 'a -> node -> 'a is called for each node
@@ -36,7 +35,7 @@ let hive_fold h fn fv a root =
   fold a root
 
 let () =
-  let h = Hivex.open_file (srcdir // "../images/large") [] in
+  let h = Hivex.open_file ("../images/large") [] in
 
   (* Count the number of nodes and values in the hive. *)
   let count_node (nodes, values) _ = (nodes+1, values) in
similarity index 94%
rename from python/run-python-tests
rename to python/run-python-tests.in
index e8c8c14..af51080 100755 (executable)
@@ -19,7 +19,7 @@
 set -e
 shopt -s nullglob
 
-for f in t/*.py; do
+for f in $(srcdir)t/*.py; do
   basename "$f"
-  python "$f"
+  @PYTHON@ "$f"
 done