[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 5/5] integrate xen-ocaml-tools.hg with xen-unstable.hg - select xenstore-stubdom source




Provide option of using xen-ocaml-tools.hg as source for xenstored stub domain
instead of tools/xenstore/xenstored_*.

To use, create a .config containing "CONFIG_OCAML_XENSTORED := y".
Then the build system will automatically download the remote repo
to tools/ocaml-xenstored.

Note: this patch depends on the following previously posted 
xen-ocaml-tools.hg patches:

 * have-libxc
 * remove-unused-Condition-module-and-unused-statfs-func
 * minios-stubdom-build
 * support_local-domid_dom0-grant-ref_and_dom0-port_args

It also depends on the previously posted xenstore stub domain patches
against linux-2.6.18-xen.hg and xen-unstable.hg.

Signed-off-by: Alex Zeffertt <alex.zeffertt@xxxxxxxxxxxxx>

diff -r 6f220b099374 stubdom/Makefile
--- a/stubdom/Makefile  Tue Apr 07 15:36:26 2009 +0100
+++ b/stubdom/Makefile  Thu Apr 16 10:08:20 2009 +0100
@@ -73,6 +73,7 @@
 TARGET_CPPFLAGS += -isystem $(GCC_INSTALL)include
 TARGET_CPPFLAGS += -isystem $(CURDIR)/lwip-$(XEN_TARGET_ARCH)/src/include
 TARGET_CPPFLAGS += -isystem $(CURDIR)/lwip-$(XEN_TARGET_ARCH)/src/include/ipv4
+TARGET_CPPFLAGS += -isystem $(CURDIR)/libxc-$(XEN_TARGET_ARCH)
 TARGET_CPPFLAGS += -I$(CURDIR)/include
 
 TARGET_LDFLAGS += -nostdlib -L$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib
@@ -223,7 +224,32 @@
            while read f; do rm -f "$$f"; ln -s "$$src/$$f" "$$f"; done
        touch ioemu/linkfarm.stamp
 
-mk-headers-$(XEN_TARGET_ARCH): ioemu/linkfarm.stamp
+ifeq ($(CONFIG_OCAML_XENSTORED),y)
+$(XEN_ROOT)/tools/ocaml-xenstored:
+       make -C $(XEN_ROOT)/tools ocaml-xenstored
+
+xenstore/linkfarm.stamp: $(XEN_ROOT)/tools/ocaml-xenstored
+       mkdir -p xenstore
+       set -e ;                                                                
\
+       $(absolutify_xen_root);                                                 
\
+       cd xenstore;                                                            
\
+       hg -R "$$XEN_ROOT/tools/ocaml-xenstored" locate |                       
\
+       while read fname ; do                                                   
\
+               mkdir -p $$(dirname $$fname) ;                                  
\
+               ln -sf "$$XEN_ROOT/tools/ocaml-xenstored/$$fname" "$$fname";    
\
+       done
+       touch $@
+else
+xenstore/linkfarm.stamp: $(XEN_ROOT)/tools/xenstore
+       mkdir -p xenstore
+       [ -h xenstore/Makefile ] || ( cd xenstore && \
+         ln -sf ../$(XEN_ROOT)/tools/xenstore/*.c . && \
+         ln -sf ../$(XEN_ROOT)/tools/xenstore/*.h . && \
+         ln -sf ../$(XEN_ROOT)/tools/xenstore/Makefile . )
+       touch $@
+endif
+
+mk-headers-$(XEN_TARGET_ARCH): ioemu/linkfarm.stamp xenstore/linkfarm.stamp
        mkdir -p include/xen && \
           ln -sf $(addprefix ../../,$(wildcard 
$(XEN_ROOT)/xen/include/public/*.h)) include/xen && \
           ln -sf $(addprefix ../../$(XEN_ROOT)/xen/include/public/,arch-ia64 
arch-x86 hvm io xsm) include/xen && \
@@ -243,11 +269,6 @@
          ln -sf ../$(XEN_ROOT)/tools/libxc/$(XEN_TARGET_ARCH)/*.c . && \
          ln -sf ../$(XEN_ROOT)/tools/libxc/$(XEN_TARGET_ARCH)/*.h . && \
          ln -sf ../$(XEN_ROOT)/tools/libxc/$(XEN_TARGET_ARCH)/Makefile . )
-       mkdir -p xenstore
-       [ -h xenstore/Makefile ] || ( cd xenstore && \
-         ln -sf ../$(XEN_ROOT)/tools/xenstore/*.c . && \
-         ln -sf ../$(XEN_ROOT)/tools/xenstore/*.h . && \
-         ln -sf ../$(XEN_ROOT)/tools/xenstore/Makefile . )
        $(MAKE) -C $(MINI_OS) links
        touch mk-headers-$(XEN_TARGET_ARCH)
 
@@ -319,8 +340,13 @@
 ##########
 
 .PHONY: xenstore
-xenstore: $(CROSS_ROOT)
-       CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@ 
LWIPDIR=$(CURDIR)/lwip xenstored.a CONFIG_STUBDOM=y
+ifeq ($(CONFIG_OCAML_XENSTORED),)
+ xenstore: $(CROSS_ROOT)
+       CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@ 
LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) xenstore.a CONFIG_STUBDOM=y 
+else
+ xenstore: $(CROSS_ROOT) cross-ocaml
+       CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@ 
LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) CONFIG_STUBDOM=y 
OCAMLC_CROSS_PREFIX=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/bin/
+endif
 
 ########
 # minios
@@ -344,8 +370,13 @@
        DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="-DCONFIG_GRUB 
$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" $(MAKE) -C $(MINI_OS) 
OBJ_DIR=$(CURDIR)/$< APP_OBJS=$(CURDIR)/grub-$(XEN_TARGET_ARCH)/main.a
 
 .PHONY: xenstore-stubdom
-xenstore-stubdom: mini-os-$(XEN_TARGET_ARCH)-xenstore libxc xenstore
+ifeq ($(CONFIG_OCAML_XENSTORED),)
+ xenstore-stubdom: mini-os-$(XEN_TARGET_ARCH)-xenstore libxc xenstore
        DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="-DCONFIG_XENSTORE 
$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" $(MAKE) -C $(MINI_OS) 
OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) 
APP_OBJS=$(CURDIR)/xenstore/xenstored.a
+else
+ xenstore-stubdom: mini-os-$(XEN_TARGET_ARCH)-xenstore libxc xenstore
+       DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="-DCONFIG_XENSTORE 
$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" $(MAKE) -C $(MINI_OS) 
OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) 
APP_OBJS="$(CURDIR)/xenstore/xenstored/main-caml.o 
$(CURDIR)/xenstore/xenstored/caml.o $(CAMLLIB)/libasmrun.a $(CAMLLIB)/libunix.a 
$(shell find  $(CURDIR)/xenstore/ -name 'lib*_stubs.a')"
+endif
 
 #########
 # install
diff -r 6f220b099374 tools/xcutils/xs_dom_builder.c
--- a/tools/xcutils/xs_dom_builder.c    Tue Apr 07 15:36:26 2009 +0100
+++ b/tools/xcutils/xs_dom_builder.c    Thu Apr 16 10:08:20 2009 +0100
@@ -138,9 +138,9 @@
        char buf[128];
        int len;
 
-       len = sprintf(buf, " --local-domid=%" PRIu32
-                          " --dom0-grant-ref=%" PRIu32
-                          " --dom0-port=%" PRIu32,
+       len = sprintf(buf, " --local-domid %" PRIu32
+                          " --dom0-grant-ref %" PRIu32
+                          " --dom0-port %" PRIu32,
                      b->domid, b->dom0_grant_ref, b->dom0_port);
        if (len <= 0)
                DIE_TO(fail, "sprintf failed");

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.