diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2009-05-19 14:13:20 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2009-05-19 14:13:20 +0100 |
commit | c7367160e47a01e07fabfcb38fcb5951773b04d4 (patch) | |
tree | 8877d3a06c90e10389e696cc4563b75926eb106f | |
parent | 1f876c2e6e48431940adb8ebd0a6960367cdc853 (diff) | |
download | xen-c7367160e47a01e07fabfcb38fcb5951773b04d4.tar.gz xen-c7367160e47a01e07fabfcb38fcb5951773b04d4.tar.bz2 xen-c7367160e47a01e07fabfcb38fcb5951773b04d4.zip |
ocaml-xenstored: Allow to build ocaml xenstored instead of C version
To use, set CONFIG_OCAML_XENSTORED=y at build time.
Then the build system will automatically download the remote repo
to tools/ocaml-xenstored.
Signed-off-by: Alex Zeffertt <alex.zeffertt@eu.citrix.com>
-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 \ |