diff options
-rw-r--r-- | .hgignore | 2 | ||||
-rw-r--r-- | Config.mk | 6 | ||||
-rw-r--r-- | tools/Makefile | 22 | ||||
-rw-r--r-- | tools/xenstore/Makefile | 11 |
4 files changed, 39 insertions, 2 deletions
@@ -90,6 +90,7 @@ ^stubdom/gcc-.*$ ^stubdom/include$ ^stubdom/ioemu$ +^stubdom/xenstore$ ^stubdom/libxc-.*$ ^stubdom/lwip-.*$ ^stubdom/mini-os-.*$ @@ -251,6 +252,7 @@ ^tools/xm-test/tests/.*\.test$ ^tools/ioemu-remote ^tools/ioemu-dir$ +^tools/ocaml-xenstored.*$ ^xen/\.banner.*$ ^xen/BLOG$ ^xen/System.map$ @@ -125,6 +125,12 @@ QEMU_REMOTE=http://xenbits.xensource.com/git-http/qemu-xen-unstable.git # CONFIG_QEMU ?= ../qemu-xen.git CONFIG_QEMU ?= $(QEMU_REMOTE) +OCAML_XENSTORED_REPO=http://xenbits.xensource.com/ext/xen-ocaml-tools.hg + +# Build OCAML version of xenstored instead of the in-tree C version? +# This will cause $(OCAML_XENSTORED_REPO) to be cloned. +CONFIG_OCAML_XENSTORED ?= n + # Optional components XENSTAT_XENTOP ?= y VTPM_TOOLS ?= n diff --git a/tools/Makefile b/tools/Makefile index ed5f7568d2..d9208ca1b2 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -6,6 +6,7 @@ SUBDIRS-y += check SUBDIRS-y += include SUBDIRS-y += libxc SUBDIRS-y += flask +SUBDIRS-$(CONFIG_OCAML_XENSTORED) += ocaml-xenstored SUBDIRS-y += xenstore SUBDIRS-y += misc SUBDIRS-y += examples @@ -49,6 +50,7 @@ install: subdirs-install $(INSTALL_DIR) $(DESTDIR)/var/xen/dump $(INSTALL_DIR) $(DESTDIR)/var/log/xen $(INSTALL_DIR) $(DESTDIR)/var/lib/xen + $(INSTALL_DIR) $(DESTDIR)/var/lock/subsys .PHONY: clean distclean clean distclean: subdirs-clean @@ -103,3 +105,23 @@ subdir-clean-ioemu-dir: $(absolutify_xen_root); \ $(MAKE) -C ioemu-dir clean; \ fi + +ocaml-xenstored: + set -ex; \ + rm -rf ocaml-xenstored.tmp; \ + hg clone $(OCAML_XENSTORED_REPO) ocaml-xenstored.tmp; \ + if [ "$(OCAML_XENSTORED_TAG)" ]; then \ + hg -R ocaml-xenstored.tmp update -r $(OCAML_XENSTORED_TAG) ;\ + hg -R ocaml-xenstored.tmp branch mybranch ;\ + fi; \ + mv ocaml-xenstored.tmp ocaml-xenstored; \ + +subdir-all-ocaml-xenstored subdir-install-ocaml-xenstored: ocaml-xenstored + $(absolutify_xen_root); \ + $(MAKE) -C ocaml-xenstored $(patsubst subdir-%-ocaml-xenstored,%,$@); + +subdir-clean-ocaml-xenstored: + set -e; if test -d ocaml-xenstored; then \ + $(MAKE) -C ocaml-xenstored clean; \ + fi + diff --git a/tools/xenstore/Makefile b/tools/xenstore/Makefile index 91b854da90..f64ba9face 100644 --- a/tools/xenstore/Makefile +++ b/tools/xenstore/Makefile @@ -26,8 +26,13 @@ LIBXENSTORE := libxenstore.a xenstore xenstore-control: CFLAGS += -static endif +ALL_TARGETS = libxenstore.so libxenstore.a clients xs_tdb_dump +ifneq ($(CONFIG_OCAML_XENSTORED),y) + ALL_TARGETS += xenstored +endif + .PHONY: all -all: libxenstore.so libxenstore.a xenstored clients xs_tdb_dump +all: $(ALL_TARGETS) .PHONY: clients clients: xenstore $(CLIENTS) xenstore-control @@ -90,12 +95,14 @@ tarball: clean .PHONY: install install: all +ifneq ($(CONFIG_OCAML_XENSTORED),y) $(INSTALL_DIR) $(DESTDIR)/var/run/xenstored $(INSTALL_DIR) $(DESTDIR)/var/lib/xenstored + $(INSTALL_PROG) xenstored $(DESTDIR)$(SBINDIR) +endif $(INSTALL_DIR) $(DESTDIR)$(BINDIR) $(INSTALL_DIR) $(DESTDIR)$(SBINDIR) $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR) - $(INSTALL_PROG) xenstored $(DESTDIR)$(SBINDIR) $(INSTALL_PROG) xenstore-control $(DESTDIR)$(BINDIR) $(INSTALL_PROG) xenstore $(DESTDIR)$(BINDIR) set -e ; for c in $(CLIENTS) ; do \ |