]> xenbits.xensource.com Git - xen.git/commitdiff
stubdom: support Mini-OS config for Mini-OS apps
authorJuergen Gross <jgross@suse.com>
Tue, 30 Aug 2016 14:53:39 +0000 (16:53 +0200)
committerWei Liu <wei.liu2@citrix.com>
Fri, 2 Sep 2016 08:54:42 +0000 (09:54 +0100)
Mini-OS apps need to be compiled with the appropriate config settings
of Mini-OS, as there are various dependencies on those settings in
header files included by the apps.

Enhance stubdom Makefile to set the appropriate CPPFLAGS when calling
the apps' make.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
[ wei: fold in change to Config.mk to update mini-os commit ]

.gitignore
Config.mk
stubdom/Makefile
stubdom/xenstore-minios.cfg

index d193820a5329845e9caa32c647770171098ca400..a061f4a4305a9f5a4aaf04a8768fd605ad8b5d50 100644 (file)
@@ -50,6 +50,7 @@ docs/pdf/
 docs/txt/
 extras/mini-os*
 install/*
+stubdom/*-minios-config.mk
 stubdom/autom4te.cache/
 stubdom/binutils-*
 stubdom/config.cache
index 081ff691c304ddd1ecc1162c051bd4eea0953a77..1a3b86d38be90e6b54b593bba452b634858e55ba 100644 (file)
--- a/Config.mk
+++ b/Config.mk
@@ -277,9 +277,9 @@ MINIOS_UPSTREAM_URL ?= git://xenbits.xen.org/mini-os.git
 endif
 OVMF_UPSTREAM_REVISION ?= 52a99493cce88a9d4ec8a02d7f1bd1a1001ce60d
 QEMU_UPSTREAM_REVISION ?= master
-MINIOS_UPSTREAM_REVISION ?= f27fa61a0c206bf372753f2020bbe5dc6028864c
-# Fri, 12 Aug 2016 11:32:57 +0100 (11:32 +0100)
-# x86/arch_mm.h: move p2m_chk_pfn to x86/mm.c
+MINIOS_UPSTREAM_REVISION ?= 0f6582dd71454dffba4bbb21258fea25becfdd00
+# Tue Aug 30 13:51:23 2016 +0200
+# mini-os: support "make config" for out-of-tree users
 
 SEABIOS_UPSTREAM_REVISION ?= rel-1.9.2
 # Tue, 1 Mar 2016 15:06:45 +0100 (16:06 +0200)
index 2044d76ed681ecf267f40a81bd701e1581f11fb8..d7a47f0d9d7070e4ba9c86e65a4f80816b7386f9 100644 (file)
@@ -425,13 +425,16 @@ libxc-$(XEN_TARGET_ARCH)/libxenctrl.a: mk-headers-$(XEN_TARGET_ARCH) libxentooll
 # ioemu
 #######
 
+ioemu-minios-config.mk: $(CURDIR)/ioemu-minios.cfg
+       MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
+
 .PHONY: ioemu
-ioemu: cross-zlib cross-libpci libxc
+ioemu: cross-zlib cross-libpci libxc ioemu-minios-config.mk
        [ -f ioemu/config-host.mak ] || \
          ( $(buildmakevars2shellvars); \
            cd ioemu ; \
            LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) \
-           TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \
+           TARGET_CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat ioemu-minios-config.mk)" \
            TARGET_CFLAGS="$(TARGET_CFLAGS)" \
            TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
            $(QEMU_ROOT)/xen-setup-stubdom )
@@ -441,33 +444,45 @@ ioemu: cross-zlib cross-libpci libxc
 # caml
 ######
 
+caml-minios-config.mk: $(CURDIR)/caml/minios.cfg
+       MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
+
 .PHONY: caml
 caml: $(CROSS_ROOT)
-       CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C $@ LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) OCAMLC_CROSS_PREFIX=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/bin/
+       CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat caml-minios-config.mk)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C $@ LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) OCAMLC_CROSS_PREFIX=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/bin/
 
 ###
 # C
 ###
 
+c-minios-config.mk: $(CURDIR)/c/minios.cfg
+       MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
+
 .PHONY: c
-c: $(CROSS_ROOT)
-       CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C $@ LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) 
+c: $(CROSS_ROOT) c-minios-config.mk
+       CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat c-minios-config.mk)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C $@ LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) 
 
 ######
 # VTPM
 ######
 
+vtpm-minios-config.mk: $(CURDIR)/vtpm/minios.cfg
+       MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
+
 .PHONY: vtpm
-vtpm: cross-polarssl cross-tpmemu
-       XEN_TARGET_ARCH="$(XEN_TARGET_ARCH)" CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@
+vtpm: cross-polarssl cross-tpmemu vtpm-minios-config.mk
+       XEN_TARGET_ARCH="$(XEN_TARGET_ARCH)" CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat vtpm-minios-config.mk)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@
 
 ######
 # VTPMMGR
 ######
 
+vtpmmgr-minios-config.mk: $(CURDIR)/vtpmmgr/minios.cfg
+       MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
+
 .PHONY: vtpmmgr
-vtpmmgr: cross-polarssl
-       XEN_TARGET_ARCH="$(XEN_TARGET_ARCH)" CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@
+vtpmmgr: cross-polarssl vtpmmgr-minios-config.mk
+       XEN_TARGET_ARCH="$(XEN_TARGET_ARCH)" CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat vtpmmgr-minios-config.mk)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@
 
 ######
 # Grub
@@ -483,18 +498,24 @@ grub-upstream: grub-$(GRUB_VERSION).tar.gz
                patch -d $@ -p1 < $$i || exit 1; \
        done
 
+grub-$(XEN_TARGET_ARCH)-minios-config.mk: $(CURDIR)/grub/minios.cfg
+       MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
+
 .PHONY: grub
-grub: cross-polarssl grub-upstream $(CROSS_ROOT)
+grub: cross-polarssl grub-upstream $(CROSS_ROOT) grub-$(XEN_TARGET_ARCH)-minios-config.mk
        mkdir -p grub-$(XEN_TARGET_ARCH)
-       CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C $@ OBJ_DIR=$(CURDIR)/grub-$(XEN_TARGET_ARCH)
+       CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat grub-$(XEN_TARGET_ARCH)-minios-config.mk)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C $@ OBJ_DIR=$(CURDIR)/grub-$(XEN_TARGET_ARCH)
 
 ##########
 # xenstore
 ##########
 
+xenstore-minios-config.mk: $(CURDIR)/xenstore-minios.cfg
+       MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
+
 .PHONY: xenstore
-xenstore: $(CROSS_ROOT)
-       CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C $@ xenstored.a CONFIG_STUBDOM=y
+xenstore: $(CROSS_ROOT) xenstore-minios-config.mk
+       CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat xenstore-minios-config.mk)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C $@ xenstored.a CONFIG_STUBDOM=y
 
 ########
 # minios
@@ -586,6 +607,7 @@ clean:
        $(MAKE) -C vtpmmgr clean
        rm -fr grub-$(XEN_TARGET_ARCH)
        rm -f $(STUBDOMPATH)
+       rm -f *-minios-config.mk
        [ ! -e libs-$(XEN_TARGET_ARCH)/toollog/Makefile ] || $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/toollog clean
        [ ! -e libs-$(XEN_TARGET_ARCH)/evtchn/Makefile ] || $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/evtchn clean
        [ ! -e libs-$(XEN_TARGET_ARCH)/gnttab/Makefile ] || $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/gnttab clean
index 6a09cce4c9b8059e3434d8d44f2f3229be901ea2..931caea0195e8987330431d0b265659738643448 100644 (file)
@@ -5,3 +5,4 @@ CONFIG_KBDFRONT=n
 CONFIG_CONSFRONT=n
 CONFIG_XENBUS=n
 CONFIG_LWIP=n
+XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__