use backport of upstream commit f75142c577255b30f2a8e1d27baa5fd185594197
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libguestfs?expand=0&rev=279
This commit is contained in:
parent
820099f8db
commit
d2d5635662
@ -1,111 +1,71 @@
|
||||
From bf074c1343edec1c85079157e9877f79d85c376c Mon Sep 17 00:00:00 2001
|
||||
From 26cb4963efe2345f5dcbb16e66b127012dd5289a Mon Sep 17 00:00:00 2001
|
||||
From: Olaf Hering <olaf@aepfle.de>
|
||||
Date: Wed, 26 Feb 2014 11:08:36 +0100
|
||||
Subject: ocamlopt
|
||||
|
||||
Signed-off-by: Olaf Hering <olaf@aepfle.de>
|
||||
---
|
||||
builder/Makefile.am | 50 ++++++++++++++++++++++++++++++++++++++----
|
||||
builder/Makefile.am | 18 +++++++++++++++-
|
||||
configure.ac | 2 ++
|
||||
mllib/Makefile.am | 54 ++++++++++++++++++++++++++++++++++++++++++----
|
||||
ocaml/Makefile.am | 32 ++++++++++++++++++++++-----
|
||||
ocaml/examples/Makefile.am | 25 +++++++++++++++++++--
|
||||
resize/Makefile.am | 43 ++++++++++++++++++++++++++++++++----
|
||||
sparsify/Makefile.am | 39 +++++++++++++++++++++++++++++----
|
||||
sysprep/Makefile.am | 40 ++++++++++++++++++++++++++++++++--
|
||||
8 files changed, 260 insertions(+), 25 deletions(-)
|
||||
mllib/Makefile.am | 54 ++++++++++++++++++++++++++++++++--------------
|
||||
ocaml/Makefile.am | 35 +++++++++++++++++++++---------
|
||||
ocaml/examples/Makefile.am | 13 +++++++++++
|
||||
resize/Makefile.am | 18 +++++++++++++++-
|
||||
sparsify/Makefile.am | 18 +++++++++++++++-
|
||||
sysprep/Makefile.am | 18 +++++++++++++++-
|
||||
8 files changed, 146 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/builder/Makefile.am b/builder/Makefile.am
|
||||
index b8bf6ac..83ef46b 100644
|
||||
index b8bf6ac..80646c1 100644
|
||||
--- a/builder/Makefile.am
|
||||
+++ b/builder/Makefile.am
|
||||
@@ -43,7 +43,30 @@ SOURCES = \
|
||||
@@ -43,7 +43,7 @@ SOURCES = \
|
||||
if HAVE_OCAML
|
||||
|
||||
# Note this list must be in dependency order.
|
||||
-OBJECTS = \
|
||||
+OBJECTS_bc = \
|
||||
+ $(top_builddir)/mllib/libdir.cmo \
|
||||
+ $(top_builddir)/mllib/common_gettext.cmo \
|
||||
+ $(top_builddir)/mllib/common_utils.cmo \
|
||||
+ $(top_builddir)/mllib/urandom.cmo \
|
||||
+ $(top_builddir)/mllib/random_seed.cmo \
|
||||
+ $(top_builddir)/mllib/hostname.cmo \
|
||||
+ $(top_builddir)/mllib/firstboot.cmo \
|
||||
+ $(top_builddir)/mllib/perl_edit.cmo \
|
||||
+ $(top_builddir)/mllib/crypt-c.o \
|
||||
+ $(top_builddir)/mllib/crypt.cmo \
|
||||
+ $(top_builddir)/mllib/fsync-c.o \
|
||||
+ $(top_builddir)/mllib/fsync.cmo \
|
||||
+ $(top_builddir)/mllib/password.cmo \
|
||||
+ $(top_builddir)/mllib/config.cmo \
|
||||
+ get_kernel.cmo \
|
||||
+ downloader.cmo \
|
||||
+ sigchecker.cmo \
|
||||
+ index_parser.cmo \
|
||||
+ list_entries.cmo \
|
||||
+ cmdline.cmo \
|
||||
+ builder.cmo
|
||||
+
|
||||
+OBJECTS_opt = \
|
||||
+deps = \
|
||||
$(top_builddir)/mllib/libdir.cmx \
|
||||
$(top_builddir)/mllib/common_gettext.cmx \
|
||||
$(top_builddir)/mllib/common_utils.cmx \
|
||||
@@ -66,6 +89,12 @@ OBJECTS = \
|
||||
@@ -66,6 +66,12 @@ OBJECTS = \
|
||||
cmdline.cmx \
|
||||
builder.cmx
|
||||
|
||||
+if HAVE_OCAMLOPT
|
||||
+FINAL_BINARY = virt-builder.opt
|
||||
+OBJECTS = $(deps)
|
||||
+else
|
||||
+FINAL_BINARY = virt-builder.bc
|
||||
+OBJECTS = $(patsubst %.cmx,%.cmo,$(deps))
|
||||
+endif
|
||||
+
|
||||
bin_SCRIPTS = virt-builder
|
||||
|
||||
# -I $(top_builddir)/src/.libs is a hack which forces corresponding -L
|
||||
@@ -73,7 +102,6 @@ bin_SCRIPTS = virt-builder
|
||||
# installed copy of libguestfs.
|
||||
OCAMLPACKAGES = \
|
||||
-package str,unix \
|
||||
- -I $(top_builddir)/src/.libs \
|
||||
-I $(top_builddir)/ocaml \
|
||||
-I $(top_builddir)/mllib
|
||||
if HAVE_OCAML_PKG_GETTEXT
|
||||
@@ -81,15 +109,29 @@ OCAMLPACKAGES += -package gettext-stub
|
||||
endif
|
||||
|
||||
@@ -83,12 +89,22 @@ endif
|
||||
OCAMLCFLAGS = -g -warn-error CDEFLMPSUVYZX $(OCAMLPACKAGES)
|
||||
-OCAMLOPTFLAGS = $(OCAMLCFLAGS)
|
||||
+OCAMLOPTFLAGS = \
|
||||
+ -I $(top_builddir)/src/.libs \
|
||||
+ $(OCAMLCFLAGS)
|
||||
OCAMLOPTFLAGS = $(OCAMLCFLAGS)
|
||||
|
||||
-virt-builder: $(OBJECTS)
|
||||
+virt-builder.bc: $(OBJECTS_bc)
|
||||
+ $(top_builddir)/libtool -dlopen $(top_builddir)/src/.libs/libguestfs.la --mode=execute \
|
||||
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
|
||||
+ -custom \
|
||||
+ mlguestfs.cma -linkpkg $^ \
|
||||
+ -cclib '-lncurses -lcrypt' \
|
||||
+ $(OCAML_GCOV_LDFLAGS) \
|
||||
+ -o $@
|
||||
+
|
||||
+virt-builder.opt: $(OBJECTS_opt)
|
||||
+if HAVE_OCAMLOPT
|
||||
virt-builder: $(OBJECTS)
|
||||
$(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \
|
||||
mlguestfs.cmxa -linkpkg $^ \
|
||||
-cclib '-lncurses -lcrypt' \
|
||||
$(OCAML_GCOV_LDFLAGS) \
|
||||
-o $@
|
||||
+else
|
||||
+virt-builder: $(OBJECTS)
|
||||
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
|
||||
+ mlguestfs.cma -linkpkg $^ \
|
||||
+ -cclib '-lncurses -lcrypt' \
|
||||
+ -custom \
|
||||
+ $(OCAML_GCOV_LDFLAGS) \
|
||||
+ -o $@
|
||||
+endif
|
||||
|
||||
+virt-builder: $(FINAL_BINARY)
|
||||
+ cp -vf $< $@
|
||||
+
|
||||
.mli.cmi:
|
||||
$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@
|
||||
.ml.cmo:
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index d7430db..d0063e8 100644
|
||||
index d7430db..e57bbf7 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1024,6 +1024,8 @@ AS_IF([test "x$enable_ocaml" != "xno"],[
|
||||
@ -113,114 +73,113 @@ index d7430db..d0063e8 100644
|
||||
AM_CONDITIONAL([HAVE_OCAML],
|
||||
[test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"])
|
||||
+AM_CONDITIONAL([HAVE_OCAMLOPT],
|
||||
+ [test "x$OCAMLOPT" != "xno" && test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"])
|
||||
+ [test "x$OCAMLOPT" != "xno" && test "x$OCAMLFIND" != "xno"])
|
||||
AM_CONDITIONAL([HAVE_OCAMLDOC],
|
||||
[test "x$OCAMLDOC" != "xno"])
|
||||
|
||||
diff --git a/mllib/Makefile.am b/mllib/Makefile.am
|
||||
index 8c8d508..4312283 100644
|
||||
index 8c8d508..a685310 100644
|
||||
--- a/mllib/Makefile.am
|
||||
+++ b/mllib/Makefile.am
|
||||
@@ -62,7 +62,31 @@ if HAVE_OCAML
|
||||
@@ -62,6 +62,22 @@ if HAVE_OCAML
|
||||
# - We're not actually building a functioning program here, we're just
|
||||
# linking everything together to check all the modules build OK.
|
||||
# - This list must be in dependency order.
|
||||
-OBJECTS = \
|
||||
+OBJECTS_bc = \
|
||||
+ $(top_builddir)/fish/guestfish-progress.o \
|
||||
+ $(top_builddir)/fish/guestfish-uri.o \
|
||||
+ tty-c.o \
|
||||
+ fsync-c.o \
|
||||
+ progress-c.o \
|
||||
+ uri-c.o \
|
||||
+ crypt-c.o \
|
||||
+ config.cmo \
|
||||
+ libdir.cmo \
|
||||
+ common_gettext.cmo \
|
||||
+ common_utils.cmo \
|
||||
+ urandom.cmo \
|
||||
+ random_seed.cmo \
|
||||
+ hostname.cmo \
|
||||
+ firstboot.cmo \
|
||||
+ perl_edit.cmo \
|
||||
+ tTY.cmo \
|
||||
+ fsync.cmo \
|
||||
+ progress.cmo \
|
||||
+ uRI.cmo \
|
||||
+ crypt.cmo \
|
||||
+ password.cmo
|
||||
+ocaml_modules = config \
|
||||
+ libdir \
|
||||
+ common_gettext \
|
||||
+ common_utils \
|
||||
+ urandom \
|
||||
+ random_seed \
|
||||
+ hostname \
|
||||
+ firstboot \
|
||||
+ perl_edit \
|
||||
+ tTY \
|
||||
+ fsync \
|
||||
+ progress \
|
||||
+ uRI \
|
||||
+ crypt \
|
||||
+ password
|
||||
+
|
||||
+OBJECTS_opt = \
|
||||
OBJECTS = \
|
||||
$(top_builddir)/fish/guestfish-progress.o \
|
||||
$(top_builddir)/fish/guestfish-uri.o \
|
||||
tty-c.o \
|
||||
@@ -86,31 +110,53 @@ OBJECTS = \
|
||||
crypt.cmx \
|
||||
password.cmx
|
||||
|
||||
@@ -69,22 +85,13 @@ OBJECTS = \
|
||||
fsync-c.o \
|
||||
progress-c.o \
|
||||
uri-c.o \
|
||||
- crypt-c.o \
|
||||
- config.cmx \
|
||||
- libdir.cmx \
|
||||
- common_gettext.cmx \
|
||||
- common_utils.cmx \
|
||||
- urandom.cmx \
|
||||
- random_seed.cmx \
|
||||
- hostname.cmx \
|
||||
- firstboot.cmx \
|
||||
- perl_edit.cmx \
|
||||
- tTY.cmx \
|
||||
- fsync.cmx \
|
||||
- progress.cmx \
|
||||
- uRI.cmx \
|
||||
- crypt.cmx \
|
||||
- password.cmx
|
||||
+ crypt-c.o
|
||||
+
|
||||
+if HAVE_OCAMLOPT
|
||||
+FINAL_BINARY = dummy.opt
|
||||
+OBJECTS += $(patsubst %,%.cmx,$(ocaml_modules))
|
||||
+else
|
||||
+FINAL_BINARY = dummy.bc
|
||||
+OBJECTS += $(patsubst %,%.cmo,$(ocaml_modules))
|
||||
+endif
|
||||
|
||||
noinst_SCRIPTS = dummy
|
||||
|
||||
# -I $(top_builddir)/src/.libs is a hack which forces corresponding -L
|
||||
# option to be passed to gcc, so we don't try linking against an
|
||||
# installed copy of libguestfs.
|
||||
-OCAMLPACKAGES = -package str,unix -I $(top_builddir)/src/.libs -I ../ocaml
|
||||
+OCAMLPACKAGES = \
|
||||
+ -package str,unix \
|
||||
+ -I $(top_builddir)/ocaml
|
||||
+
|
||||
if HAVE_OCAML_PKG_GETTEXT
|
||||
OCAMLPACKAGES += -package gettext-stub
|
||||
endif
|
||||
|
||||
OCAMLCFLAGS = -g -warn-error CDEFLMPSUVYZX $(OCAMLPACKAGES)
|
||||
-OCAMLOPTFLAGS = $(OCAMLCFLAGS)
|
||||
+OCAMLOPTFLAGS = \
|
||||
+ -I $(top_builddir)/src/.libs \
|
||||
+ $(OCAMLCFLAGS)
|
||||
|
||||
OCAMLCLIBS = \
|
||||
$(LIBXML2_LIBS) -lncurses -lcrypt \
|
||||
-L../src/.libs -lutils \
|
||||
@@ -105,11 +112,20 @@ OCAMLCLIBS = \
|
||||
-L../gnulib/lib/.libs -lgnu
|
||||
|
||||
-dummy: $(OBJECTS)
|
||||
+dummy.bc: $(OBJECTS_bc)
|
||||
+ $(top_builddir)/libtool -dlopen $(top_builddir)/src/.libs/libguestfs.la --mode=execute \
|
||||
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
|
||||
+ -custom \
|
||||
+ mlguestfs.cma -linkpkg $^ \
|
||||
+ -cclib '$(OCAMLCLIBS)' \
|
||||
+ $(OCAML_GCOV_LDFLAGS) \
|
||||
+ -o $@
|
||||
+
|
||||
+dummy.opt: $(OBJECTS_opt)
|
||||
dummy: $(OBJECTS)
|
||||
+if HAVE_OCAMLOPT
|
||||
$(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \
|
||||
mlguestfs.cmxa -linkpkg $^ \
|
||||
-cclib '$(OCAMLCLIBS)' \
|
||||
$(OCAML_GCOV_LDFLAGS) \
|
||||
-o $@
|
||||
+else
|
||||
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
|
||||
+ mlguestfs.cma -linkpkg $^ \
|
||||
+ -cclib '$(OCAMLCLIBS)' \
|
||||
+ -custom \
|
||||
+ $(OCAML_GCOV_LDFLAGS) \
|
||||
+ -o $@
|
||||
+endif
|
||||
|
||||
+dummy: $(FINAL_BINARY)
|
||||
+ cp -vf $< $@
|
||||
+
|
||||
.mli.cmi:
|
||||
$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@
|
||||
.ml.cmo:
|
||||
@@ -142,9 +158,15 @@ DEFAULT_INCLUDES = \
|
||||
|
||||
check_SCRIPTS = common_utils_tests
|
||||
|
||||
+if HAVE_OCAMLOPT
|
||||
common_utils_tests: common_gettext.cmx common_utils.cmx common_utils_tests.cmx
|
||||
$(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \
|
||||
mlguestfs.cmxa -linkpkg $^ -cclib -lncurses -o $@
|
||||
+else
|
||||
+common_utils_tests: common_gettext.cmo common_utils.cmo common_utils_tests.cmo
|
||||
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
|
||||
+ mlguestfs.cma -linkpkg $^ -cclib -lncurses -o $@
|
||||
+endif
|
||||
|
||||
TESTS_ENVIRONMENT = $(top_builddir)/run --test
|
||||
|
||||
diff --git a/ocaml/Makefile.am b/ocaml/Makefile.am
|
||||
index 5dd2c9b..43e0c59 100644
|
||||
index 5dd2c9b..698e13a 100644
|
||||
--- a/ocaml/Makefile.am
|
||||
+++ b/ocaml/Makefile.am
|
||||
@@ -37,10 +37,25 @@ CLEANFILES += t/*.cmi t/*.cmo t/*.cmx t/*.o t/*.a t/*.so
|
||||
@@ -37,10 +37,18 @@ CLEANFILES += t/*.cmi t/*.cmo t/*.cmx t/*.o t/*.a t/*.so
|
||||
|
||||
if HAVE_OCAML
|
||||
|
||||
+DATA_HOOK_FILES = META *.so *.a *.cma \
|
||||
+ *.cmi $(srcdir)/*.mli
|
||||
+DATA_HOOK_FILES = META *.so *.a *.cma *.cmi $(srcdir)/*.mli
|
||||
+if HAVE_OCAMLOPT
|
||||
+DATA_HOOK_FILES += *.cmx *.cmxa
|
||||
+endif
|
||||
@ -229,56 +188,56 @@ index 5dd2c9b..43e0c59 100644
|
||||
OCAMLOPTFLAGS = $(OCAMLCFLAGS)
|
||||
|
||||
-noinst_DATA = mlguestfs.cma mlguestfs.cmxa META
|
||||
+noinst_DATA = META
|
||||
+noinst_DATA = mlguestfs.cma META
|
||||
+if HAVE_OCAMLOPT
|
||||
+noinst_DATA += mlguestfs.cma
|
||||
+noinst_DATA += mlguestfs.cmxa
|
||||
+endif
|
||||
+
|
||||
+guestfs_deps = guestfs.cmo
|
||||
+if HAVE_OCAMLOPT
|
||||
+guestfs_deps += guestfs.cmx
|
||||
+noinst_DATA += mlguestfs.cmxa
|
||||
+endif
|
||||
|
||||
# Build the C part into a library, so that automake handles the C
|
||||
# compilation step for us. Note that we don't directly use this
|
||||
@@ -55,13 +70,15 @@ CLEANFILES += stamp-mlguestfs
|
||||
|
||||
mlguestfs.cma mlguestfs.cmxa: stamp-mlguestfs
|
||||
@@ -51,18 +59,15 @@ noinst_LIBRARIES = libguestfsocaml.a
|
||||
# 'libmlguestfs.a' and if run at the same time, they will stomp on or
|
||||
# corrupt each others copy. Hence we have to serialize the calls.
|
||||
|
||||
-CLEANFILES += stamp-mlguestfs
|
||||
-
|
||||
-mlguestfs.cma mlguestfs.cmxa: stamp-mlguestfs
|
||||
-
|
||||
-stamp-mlguestfs: libguestfsocaml.a guestfs.cmo guestfs.cmx
|
||||
+stamp-mlguestfs: libguestfsocaml.a $(guestfs_deps)
|
||||
+mlguestfs.cma: libguestfsocaml.a guestfs.cmo
|
||||
$(OCAMLMKLIB) -o mlguestfs \
|
||||
$(libguestfsocaml_a_OBJECTS) guestfs.cmo \
|
||||
-L$(top_builddir)/src/.libs -lguestfs
|
||||
+if HAVE_OCAMLOPT
|
||||
+
|
||||
+mlguestfs.cmxa: libguestfsocaml.a guestfs.cmx
|
||||
$(OCAMLMKLIB) -o mlguestfs \
|
||||
$(libguestfsocaml_a_OBJECTS) guestfs.cmx \
|
||||
-L$(top_builddir)/src/.libs -lguestfs
|
||||
+endif
|
||||
touch $@
|
||||
- touch $@
|
||||
|
||||
libguestfsocaml_a_CPPFLAGS = \
|
||||
@@ -121,11 +138,16 @@ test_progs_opt += \
|
||||
-DGUESTFS_PRIVATE=1 \
|
||||
@@ -121,11 +126,17 @@ test_progs_opt += \
|
||||
t/guestfs_430_progress_messages.opt
|
||||
endif
|
||||
|
||||
-test_progs_all = $(test_progs_bc) $(test_progs_opt)
|
||||
+test_progs_all = $(test_progs_bc)
|
||||
+bindtests_all = bindtests.bc
|
||||
+if HAVE_OCAMLOPT
|
||||
+test_progs_all += $(test_progs_opt)
|
||||
+bindtests_all += bindtests.opt
|
||||
+endif
|
||||
|
||||
TESTS = run-bindtests $(test_progs_all)
|
||||
|
||||
-noinst_DATA += bindtests.bc bindtests.opt $(test_progs_all)
|
||||
+noinst_DATA += $(bindtests_all) $(test_progs_all)
|
||||
+noinst_DATA += bindtests.bc $(test_progs_all)
|
||||
+if HAVE_OCAMLOPT
|
||||
+noinst_DATA += bindtests.opt
|
||||
+endif
|
||||
|
||||
%.bc: %.cmo mlguestfs.cma
|
||||
$(top_builddir)/libtool -dlopen $(top_builddir)/src/.libs/libguestfs.la --mode=execute \
|
||||
@@ -171,7 +193,7 @@ install-data-hook:
|
||||
@@ -171,10 +182,14 @@ install-data-hook:
|
||||
$(OCAMLFIND) install \
|
||||
-ldconf ignore -destdir $(DESTDIR)$(OCAMLLIB) \
|
||||
guestfs \
|
||||
@ -287,281 +246,187 @@ index 5dd2c9b..43e0c59 100644
|
||||
rm $(DESTDIR)$(OCAMLLIB)/guestfs/bindtests.*
|
||||
rm $(DESTDIR)$(OCAMLLIB)/guestfs/libguestfsocaml.a
|
||||
|
||||
CLEANFILES += $(noinst_DATA)
|
||||
|
||||
endif
|
||||
+
|
||||
+# Tell version 3.79 and up of GNU make to not build goals in this
|
||||
+# directory in parallel.
|
||||
+.NOTPARALLEL:
|
||||
diff --git a/ocaml/examples/Makefile.am b/ocaml/examples/Makefile.am
|
||||
index 200a0aa..3dadf03 100644
|
||||
index 200a0aa..472e180 100644
|
||||
--- a/ocaml/examples/Makefile.am
|
||||
+++ b/ocaml/examples/Makefile.am
|
||||
@@ -47,14 +47,35 @@ if HAVE_OCAML
|
||||
@@ -49,6 +49,7 @@ noinst_SCRIPTS = create_disk inspect_vm
|
||||
|
||||
noinst_SCRIPTS = create_disk inspect_vm
|
||||
|
||||
+if HAVE_OCAMLOPT
|
||||
+FINAL_BINARY_create_disk = create_disk.opt
|
||||
+FINAL_BINARY_inspect_vm = inspect_vm.opt
|
||||
+else
|
||||
+FINAL_BINARY_create_disk = create_disk.bc
|
||||
+FINAL_BINARY_inspect_vm = inspect_vm.bc
|
||||
+endif
|
||||
OCAMLFINDFLAGS = -cclib -L$(top_builddir)/src/.libs
|
||||
|
||||
-create_disk: create_disk.ml
|
||||
+create_disk.bc: create_disk.ml
|
||||
+ $(top_builddir)/libtool -dlopen $(top_builddir)/src/.libs/libguestfs.la --mode=execute \
|
||||
+ $(OCAMLFIND) ocamlc $(OCAMLFINDFLAGS) -package unix -linkpkg \
|
||||
+ -custom \
|
||||
+ -warn-error A -I .. mlguestfs.cma $< -o $@
|
||||
+create_disk.opt: create_disk.ml
|
||||
+if HAVE_OCAMLOPT
|
||||
create_disk: create_disk.ml
|
||||
$(OCAMLFIND) ocamlopt $(OCAMLFINDFLAGS) -package unix -linkpkg \
|
||||
-warn-error A -I .. mlguestfs.cmxa $< -o $@
|
||||
|
||||
-inspect_vm: inspect_vm.ml
|
||||
+inspect_vm.bc: inspect_vm.ml
|
||||
+ $(top_builddir)/libtool -dlopen $(top_builddir)/src/.libs/libguestfs.la --mode=execute \
|
||||
+ $(OCAMLFIND) ocamlc $(OCAMLFINDFLAGS) -package unix -linkpkg \
|
||||
+ -custom \
|
||||
+ -warn-error A -I .. mlguestfs.cma $< -o $@
|
||||
+inspect_vm.opt: inspect_vm.ml
|
||||
@@ -56,5 +57,17 @@ create_disk: create_disk.ml
|
||||
inspect_vm: inspect_vm.ml
|
||||
$(OCAMLFIND) ocamlopt $(OCAMLFINDFLAGS) -package unix -linkpkg \
|
||||
-warn-error A -I .. mlguestfs.cmxa $< -o $@
|
||||
+else
|
||||
+
|
||||
+# This avoids:
|
||||
+# Error: Error on dynamically loaded library: ../dllmlguestfs.so: libguestfs.so.0: cannot open shared object file: No such file or directory
|
||||
+create_disk: create_disk.ml
|
||||
+ $(top_builddir)/run $(OCAMLFIND) ocamlc $(OCAMLFINDFLAGS) -package unix -linkpkg \
|
||||
+ -warn-error A -I .. mlguestfs.cma $< -o $@
|
||||
+
|
||||
+inspect_vm: inspect_vm.ml
|
||||
+ $(top_builddir)/run $(OCAMLFIND) ocamlc $(OCAMLFINDFLAGS) -package unix -linkpkg \
|
||||
+ -warn-error A -I .. mlguestfs.cma $< -o $@
|
||||
+endif
|
||||
|
||||
+create_disk: $(FINAL_BINARY_create_disk)
|
||||
+ cp -vf $< $@
|
||||
+inspect_vm: $(FINAL_BINARY_inspect_vm)
|
||||
+ cp -vf $< $@
|
||||
endif
|
||||
diff --git a/resize/Makefile.am b/resize/Makefile.am
|
||||
index 76c26ee..b8a1209 100644
|
||||
index 76c26ee..ef35bf9 100644
|
||||
--- a/resize/Makefile.am
|
||||
+++ b/resize/Makefile.am
|
||||
@@ -31,7 +31,23 @@ SOURCES = \
|
||||
@@ -31,7 +31,7 @@ SOURCES = \
|
||||
if HAVE_OCAML
|
||||
|
||||
# Note this list must be in dependency order.
|
||||
-OBJECTS = \
|
||||
+OBJECTS_bc = \
|
||||
+ $(top_builddir)/mllib/tty-c.o \
|
||||
+ $(top_builddir)/mllib/tTY.cmo \
|
||||
+ $(top_builddir)/mllib/fsync-c.o \
|
||||
+ $(top_builddir)/mllib/fsync.cmo \
|
||||
+ $(top_builddir)/fish/guestfish-progress.o \
|
||||
+ $(top_builddir)/mllib/progress-c.o \
|
||||
+ $(top_builddir)/mllib/progress.cmo \
|
||||
+ $(top_builddir)/fish/guestfish-uri.o \
|
||||
+ $(top_builddir)/mllib/uri-c.o \
|
||||
+ $(top_builddir)/mllib/uRI.cmo \
|
||||
+ $(top_builddir)/mllib/common_gettext.cmo \
|
||||
+ $(top_builddir)/mllib/common_utils.cmo \
|
||||
+ $(top_builddir)/mllib/config.cmo \
|
||||
+ resize.cmo
|
||||
+
|
||||
+OBJECTS_opt = \
|
||||
+deps = \
|
||||
$(top_builddir)/mllib/tty-c.o \
|
||||
$(top_builddir)/mllib/tTY.cmx \
|
||||
$(top_builddir)/mllib/fsync-c.o \
|
||||
@@ -47,6 +63,12 @@ OBJECTS = \
|
||||
@@ -47,6 +47,12 @@ OBJECTS = \
|
||||
$(top_builddir)/mllib/config.cmx \
|
||||
resize.cmx
|
||||
|
||||
+if HAVE_OCAMLOPT
|
||||
+FINAL_BINARY = virt-resize.opt
|
||||
+OBJECTS = $(deps)
|
||||
+else
|
||||
+FINAL_BINARY = virt-resize.bc
|
||||
+OBJECTS = $(patsubst %.cmx,%.cmo,$(deps))
|
||||
+endif
|
||||
+
|
||||
bin_SCRIPTS = virt-resize
|
||||
|
||||
# -I $(top_builddir)/src/.libs is a hack which forces corresponding -L
|
||||
@@ -54,7 +76,6 @@ bin_SCRIPTS = virt-resize
|
||||
# installed copy of libguestfs.
|
||||
OCAMLPACKAGES = \
|
||||
-package str,unix \
|
||||
- -I $(top_builddir)/src/.libs \
|
||||
-I $(top_builddir)/ocaml \
|
||||
-I $(top_builddir)/mllib
|
||||
if HAVE_OCAML_PKG_GETTEXT
|
||||
@@ -62,20 +83,34 @@ OCAMLPACKAGES += -package gettext-stub
|
||||
endif
|
||||
|
||||
OCAMLCFLAGS = -g -warn-error CDEFLMPSUVYZX $(OCAMLPACKAGES)
|
||||
-OCAMLOPTFLAGS = $(OCAMLCFLAGS)
|
||||
+OCAMLOPTFLAGS = \
|
||||
+ -I $(top_builddir)/src/.libs \
|
||||
+ $(OCAMLCFLAGS)
|
||||
|
||||
OCAMLCLIBS = \
|
||||
$(LIBXML2_LIBS) -lncurses \
|
||||
@@ -69,12 +75,22 @@ OCAMLCLIBS = \
|
||||
-L../src/.libs -lutils \
|
||||
-L../gnulib/lib/.libs -lgnu
|
||||
|
||||
-virt-resize: $(OBJECTS)
|
||||
+virt-resize.bc: $(OBJECTS_bc)
|
||||
+ $(top_builddir)/libtool -dlopen $(top_builddir)/src/.libs/libguestfs.la --mode=execute \
|
||||
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
|
||||
+ -custom \
|
||||
+ mlguestfs.cma -linkpkg $^ \
|
||||
+ -cclib '$(OCAMLCLIBS)' \
|
||||
+ $(OCAML_GCOV_LDFLAGS) \
|
||||
+ -o $@
|
||||
+
|
||||
+virt-resize.opt: $(OBJECTS_opt)
|
||||
+if HAVE_OCAMLOPT
|
||||
virt-resize: $(OBJECTS)
|
||||
$(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \
|
||||
mlguestfs.cmxa -linkpkg $^ \
|
||||
-cclib '$(OCAMLCLIBS)' \
|
||||
$(OCAML_GCOV_LDFLAGS) \
|
||||
-o $@
|
||||
+else
|
||||
+virt-resize: $(OBJECTS)
|
||||
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
|
||||
+ mlguestfs.cma -linkpkg $^ \
|
||||
+ -cclib '$(OCAMLCLIBS)' \
|
||||
+ -custom \
|
||||
+ $(OCAML_GCOV_LDFLAGS) \
|
||||
+ -o $@
|
||||
+endif
|
||||
|
||||
+virt-resize: $(FINAL_BINARY)
|
||||
+ cp -vf $< $@
|
||||
+
|
||||
.mli.cmi:
|
||||
$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@
|
||||
.ml.cmo:
|
||||
diff --git a/sparsify/Makefile.am b/sparsify/Makefile.am
|
||||
index 98d9c70..645eb11 100644
|
||||
index 98d9c70..bf6caf0 100644
|
||||
--- a/sparsify/Makefile.am
|
||||
+++ b/sparsify/Makefile.am
|
||||
@@ -32,7 +32,19 @@ SOURCES = \
|
||||
@@ -32,7 +32,7 @@ SOURCES = \
|
||||
if HAVE_OCAML
|
||||
|
||||
# Note this list must be in dependency order.
|
||||
-OBJECTS = \
|
||||
+OBJECTS_bc = \
|
||||
+ $(top_builddir)/fish/guestfish-progress.o \
|
||||
+ $(top_builddir)/mllib/tty-c.o \
|
||||
+ $(top_builddir)/mllib/progress-c.o \
|
||||
+ $(top_builddir)/mllib/common_gettext.cmo \
|
||||
+ $(top_builddir)/mllib/common_utils.cmo \
|
||||
+ $(top_builddir)/mllib/tTY.cmo \
|
||||
+ $(top_builddir)/mllib/progress.cmo \
|
||||
+ $(top_builddir)/mllib/config.cmo \
|
||||
+ statvfs-c.o \
|
||||
+ sparsify.cmo
|
||||
+
|
||||
+OBJECTS_opt = \
|
||||
+deps = \
|
||||
$(top_builddir)/fish/guestfish-progress.o \
|
||||
$(top_builddir)/mllib/tty-c.o \
|
||||
$(top_builddir)/mllib/progress-c.o \
|
||||
@@ -44,6 +56,12 @@ OBJECTS = \
|
||||
@@ -44,6 +44,12 @@ OBJECTS = \
|
||||
statvfs-c.o \
|
||||
sparsify.cmx
|
||||
|
||||
+if HAVE_OCAMLOPT
|
||||
+FINAL_BINARY = virt-sparsify.opt
|
||||
+OBJECTS = $(deps)
|
||||
+else
|
||||
+FINAL_BINARY = virt-sparsify.bc
|
||||
+OBJECTS = $(patsubst %.cmx,%.cmo,$(deps))
|
||||
+endif
|
||||
+
|
||||
bin_SCRIPTS = virt-sparsify
|
||||
|
||||
# -I $(top_builddir)/src/.libs is a hack which forces corresponding -L
|
||||
@@ -51,7 +69,6 @@ bin_SCRIPTS = virt-sparsify
|
||||
# installed copy of libguestfs.
|
||||
OCAMLPACKAGES = \
|
||||
-package str,unix \
|
||||
- -I $(top_builddir)/src/.libs \
|
||||
-I $(top_builddir)/ocaml \
|
||||
-I $(top_builddir)/mllib
|
||||
if HAVE_OCAML_PKG_GETTEXT
|
||||
@@ -59,15 +76,29 @@ OCAMLPACKAGES += -package gettext-stub
|
||||
endif
|
||||
|
||||
@@ -61,12 +67,22 @@ endif
|
||||
OCAMLCFLAGS = -g -warn-error CDEFLMPSUVYZX $(OCAMLPACKAGES)
|
||||
-OCAMLOPTFLAGS = $(OCAMLCFLAGS)
|
||||
+OCAMLOPTFLAGS = \
|
||||
+ -I $(top_builddir)/src/.libs \
|
||||
+ $(OCAMLCFLAGS)
|
||||
OCAMLOPTFLAGS = $(OCAMLCFLAGS)
|
||||
|
||||
-virt-sparsify: $(OBJECTS)
|
||||
+virt-sparsify.bc: $(OBJECTS_bc)
|
||||
+ $(top_builddir)/libtool -dlopen $(top_builddir)/src/.libs/libguestfs.la --mode=execute \
|
||||
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
|
||||
+ -custom \
|
||||
+ mlguestfs.cma -linkpkg $^ \
|
||||
+ -cclib -lncurses \
|
||||
+ $(OCAML_GCOV_LDFLAGS) \
|
||||
+ -o $@
|
||||
+
|
||||
+virt-sparsify.opt: $(OBJECTS_opt)
|
||||
+if HAVE_OCAMLOPT
|
||||
virt-sparsify: $(OBJECTS)
|
||||
$(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \
|
||||
mlguestfs.cmxa -linkpkg $^ \
|
||||
-cclib -lncurses \
|
||||
$(OCAML_GCOV_LDFLAGS) \
|
||||
-o $@
|
||||
+else
|
||||
+virt-sparsify: $(OBJECTS)
|
||||
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
|
||||
+ mlguestfs.cma -linkpkg $^ \
|
||||
+ -cclib -lncurses \
|
||||
+ -custom \
|
||||
+ $(OCAML_GCOV_LDFLAGS) \
|
||||
+ -o $@
|
||||
+endif
|
||||
|
||||
+virt-sparsify: $(FINAL_BINARY)
|
||||
+ cp -vf $< $@
|
||||
+
|
||||
.mli.cmi:
|
||||
$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@
|
||||
.ml.cmo:
|
||||
diff --git a/sysprep/Makefile.am b/sysprep/Makefile.am
|
||||
index 24654cb..cc9e958 100644
|
||||
index 24654cb..352735b 100644
|
||||
--- a/sysprep/Makefile.am
|
||||
+++ b/sysprep/Makefile.am
|
||||
@@ -81,7 +81,25 @@ SOURCES = \
|
||||
@@ -81,7 +81,7 @@ SOURCES = \
|
||||
if HAVE_OCAML
|
||||
|
||||
# Note this list must be in dependency order.
|
||||
-OBJECTS = \
|
||||
+OBJECTS_bc = \
|
||||
+ $(top_builddir)/mllib/common_gettext.cmo \
|
||||
+ $(top_builddir)/mllib/common_utils.cmo \
|
||||
+ $(top_builddir)/fish/guestfish-uri.o \
|
||||
+ $(top_builddir)/mllib/uri-c.o \
|
||||
+ $(top_builddir)/mllib/uRI.cmo \
|
||||
+ $(top_builddir)/mllib/crypt-c.o \
|
||||
+ $(top_builddir)/mllib/crypt.cmo \
|
||||
+ $(top_builddir)/mllib/urandom.cmo \
|
||||
+ $(top_builddir)/mllib/password.cmo \
|
||||
+ $(top_builddir)/mllib/random_seed.cmo \
|
||||
+ $(top_builddir)/mllib/hostname.cmo \
|
||||
+ $(top_builddir)/mllib/firstboot.cmo \
|
||||
+ $(top_builddir)/mllib/config.cmo \
|
||||
+ sysprep_operation.cmo \
|
||||
+ $(patsubst %,sysprep_operation_%.cmo,$(operations)) \
|
||||
+ main.cmo
|
||||
+
|
||||
+OBJECTS_opt = \
|
||||
+deps = \
|
||||
$(top_builddir)/mllib/common_gettext.cmx \
|
||||
$(top_builddir)/mllib/common_utils.cmx \
|
||||
$(top_builddir)/fish/guestfish-uri.o \
|
||||
@@ -99,6 +117,12 @@ OBJECTS = \
|
||||
@@ -99,6 +99,12 @@ OBJECTS = \
|
||||
$(patsubst %,sysprep_operation_%.cmx,$(operations)) \
|
||||
main.cmx
|
||||
|
||||
+if HAVE_OCAMLOPT
|
||||
+FINAL_BINARY = virt-sysprep.opt
|
||||
+OBJECTS = $(deps)
|
||||
+else
|
||||
+FINAL_BINARY = virt-sysprep.bc
|
||||
+OBJECTS = $(patsubst %.cmx,%.cmo,$(deps))
|
||||
+endif
|
||||
+
|
||||
bin_SCRIPTS = virt-sysprep
|
||||
|
||||
# -I $(top_builddir)/src/.libs is a hack which forces corresponding -L
|
||||
@@ -121,13 +145,25 @@ OCAMLCLIBS = \
|
||||
@@ -121,12 +127,22 @@ OCAMLCLIBS = \
|
||||
-L../src/.libs -lutils \
|
||||
-L../gnulib/lib/.libs -lgnu
|
||||
|
||||
-virt-sysprep: $(OBJECTS)
|
||||
+virt-sysprep.bc: $(OBJECTS_bc)
|
||||
+ $(top_builddir)/libtool -dlopen $(top_builddir)/src/.libs/libguestfs.la --mode=execute \
|
||||
+ $(OCAMLFIND) ocamlc $(OCAMLOPTFLAGS) \
|
||||
+ -custom \
|
||||
+ mlguestfs.cma -linkpkg $^ \
|
||||
+ -cclib '$(OCAMLCLIBS)' \
|
||||
+ $(OCAML_GCOV_LDFLAGS) \
|
||||
+ -o $@
|
||||
+
|
||||
+virt-sysprep.opt: $(OBJECTS_opt)
|
||||
+if HAVE_OCAMLOPT
|
||||
virt-sysprep: $(OBJECTS)
|
||||
$(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \
|
||||
mlguestfs.cmxa -linkpkg $^ \
|
||||
-cclib '$(OCAMLCLIBS)' \
|
||||
$(OCAML_GCOV_LDFLAGS) \
|
||||
-o $@
|
||||
+else
|
||||
+virt-sysprep: $(OBJECTS)
|
||||
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
|
||||
+ mlguestfs.cma -linkpkg $^ \
|
||||
+ -cclib '$(OCAMLCLIBS)' \
|
||||
+ -custom \
|
||||
+ $(OCAML_GCOV_LDFLAGS) \
|
||||
+ -o $@
|
||||
+endif
|
||||
|
||||
+virt-sysprep: $(FINAL_BINARY)
|
||||
+ cp -vf $< $@
|
||||
+
|
||||
.mli.cmi:
|
||||
$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@
|
||||
.ml.cmo:
|
||||
|
Loading…
Reference in New Issue
Block a user