[Libguestfs] [PATCH] hivex: A few tweaks to enable building in a separate directory
Richard W.M. Jones
rjones at redhat.com
Thu Aug 11 18:40:55 UTC 2011
On Thu, Aug 11, 2011 at 05:24:05PM +0200, Hilko Bengen wrote:
> ---
> configure.ac | 2 +-
> images/Makefile.am | 5 +++--
> lib/Makefile.am | 14 +++++++-------
> ocaml/Makefile.am | 3 ++-
> ocaml/t/hivex_300_fold.ml | 3 +--
> python/run-python-tests | 25 -------------------------
> python/run-python-tests.in | 25 +++++++++++++++++++++++++
> 7 files changed, 39 insertions(+), 38 deletions(-)
> delete mode 100755 python/run-python-tests
> create mode 100755 python/run-python-tests.in
>
> diff --git a/configure.ac b/configure.ac
> index 22b806f..31d20ff 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -434,7 +434,7 @@ AC_CONFIG_FILES([Makefile
> lib/tools/Makefile
> ocaml/Makefile ocaml/META
> perl/Makefile perl/Makefile.PL
> - python/Makefile
> + python/Makefile python/run-python-tests
> po/Makefile.in
> regedit/Makefile
> sh/Makefile
> diff --git a/images/Makefile.am b/images/Makefile.am
> index 2adaed3..e176d3c 100644
> --- a/images/Makefile.am
> +++ b/images/Makefile.am
> @@ -29,7 +29,8 @@ mklarge_LDADD = ../lib/libhivex.la
>
> noinst_DATA = large
>
> -large: mklarge
> - ./mklarge $(srcdir)/minimal large
> +large: minimal mklarge
> + cp -u $(srcdir)/minimal $(builddir)/minimal
> + ./mklarge $(builddir)/minimal $(builddir)/large
>
> CLEANFILES = $(noinst_DATA)
> diff --git a/lib/Makefile.am b/lib/Makefile.am
> index d54aaee..7e5b92b 100644
> --- a/lib/Makefile.am
> +++ b/lib/Makefile.am
> @@ -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)
> diff --git a/ocaml/Makefile.am b/ocaml/Makefile.am
> index c688df0..89a59cd 100644
> --- a/ocaml/Makefile.am
> +++ b/ocaml/Makefile.am
> @@ -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 $@
> diff --git a/ocaml/t/hivex_300_fold.ml b/ocaml/t/hivex_300_fold.ml
> index 0c7bc4f..c8de6e8 100644
> --- a/ocaml/t/hivex_300_fold.ml
> +++ b/ocaml/t/hivex_300_fold.ml
> @@ -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
> diff --git a/python/run-python-tests b/python/run-python-tests
> deleted file mode 100755
> index e8c8c14..0000000
> --- a/python/run-python-tests
> +++ /dev/null
> @@ -1,25 +0,0 @@
> -#!/bin/bash -
> -# hivex Python bindings
> -# Copyright (C) 2009-2011 Red Hat Inc.
> -#
> -# This program is free software; you can redistribute it and/or modify
> -# it under the terms of the GNU General Public License as published by
> -# the Free Software Foundation; either version 2 of the License, or
> -# (at your option) any later version.
> -#
> -# This program is distributed in the hope that it will be useful,
> -# but WITHOUT ANY WARRANTY; without even the implied warranty of
> -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> -# GNU General Public License for more details.
> -#
> -# You should have received a copy of the GNU General Public License
> -# along with this program; if not, write to the Free Software
> -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
> -
> -set -e
> -shopt -s nullglob
> -
> -for f in t/*.py; do
> - basename "$f"
> - python "$f"
> -done
> diff --git a/python/run-python-tests.in b/python/run-python-tests.in
> new file mode 100755
> index 0000000..af51080
> --- /dev/null
> +++ b/python/run-python-tests.in
> @@ -0,0 +1,25 @@
> +#!/bin/bash -
> +# hivex Python bindings
> +# Copyright (C) 2009-2011 Red Hat Inc.
> +#
> +# This program is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 2 of the License, or
> +# (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write to the Free Software
> +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
> +
> +set -e
> +shopt -s nullglob
> +
> +for f in $(srcdir)t/*.py; do
> + basename "$f"
> + @PYTHON@ "$f"
> +done
> --
> 1.7.5.4
Thanks. I will push this shortly.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine. Supports Linux and Windows.
http://et.redhat.com/~rjones/virt-df/
More information about the Libguestfs
mailing list