X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=ocaml%2FMakefile.am;h=58fa8e3af9eedfcc6b55e74ed33fbe63d5af96ad;hb=f408b757b1d75429fae5fa7630a4fc5451844de7;hp=b3f5e14457ad9c94cf913a800748da5c09b613df;hpb=095c395082d1aad1e8558aa25514ad911e6d193c;p=hivex.git diff --git a/ocaml/Makefile.am b/ocaml/Makefile.am index b3f5e14..58fa8e3 100644 --- a/ocaml/Makefile.am +++ b/ocaml/Makefile.am @@ -31,7 +31,11 @@ AM_CPPFLAGS = \ if HAVE_OCAML -noinst_DATA = mlhivex.cma mlhivex.cmxa META +noinst_DATA = mlhivex.cma META + +if HAVE_OCAMLOPT +noinst_DATA += mlhivex.cmxa +endif OBJS = hivex_c.o hivex.cmo XOBJS = $(OBJS:.cmo=.cmx) @@ -46,7 +50,7 @@ hivex_c.o: hivex_c.c $(CC) $(AM_CPPFLAGS) $(CFLAGS) -fPIC -Wall -c $< TESTS_ENVIRONMENT = \ - LD_LIBRARY_PATH=$(top_builddir)/lib/.libs \ + LD_LIBRARY_PATH=$(top_builddir)/lib/.libs:$(top_builddir)/ocaml \ $(VG) TESTS = \ @@ -59,38 +63,11 @@ TESTS = \ t/hivex_300_fold noinst_DATA += $(TESTS) -t/hivex_005_load: t/hivex_005_load.cmx mlhivex.cmxa - mkdir -p t - $(OCAMLFIND) ocamlopt -cclib -L$(top_builddir)/lib/.libs -I . -package unix -linkpkg mlhivex.cmxa $< -o $@ - -t/hivex_010_open: t/hivex_010_open.cmx mlhivex.cmxa - mkdir -p t - $(OCAMLFIND) ocamlopt -cclib -L$(top_builddir)/lib/.libs -I . -package unix -linkpkg mlhivex.cmxa $< -o $@ - -t/hivex_020_root: t/hivex_020_root.cmx mlhivex.cmxa - mkdir -p t - $(OCAMLFIND) ocamlopt -cclib -L$(top_builddir)/lib/.libs -I . -package unix -linkpkg mlhivex.cmxa $< -o $@ - -t/hivex_100_errors: t/hivex_100_errors.cmx mlhivex.cmxa - mkdir -p t - $(OCAMLFIND) ocamlopt -cclib -L$(top_builddir)/lib/.libs -I . -package unix -linkpkg mlhivex.cmxa $< -o $@ - -t/hivex_110_gc_handle: t/hivex_110_gc_handle.cmx mlhivex.cmxa - mkdir -p t - $(OCAMLFIND) ocamlopt -cclib -L$(top_builddir)/lib/.libs -I . -package unix -linkpkg mlhivex.cmxa $< -o $@ - -t/hivex_200_write: t/hivex_200_write.cmx mlhivex.cmxa - mkdir -p t - $(OCAMLFIND) ocamlopt -cclib -L$(top_builddir)/lib/.libs -I . -package unix -linkpkg mlhivex.cmxa $< -o $@ - -t/hivex_300_fold: t/hivex_300_fold.cmx mlhivex.cmxa - mkdir -p t - $(OCAMLFIND) ocamlopt -cclib -L$(top_builddir)/lib/.libs -I . -package unix -linkpkg mlhivex.cmxa $< -o $@ - -# Need to rebuild the tests from source if the main library has -# changed at all, otherwise we get inconsistent assumptions. -t/%.cmx: t/%.ml mlhivex.cmxa - $(OCAMLFIND) ocamlopt -package unix -linkpkg -c $< -o $@ +# https://www.redhat.com/archives/libguestfs/2011-May/thread.html#00015 +t/%: t/%.cmo mlhivex.cma + $(LIBTOOL) --mode=execute -dlopen $(top_builddir)/lib/libhivex.la \ + $(OCAMLFIND) ocamlc -dllpath $(abs_builddir) -package unix \ + -linkpkg mlhivex.cma $< -o $@ .mli.cmi: $(OCAMLFIND) ocamlc -package unix -c $< -o $@ @@ -117,7 +94,13 @@ install-data-hook: $(OCAMLFIND) install \ -ldconf ignore -destdir $(DESTDIR)$(OCAMLLIB) \ hivex \ - META *.so *.a *.cma *.cmx *.cmxa *.cmi *.mli + META *.so *.a *.cma *.cmi *.mli +if HAVE_OCAMLOPT + $(OCAMLFIND) install \ + -ldconf ignore -destdir $(DESTDIR)$(OCAMLLIB) \ + hivex \ + *.cmx *.cmxa +endif CLEANFILES += $(noinst_DATA)