* [PATCH v2 1/7] stubdom: fix "make build"
2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
@ 2015-02-20 11:17 ` Wei Liu
2015-02-20 11:17 ` [PATCH v2 2/7] Makefile: refactor build/clean/distclean targets Wei Liu
` (6 subsequent siblings)
7 siblings, 0 replies; 22+ messages in thread
From: Wei Liu @ 2015-02-20 11:17 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
Cross compiling libxc requires some symlinks to exist.
Note that make -C tools/include requires running tools/configure. But at
least now the error message is much better than just a "file not found"
error.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jakcson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
stubdom/Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/stubdom/Makefile b/stubdom/Makefile
index 8fb885a..58ca08c 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -333,6 +333,8 @@ $(TARGETS_MINIOS): mini-os-%:
.PHONY: libxc
libxc: libxc-$(XEN_TARGET_ARCH)/libxenctrl.a libxc-$(XEN_TARGET_ARCH)/libxenguest.a
libxc-$(XEN_TARGET_ARCH)/libxenctrl.a: cross-zlib
+ $(MAKE) -C $(XEN_ROOT)/tools/include
+ $(MAKE) DESTDIR= -C $(MINI_OS) links
CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= CONFIG_LIBXC_MINIOS=y -C libxc-$(XEN_TARGET_ARCH)
libxc-$(XEN_TARGET_ARCH)/libxenguest.a: libxc-$(XEN_TARGET_ARCH)/libxenctrl.a
--
1.9.1
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH v2 2/7] Makefile: refactor build/clean/distclean targets
2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
2015-02-20 11:17 ` [PATCH v2 1/7] stubdom: fix "make build" Wei Liu
@ 2015-02-20 11:17 ` Wei Liu
2015-02-20 11:17 ` [PATCH v2 3/7] stubdom: don't look for mini-os source file during configure Wei Liu
` (5 subsequent siblings)
7 siblings, 0 replies; 22+ messages in thread
From: Wei Liu @ 2015-02-20 11:17 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
Factor out per-subsystem build/clean/distclean-% targets, so that we can
build subsystems independently in top level directory.
The motive behind this is after splitting out mini-os from Xen tree,
stubdom is in effect a downstream of mini-os. I would like to have the
ability to build it independently and instrument OSSTest to test it.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
Makefile | 49 ++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 44 insertions(+), 5 deletions(-)
diff --git a/Makefile b/Makefile
index 6e9a4c7..ad6f917 100644
--- a/Makefile
+++ b/Makefile
@@ -10,6 +10,9 @@ all: dist
SUBSYSTEMS?=xen tools stubdom docs
TARGS_DIST=$(patsubst %, dist-%, $(SUBSYSTEMS))
TARGS_INSTALL=$(patsubst %, install-%, $(SUBSYSTEMS))
+TARGS_BUILD=$(patsubst %, build-%, $(SUBSYSTEMS))
+TARGS_CLEAN=$(patsubst %, clean-%, $(SUBSYSTEMS))
+TARGS_DISTCLEAN=$(patsubst %, distclean-%, $(SUBSYSTEMS))
export XEN_ROOT=$(CURDIR)
include Config.mk
@@ -23,13 +26,25 @@ export DESTDIR
install: $(TARGS_INSTALL)
.PHONY: build
-build:
+build: $(TARGS_BUILD)
+
+.PHONY: build-xen
+build-xen:
$(MAKE) -C xen build
+
+.PHONY: build-tools
+build-tools:
$(MAKE) -C tools build
+
+.PHONY: build-stubdom
+build-stubdom:
$(MAKE) -C stubdom build
ifeq (x86_64,$(XEN_TARGET_ARCH))
XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom pv-grub
endif
+
+.PHONY: build-docs
+build-docs:
$(MAKE) -C docs build
# The test target is for unit tests that can run without an installation. Of
@@ -135,28 +150,52 @@ src-tarball: subtree-force-update-all
bash ./tools/misc/mktarball $(XEN_ROOT) $$(git describe)
.PHONY: clean
-clean::
+clean: $(TARGS_CLEAN)
+
+.PHONY: clean-xen
+clean-xen:
$(MAKE) -C xen clean
+
+.PHONY: clean-tools
+clean-tools:
$(MAKE) -C tools clean
+
+.PHONY: clean-stubdom
+clean-stubdom:
$(MAKE) -C stubdom crossclean
ifeq (x86_64,$(XEN_TARGET_ARCH))
XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
endif
+
+.PHONY: clean-docs
+clean-docs:
$(MAKE) -C docs clean
# clean, but blow away tarballs
.PHONY: distclean
-distclean:
+distclean: $(TARGS_DISTCLEAN)
rm -f config/Toplevel.mk
+ rm -rf dist
+ rm -rf config.log config.status config.cache autom4te.cache
+
+.PHONY: distclean-xen
+distclean-xen:
$(MAKE) -C xen distclean
+
+.PHONY: distclean-tools
+distclean-tools:
$(MAKE) -C tools distclean
+
+.PHONY: distclean-stubdom
+distclean-stubdom:
$(MAKE) -C stubdom distclean
ifeq (x86_64,$(XEN_TARGET_ARCH))
XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom distclean
endif
+
+.PHONY: distclean-docs
+distclean-docs:
$(MAKE) -C docs distclean
- rm -rf dist
- rm -rf config.log config.status config.cache autom4te.cache
# Linux name for GNU distclean
.PHONY: mrproper
--
1.9.1
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH v2 3/7] stubdom: don't look for mini-os source file during configure
2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
2015-02-20 11:17 ` [PATCH v2 1/7] stubdom: fix "make build" Wei Liu
2015-02-20 11:17 ` [PATCH v2 2/7] Makefile: refactor build/clean/distclean targets Wei Liu
@ 2015-02-20 11:17 ` Wei Liu
2015-02-24 16:25 ` Ian Campbell
2015-02-20 11:17 ` [PATCH v2 4/7] git-checkout.sh: use "mkdir -p" Wei Liu
` (4 subsequent siblings)
7 siblings, 1 reply; 22+ messages in thread
From: Wei Liu @ 2015-02-20 11:17 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
Don't look for mini-os source file during configure. Mini-os source code
will be fetched during build.
Instead look for xenstore-minios.cfg.
Please rerun autogen.sh after applying this patch.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes in v2:
1. Look for xenstore-minios.cfg.
---
stubdom/configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/stubdom/configure.ac b/stubdom/configure.ac
index 6468203..9fec853 100644
--- a/stubdom/configure.ac
+++ b/stubdom/configure.ac
@@ -4,7 +4,7 @@
AC_PREREQ([2.67])
AC_INIT([Xen Hypervisor Stub Domains], m4_esyscmd([../version.sh ../xen/Makefile]),
[xen-devel@lists.xen.org], [xen], [http://www.xen.org/])
-AC_CONFIG_SRCDIR([../extras/mini-os/kernel.c])
+AC_CONFIG_SRCDIR([xenstore-minios.cfg])
AC_CONFIG_FILES([../config/Stubdom.mk])
AC_CONFIG_AUX_DIR([../])
--
1.9.1
^ permalink raw reply related [flat|nested] 22+ messages in thread* Re: [PATCH v2 3/7] stubdom: don't look for mini-os source file during configure
2015-02-20 11:17 ` [PATCH v2 3/7] stubdom: don't look for mini-os source file during configure Wei Liu
@ 2015-02-24 16:25 ` Ian Campbell
0 siblings, 0 replies; 22+ messages in thread
From: Ian Campbell @ 2015-02-24 16:25 UTC (permalink / raw)
To: Wei Liu; +Cc: ian.jackson, xen-devel
On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> Don't look for mini-os source file during configure. Mini-os source code
> will be fetched during build.
>
> Instead look for xenstore-minios.cfg.
>
> Please rerun autogen.sh after applying this patch.
>
> Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> ---
> Changes in v2:
> 1. Look for xenstore-minios.cfg.
> ---
> stubdom/configure.ac | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/stubdom/configure.ac b/stubdom/configure.ac
> index 6468203..9fec853 100644
> --- a/stubdom/configure.ac
> +++ b/stubdom/configure.ac
> @@ -4,7 +4,7 @@
> AC_PREREQ([2.67])
> AC_INIT([Xen Hypervisor Stub Domains], m4_esyscmd([../version.sh ../xen/Makefile]),
> [xen-devel@lists.xen.org], [xen], [http://www.xen.org/])
> -AC_CONFIG_SRCDIR([../extras/mini-os/kernel.c])
> +AC_CONFIG_SRCDIR([xenstore-minios.cfg])
> AC_CONFIG_FILES([../config/Stubdom.mk])
> AC_CONFIG_AUX_DIR([../])
>
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH v2 4/7] git-checkout.sh: use "mkdir -p"
2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
` (2 preceding siblings ...)
2015-02-20 11:17 ` [PATCH v2 3/7] stubdom: don't look for mini-os source file during configure Wei Liu
@ 2015-02-20 11:17 ` Wei Liu
2015-02-20 11:17 ` [PATCH v2 5/7] Mini-OS: standalone build Wei Liu
` (3 subsequent siblings)
7 siblings, 0 replies; 22+ messages in thread
From: Wei Liu @ 2015-02-20 11:17 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
Otherwise mkdir extras/mini-os fails because extras doesn't exist.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
scripts/git-checkout.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/git-checkout.sh b/scripts/git-checkout.sh
index 15b3ce9..20ae31f 100755
--- a/scripts/git-checkout.sh
+++ b/scripts/git-checkout.sh
@@ -13,7 +13,7 @@ set -e
if test \! -d $DIR-remote; then
rm -rf $DIR-remote $DIR-remote.tmp
- mkdir $DIR-remote.tmp; rmdir $DIR-remote.tmp
+ mkdir -p $DIR-remote.tmp; rmdir $DIR-remote.tmp
$GIT clone $TREE $DIR-remote.tmp
if test "$TAG" ; then
cd $DIR-remote.tmp
--
1.9.1
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH v2 5/7] Mini-OS: standalone build
2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
` (3 preceding siblings ...)
2015-02-20 11:17 ` [PATCH v2 4/7] git-checkout.sh: use "mkdir -p" Wei Liu
@ 2015-02-20 11:17 ` Wei Liu
2015-02-24 16:27 ` Ian Campbell
2015-02-20 11:17 ` [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target Wei Liu
` (2 subsequent siblings)
7 siblings, 1 reply; 22+ messages in thread
From: Wei Liu @ 2015-02-20 11:17 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
In order to keep the tree bisectable all the changes are done in one
single commit.
Things done in this commit:
1. Import necessary .mk files from Xen.
2. Move all XEN_ related variables to MINIOS_ namespace.
3. Import Xen public header files.
4. Import BSD's list.h and helper script.
Mini-OS's vanilla Config.mk is modified to contain some macros copied
from Xen's Config.mk. It also contains compatibility handling logic for
Xen's stubdom build environment.
Files modified:
Config.mk
Makefile
arch/x86/Makefile
arch/x86/arch.mk
minios.mk
All other files are just imported from Xen.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
[ output trimmed since this patch is acked ]
^ permalink raw reply [flat|nested] 22+ messages in thread* Re: [PATCH v2 5/7] Mini-OS: standalone build
2015-02-20 11:17 ` [PATCH v2 5/7] Mini-OS: standalone build Wei Liu
@ 2015-02-24 16:27 ` Ian Campbell
2015-02-24 16:33 ` Wei Liu
2015-02-24 19:39 ` Samuel Thibault
0 siblings, 2 replies; 22+ messages in thread
From: Ian Campbell @ 2015-02-24 16:27 UTC (permalink / raw)
To: Wei Liu, samuel.thibault; +Cc: ian.jackson, xen-devel
On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> In order to keep the tree bisectable all the changes are done in one
> single commit.
>
> Things done in this commit:
>
> 1. Import necessary .mk files from Xen.
> 2. Move all XEN_ related variables to MINIOS_ namespace.
> 3. Import Xen public header files.
> 4. Import BSD's list.h and helper script.
>
> Mini-OS's vanilla Config.mk is modified to contain some macros copied
> from Xen's Config.mk. It also contains compatibility handling logic for
> Xen's stubdom build environment.
>
> Files modified:
> Config.mk
> Makefile
> arch/x86/Makefile
> arch/x86/arch.mk
> minios.mk
>
> All other files are just imported from Xen.
>
> Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> Cc: Ian Campbell <ian.campbell@citrix.com>
> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
I'd be happier if it also had Samuel's ack on it.
> [ output trimmed since this patch is acked ]
Is it the same as was in
http://bugs.xenproject.org/xen/mid/%3C1422881943-7687-6-git-send-email-wei.liu2@citrix.com%3E
?
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH v2 5/7] Mini-OS: standalone build
2015-02-24 16:27 ` Ian Campbell
@ 2015-02-24 16:33 ` Wei Liu
2015-02-24 19:39 ` Samuel Thibault
1 sibling, 0 replies; 22+ messages in thread
From: Wei Liu @ 2015-02-24 16:33 UTC (permalink / raw)
To: Ian Campbell; +Cc: samuel.thibault, Wei Liu, ian.jackson, xen-devel
On Tue, Feb 24, 2015 at 04:27:00PM +0000, Ian Campbell wrote:
> On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> > In order to keep the tree bisectable all the changes are done in one
> > single commit.
> >
> > Things done in this commit:
> >
> > 1. Import necessary .mk files from Xen.
> > 2. Move all XEN_ related variables to MINIOS_ namespace.
> > 3. Import Xen public header files.
> > 4. Import BSD's list.h and helper script.
> >
> > Mini-OS's vanilla Config.mk is modified to contain some macros copied
> > from Xen's Config.mk. It also contains compatibility handling logic for
> > Xen's stubdom build environment.
> >
> > Files modified:
> > Config.mk
> > Makefile
> > arch/x86/Makefile
> > arch/x86/arch.mk
> > minios.mk
> >
> > All other files are just imported from Xen.
> >
> > Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> > Cc: Ian Campbell <ian.campbell@citrix.com>
> > Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> > Acked-by: Ian Campbell <ian.campbell@citrix.com>
>
> I'd be happier if it also had Samuel's ack on it.
>
> > [ output trimmed since this patch is acked ]
>
> Is it the same as was in
> http://bugs.xenproject.org/xen/mid/%3C1422881943-7687-6-git-send-email-wei.liu2@citrix.com%3E
> ?
>
Yes, nothing was changed.
Wei.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH v2 5/7] Mini-OS: standalone build
2015-02-24 16:27 ` Ian Campbell
2015-02-24 16:33 ` Wei Liu
@ 2015-02-24 19:39 ` Samuel Thibault
2015-02-25 9:53 ` Ian Campbell
1 sibling, 1 reply; 22+ messages in thread
From: Samuel Thibault @ 2015-02-24 19:39 UTC (permalink / raw)
To: Ian Campbell; +Cc: ian.jackson, Wei Liu, xen-devel
Ian Campbell, le Tue 24 Feb 2015 16:27:00 +0000, a écrit :
> On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> > In order to keep the tree bisectable all the changes are done in one
> > single commit.
> >
> > Things done in this commit:
> >
> > 1. Import necessary .mk files from Xen.
> > 2. Move all XEN_ related variables to MINIOS_ namespace.
> > 3. Import Xen public header files.
> > 4. Import BSD's list.h and helper script.
> >
> > Mini-OS's vanilla Config.mk is modified to contain some macros copied
> > from Xen's Config.mk. It also contains compatibility handling logic for
> > Xen's stubdom build environment.
> >
> > Files modified:
> > Config.mk
> > Makefile
> > arch/x86/Makefile
> > arch/x86/arch.mk
> > minios.mk
> >
> > All other files are just imported from Xen.
> >
> > Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> > Cc: Ian Campbell <ian.campbell@citrix.com>
> > Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> > Acked-by: Ian Campbell <ian.campbell@citrix.com>
>
> I'd be happier if it also had Samuel's ack on it.
Ack-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH v2 5/7] Mini-OS: standalone build
2015-02-24 19:39 ` Samuel Thibault
@ 2015-02-25 9:53 ` Ian Campbell
2015-02-25 9:56 ` Samuel Thibault
0 siblings, 1 reply; 22+ messages in thread
From: Ian Campbell @ 2015-02-25 9:53 UTC (permalink / raw)
To: Samuel Thibault; +Cc: ian.jackson, Wei Liu, xen-devel
On Tue, 2015-02-24 at 20:39 +0100, Samuel Thibault wrote:
> Ack-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Thanks.
Can I take it you are OK in principal with the plans to move things out?
TBH I think it'll make very little difference to your day-to-day
maintenance.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH v2 5/7] Mini-OS: standalone build
2015-02-25 9:53 ` Ian Campbell
@ 2015-02-25 9:56 ` Samuel Thibault
0 siblings, 0 replies; 22+ messages in thread
From: Samuel Thibault @ 2015-02-25 9:56 UTC (permalink / raw)
To: Ian Campbell; +Cc: ian.jackson, Wei Liu, xen-devel
Ian Campbell, le Wed 25 Feb 2015 09:53:52 +0000, a écrit :
> On Tue, 2015-02-24 at 20:39 +0100, Samuel Thibault wrote:
> > Ack-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
>
> Can I take it you are OK in principal with the plans to move things out?
Yes.
> TBH I think it'll make very little difference to your day-to-day
> maintenance.
Yes :)
Samuel
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target
2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
` (4 preceding siblings ...)
2015-02-20 11:17 ` [PATCH v2 5/7] Mini-OS: standalone build Wei Liu
@ 2015-02-20 11:17 ` Wei Liu
2015-02-24 16:33 ` Ian Campbell
2015-02-20 11:17 ` [PATCH v2 7/7] Remove in-tree mini-os directory Wei Liu
2015-02-24 16:36 ` [PATCH v2 0/7] Split off mini-os to a separate tree Ian Campbell
7 siblings, 1 reply; 22+ messages in thread
From: Wei Liu @ 2015-02-20 11:17 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
Provide mini-os url and revision in Config.mk
Introduce Makefile.mini-os which contains mini-os specific targets.
Target mini-os-dir clones mini-os tree from upstream.
Make stubdom targets depend on mini-os-dir target. Make
subtree-force-update{,-all} depend on mini-os-dir-force-update.
Also make mktarball script generate mini-os archive.
Original mini-os directory is renamed to mini-os-intree to help reduce
patch length. That directory will be deleted in a separate patch.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
---
Changes in v2:
1. Use hash in Config.mk.
---
.gitignore | 6 ++----
Config.mk | 6 ++++++
Makefile | 15 +++++++++------
Makefile.mini-os | 15 +++++++++++++++
[ output trimmed ]
stubdom/Makefile | 4 ++++
tools/misc/mktarball | 4 +++-
227 files changed, 39 insertions(+), 11 deletions(-)
create mode 100644 Makefile.mini-os
[ rename output trimmed ]
diff --git a/.gitignore b/.gitignore
index cdbdca7..4979018 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,10 +46,8 @@ docs/man1/
docs/man5/
docs/pdf/
docs/txt/
-extras/mini-os/include/mini-os
-extras/mini-os/include/x86/mini-os
-extras/mini-os/include/list.h
-extras/mini-os/mini-os*
+extras/mini-os
+extras/mini-os-remote
install/*
stubdom/autom4te.cache/
stubdom/binutils-*
diff --git a/Config.mk b/Config.mk
index d12ad91..f1d4c0a 100644
--- a/Config.mk
+++ b/Config.mk
@@ -245,14 +245,20 @@ OVMF_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/ovmf.git
QEMU_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/qemu-upstream-unstable.git
QEMU_TRADITIONAL_URL ?= http://xenbits.xen.org/git-http/qemu-xen-unstable.git
SEABIOS_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/seabios.git
+MINIOS_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/mini-os.git
else
OVMF_UPSTREAM_URL ?= git://xenbits.xen.org/ovmf.git
QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/qemu-upstream-unstable.git
QEMU_TRADITIONAL_URL ?= git://xenbits.xen.org/qemu-xen-unstable.git
SEABIOS_UPSTREAM_URL ?= git://xenbits.xen.org/seabios.git
+MINIOS_UPSTREAM_URL ?= git://xenbits.xen.org/mini-os.git
endif
OVMF_UPSTREAM_REVISION ?= 447d264115c476142f884af0be287622cd244423
QEMU_UPSTREAM_REVISION ?= master
+MINIOS_UPSTREAM_REVISION ?= 0cc86f6747f9bba01a332f3255c48dc743e29c4d
+# Thu Jan 29 19:10:04 2015 +0000
+# Mini-OS: standalone build
+
SEABIOS_UPSTREAM_REVISION ?= rel-1.7.5
# Thu May 22 16:59:16 2014 -0400
# python3 fixes for vgabios and csm builds.
diff --git a/Makefile b/Makefile
index ad6f917..d4d0f74 100644
--- a/Makefile
+++ b/Makefile
@@ -17,6 +17,8 @@ TARGS_DISTCLEAN=$(patsubst %, distclean-%, $(SUBSYSTEMS))
export XEN_ROOT=$(CURDIR)
include Config.mk
+include Makefile.mini-os
+
SUBARCH := $(subst x86_32,i386,$(XEN_TARGET_ARCH))
export XEN_TARGET_ARCH SUBARCH
export DESTDIR
@@ -37,7 +39,7 @@ build-tools:
$(MAKE) -C tools build
.PHONY: build-stubdom
-build-stubdom:
+build-stubdom: mini-os-dir
$(MAKE) -C stubdom build
ifeq (x86_64,$(XEN_TARGET_ARCH))
XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom pv-grub
@@ -84,7 +86,7 @@ install-tools:
$(MAKE) -C tools install
.PHONY: install-stubdom
-install-stubdom: install-tools
+install-stubdom: install-tools mini-os-dir
$(MAKE) -C stubdom install
ifeq (x86_64,$(XEN_TARGET_ARCH))
XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub
@@ -125,11 +127,11 @@ rpmball: dist
bash ./tools/misc/mkrpm $(XEN_ROOT) $$($(MAKE) -C xen xenversion --no-print-directory)
.PHONY: subtree-force-update
-subtree-force-update:
+subtree-force-update: mini-os-dir-force-update
$(MAKE) -C tools subtree-force-update
.PHONY: subtree-force-update-all
-subtree-force-update-all:
+subtree-force-update-all: mini-os-dir-force-update
$(MAKE) -C tools subtree-force-update-all
# Make a source tarball, including qemu sub-trees.
@@ -161,7 +163,7 @@ clean-tools:
$(MAKE) -C tools clean
.PHONY: clean-stubdom
-clean-stubdom:
+clean-stubdom: mini-os-dir
$(MAKE) -C stubdom crossclean
ifeq (x86_64,$(XEN_TARGET_ARCH))
XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
@@ -187,11 +189,12 @@ distclean-tools:
$(MAKE) -C tools distclean
.PHONY: distclean-stubdom
-distclean-stubdom:
+distclean-stubdom: mini-os-dir
$(MAKE) -C stubdom distclean
ifeq (x86_64,$(XEN_TARGET_ARCH))
XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom distclean
endif
+ rm -rf extras/mini-os extras/mini-os-remote
.PHONY: distclean-docs
distclean-docs:
diff --git a/Makefile.mini-os b/Makefile.mini-os
new file mode 100644
index 0000000..46b1d80
--- /dev/null
+++ b/Makefile.mini-os
@@ -0,0 +1,15 @@
+.PHONY: mini-os-dir
+mini-os-dir:
+ GIT=$(GIT) $(XEN_ROOT)/scripts/git-checkout.sh \
+ $(MINIOS_UPSTREAM_URL) \
+ $(MINIOS_UPSTREAM_REVISION) \
+ $(XEN_ROOT)/extras/mini-os
+
+.PHONY: mini-os-dir-force-update
+mini-os-dir-force-update: mini-os-dir
+ set -ex; \
+ if [ "$(MINIOS_UPSTREAM_REVISION)" ]; then \
+ cd extras/mini-os-remote; \
+ $(GIT) fetch origin; \
+ $(GIT) reset --hard $(MINIOS_UPSTREAM_REVISION); \
+ fi
[ rename output trimmed ]
diff --git a/stubdom/Makefile b/stubdom/Makefile
index 58ca08c..74b01ee 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -1,6 +1,10 @@
XEN_ROOT = $(CURDIR)/..
MINI_OS = $(XEN_ROOT)/extras/mini-os
+ifeq ($(wildcard $(MINI_OS)/Config.mk),)
+$(error Please run `make mini-os-dir' in top-level directory)
+endif
+
export XEN_OS=MiniOS
export stubdom=y
diff --git a/tools/misc/mktarball b/tools/misc/mktarball
index aad1096..73282b5 100755
--- a/tools/misc/mktarball
+++ b/tools/misc/mktarball
@@ -6,7 +6,7 @@
set -ex
function git_archive_into {
- mkdir "$2"
+ mkdir -p "$2"
git --git-dir="$1"/.git \
archive --format=tar HEAD | \
@@ -33,6 +33,8 @@ git_archive_into $xen_root/tools/qemu-xen-dir-remote $tdir/xen-$desc/tools/qemu-
git_archive_into $xen_root/tools/qemu-xen-traditional-dir-remote $tdir/xen-$desc/tools/qemu-xen-traditional
+git_archive_into $xen_root/extras/mini-os-remote $tdir/xen-$desc/extras/mini-os
+
GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz -C $tdir xen-$desc
echo "Source tarball in $xen_root/dist/xen-$desc.tar.gz"
--
1.9.1
^ permalink raw reply related [flat|nested] 22+ messages in thread* Re: [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target
2015-02-20 11:17 ` [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target Wei Liu
@ 2015-02-24 16:33 ` Ian Campbell
2015-02-24 16:52 ` Wei Liu
0 siblings, 1 reply; 22+ messages in thread
From: Ian Campbell @ 2015-02-24 16:33 UTC (permalink / raw)
To: Wei Liu; +Cc: ian.jackson, xen-devel
On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> @@ -161,7 +163,7 @@ clean-tools:
> $(MAKE) -C tools clean
>
> .PHONY: clean-stubdom
> -clean-stubdom:
> +clean-stubdom: mini-os-dir
> $(MAKE) -C stubdom crossclean
> ifeq (x86_64,$(XEN_TARGET_ARCH))
> XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
> @@ -187,11 +189,12 @@ distclean-tools:
> $(MAKE) -C tools distclean
>
> .PHONY: distclean-stubdom
> -distclean-stubdom:
> +distclean-stubdom: mini-os-dir
These two are a bit odd, since they will force a clone in order to clean
(and in the distclean case immediately discard again).
The way we handle this with e.g. qemu is to have
subdir-clean-qemu-xen-traditional-dir:
set -e; if test -d qemu-xen-traditional-dir/.; then \
$(MAKE) -C qemu-xen-traditional-dir clean; \
fi
so I think you want a pair of {clean,distclean}-mini-os-dir rules which
recurse iff the dir exists.
> $(MAKE) -C stubdom distclean
> ifeq (x86_64,$(XEN_TARGET_ARCH))
> XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom distclean
> endif
> + rm -rf extras/mini-os extras/mini-os-remote
>
> .PHONY: distclean-docs
> distclean-docs:
> diff --git a/Makefile.mini-os b/Makefile.mini-os
> new file mode 100644
> index 0000000..46b1d80
> --- /dev/null
> +++ b/Makefile.mini-os
I still think this file doesn't contain enough to warrant being separate
to the main Makefile.
Ian.
^ permalink raw reply [flat|nested] 22+ messages in thread* Re: [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target
2015-02-24 16:33 ` Ian Campbell
@ 2015-02-24 16:52 ` Wei Liu
2015-02-24 17:01 ` Ian Campbell
0 siblings, 1 reply; 22+ messages in thread
From: Wei Liu @ 2015-02-24 16:52 UTC (permalink / raw)
To: Ian Campbell; +Cc: ian.jackson, Wei Liu, xen-devel
On Tue, Feb 24, 2015 at 04:33:17PM +0000, Ian Campbell wrote:
> On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> > @@ -161,7 +163,7 @@ clean-tools:
> > $(MAKE) -C tools clean
> >
> > .PHONY: clean-stubdom
> > -clean-stubdom:
> > +clean-stubdom: mini-os-dir
> > $(MAKE) -C stubdom crossclean
> > ifeq (x86_64,$(XEN_TARGET_ARCH))
> > XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
> > @@ -187,11 +189,12 @@ distclean-tools:
> > $(MAKE) -C tools distclean
> >
> > .PHONY: distclean-stubdom
> > -distclean-stubdom:
> > +distclean-stubdom: mini-os-dir
>
> These two are a bit odd, since they will force a clone in order to clean
> (and in the distclean case immediately discard again).
>
That's because stubdom's distclean is quite broken, it just won't work
without mini-os.
> The way we handle this with e.g. qemu is to have
> subdir-clean-qemu-xen-traditional-dir:
> set -e; if test -d qemu-xen-traditional-dir/.; then \
> $(MAKE) -C qemu-xen-traditional-dir clean; \
> fi
>
> so I think you want a pair of {clean,distclean}-mini-os-dir rules which
> recurse iff the dir exists.
>
No, we don't actually need to enter mini-os dir and make clean /
distclean when doing clean and distclean of stubdom.
> > $(MAKE) -C stubdom distclean
> > ifeq (x86_64,$(XEN_TARGET_ARCH))
> > XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom distclean
> > endif
> > + rm -rf extras/mini-os extras/mini-os-remote
> >
> > .PHONY: distclean-docs
> > distclean-docs:
> > diff --git a/Makefile.mini-os b/Makefile.mini-os
> > new file mode 100644
> > index 0000000..46b1d80
> > --- /dev/null
> > +++ b/Makefile.mini-os
>
> I still think this file doesn't contain enough to warrant being separate
> to the main Makefile.
>
Right, this now can be merged into main Makffile since all other
references are removed.
Wei.
> Ian.
^ permalink raw reply [flat|nested] 22+ messages in thread* Re: [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target
2015-02-24 16:52 ` Wei Liu
@ 2015-02-24 17:01 ` Ian Campbell
2015-02-24 17:12 ` Wei Liu
0 siblings, 1 reply; 22+ messages in thread
From: Ian Campbell @ 2015-02-24 17:01 UTC (permalink / raw)
To: Wei Liu; +Cc: ian.jackson, xen-devel
On Tue, 2015-02-24 at 16:52 +0000, Wei Liu wrote:
> On Tue, Feb 24, 2015 at 04:33:17PM +0000, Ian Campbell wrote:
> > On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> > > @@ -161,7 +163,7 @@ clean-tools:
> > > $(MAKE) -C tools clean
> > >
> > > .PHONY: clean-stubdom
> > > -clean-stubdom:
> > > +clean-stubdom: mini-os-dir
> > > $(MAKE) -C stubdom crossclean
> > > ifeq (x86_64,$(XEN_TARGET_ARCH))
> > > XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
> > > @@ -187,11 +189,12 @@ distclean-tools:
> > > $(MAKE) -C tools distclean
> > >
> > > .PHONY: distclean-stubdom
> > > -distclean-stubdom:
> > > +distclean-stubdom: mini-os-dir
> >
> > These two are a bit odd, since they will force a clone in order to clean
> > (and in the distclean case immediately discard again).
> >
>
> That's because stubdom's distclean is quite broken, it just won't work
> without mini-os.
If the mini-os dir is not present then I don't think there is any need
to distclean the stubdom, is there? How would anything be present?
>
> > The way we handle this with e.g. qemu is to have
> > subdir-clean-qemu-xen-traditional-dir:
> > set -e; if test -d qemu-xen-traditional-dir/.; then \
> > $(MAKE) -C qemu-xen-traditional-dir clean; \
> > fi
> >
> > so I think you want a pair of {clean,distclean}-mini-os-dir rules which
> > recurse iff the dir exists.
> >
>
> No, we don't actually need to enter mini-os dir and make clean /
> distclean when doing clean and distclean of stubdom.
Didn't you just contradict what you said further above?
^ permalink raw reply [flat|nested] 22+ messages in thread* Re: [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target
2015-02-24 17:01 ` Ian Campbell
@ 2015-02-24 17:12 ` Wei Liu
2015-02-24 17:22 ` Wei Liu
2015-02-24 17:26 ` Ian Campbell
0 siblings, 2 replies; 22+ messages in thread
From: Wei Liu @ 2015-02-24 17:12 UTC (permalink / raw)
To: Ian Campbell; +Cc: ian.jackson, Wei Liu, xen-devel
On Tue, Feb 24, 2015 at 05:01:26PM +0000, Ian Campbell wrote:
> On Tue, 2015-02-24 at 16:52 +0000, Wei Liu wrote:
> > On Tue, Feb 24, 2015 at 04:33:17PM +0000, Ian Campbell wrote:
> > > On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> > > > @@ -161,7 +163,7 @@ clean-tools:
> > > > $(MAKE) -C tools clean
> > > >
> > > > .PHONY: clean-stubdom
> > > > -clean-stubdom:
> > > > +clean-stubdom: mini-os-dir
> > > > $(MAKE) -C stubdom crossclean
> > > > ifeq (x86_64,$(XEN_TARGET_ARCH))
> > > > XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
> > > > @@ -187,11 +189,12 @@ distclean-tools:
> > > > $(MAKE) -C tools distclean
> > > >
> > > > .PHONY: distclean-stubdom
> > > > -distclean-stubdom:
> > > > +distclean-stubdom: mini-os-dir
> > >
> > > These two are a bit odd, since they will force a clone in order to clean
> > > (and in the distclean case immediately discard again).
> > >
> >
> > That's because stubdom's distclean is quite broken, it just won't work
> > without mini-os.
>
> If the mini-os dir is not present then I don't think there is any need
> to distclean the stubdom, is there? How would anything be present?
>
If user builds stubdom then deletes mini-os then wants to clean
studom.
If we don't have that dependence, we just print
Please run `make mini-os-dir' in top-level directory
due to a check in stubdom's Makefile. I think this is acceptable too.
> >
> > > The way we handle this with e.g. qemu is to have
> > > subdir-clean-qemu-xen-traditional-dir:
> > > set -e; if test -d qemu-xen-traditional-dir/.; then \
> > > $(MAKE) -C qemu-xen-traditional-dir clean; \
> > > fi
> > >
> > > so I think you want a pair of {clean,distclean}-mini-os-dir rules which
> > > recurse iff the dir exists.
> > >
> >
> > No, we don't actually need to enter mini-os dir and make clean /
> > distclean when doing clean and distclean of stubdom.
>
> Didn't you just contradict what you said further above?
>
I was thinking all those objects are not placed inside min-os's dir so
there is nothing to clean inside mini-os's directory
However, stubdom does have
$(MAKE) DESTDIR= -C $(MINI_OS) clean
So there is no need for a separate subdir-clean-mini-os-dir.
We can also delete that line. But I would avoid touching stubdom's
Makefile if not necessary.
Wei.
^ permalink raw reply [flat|nested] 22+ messages in thread* Re: [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target
2015-02-24 17:12 ` Wei Liu
@ 2015-02-24 17:22 ` Wei Liu
2015-02-24 17:26 ` Ian Campbell
2015-02-24 17:26 ` Ian Campbell
1 sibling, 1 reply; 22+ messages in thread
From: Wei Liu @ 2015-02-24 17:22 UTC (permalink / raw)
To: Ian Campbell; +Cc: ian.jackson, Wei Liu, xen-devel
On Tue, Feb 24, 2015 at 05:12:20PM +0000, Wei Liu wrote:
> On Tue, Feb 24, 2015 at 05:01:26PM +0000, Ian Campbell wrote:
> > On Tue, 2015-02-24 at 16:52 +0000, Wei Liu wrote:
> > > On Tue, Feb 24, 2015 at 04:33:17PM +0000, Ian Campbell wrote:
> > > > On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> > > > > @@ -161,7 +163,7 @@ clean-tools:
> > > > > $(MAKE) -C tools clean
> > > > >
> > > > > .PHONY: clean-stubdom
> > > > > -clean-stubdom:
> > > > > +clean-stubdom: mini-os-dir
> > > > > $(MAKE) -C stubdom crossclean
> > > > > ifeq (x86_64,$(XEN_TARGET_ARCH))
> > > > > XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
> > > > > @@ -187,11 +189,12 @@ distclean-tools:
> > > > > $(MAKE) -C tools distclean
> > > > >
> > > > > .PHONY: distclean-stubdom
> > > > > -distclean-stubdom:
> > > > > +distclean-stubdom: mini-os-dir
> > > >
> > > > These two are a bit odd, since they will force a clone in order to clean
> > > > (and in the distclean case immediately discard again).
> > > >
> > >
> > > That's because stubdom's distclean is quite broken, it just won't work
> > > without mini-os.
> >
> > If the mini-os dir is not present then I don't think there is any need
> > to distclean the stubdom, is there? How would anything be present?
> >
>
> If user builds stubdom then deletes mini-os then wants to clean
> studom.
>
> If we don't have that dependence, we just print
>
> Please run `make mini-os-dir' in top-level directory
>
> due to a check in stubdom's Makefile. I think this is acceptable too.
>
> > >
> > > > The way we handle this with e.g. qemu is to have
> > > > subdir-clean-qemu-xen-traditional-dir:
> > > > set -e; if test -d qemu-xen-traditional-dir/.; then \
> > > > $(MAKE) -C qemu-xen-traditional-dir clean; \
> > > > fi
> > > >
> > > > so I think you want a pair of {clean,distclean}-mini-os-dir rules which
> > > > recurse iff the dir exists.
> > > >
> > >
> > > No, we don't actually need to enter mini-os dir and make clean /
> > > distclean when doing clean and distclean of stubdom.
> >
> > Didn't you just contradict what you said further above?
> >
>
> I was thinking all those objects are not placed inside min-os's dir so
> there is nothing to clean inside mini-os's directory
>
> However, stubdom does have
> $(MAKE) DESTDIR= -C $(MINI_OS) clean
>
> So there is no need for a separate subdir-clean-mini-os-dir.
>
> We can also delete that line. But I would avoid touching stubdom's
> Makefile if not necessary.
>
OK, it turns out if I just remove that line in stubdom's clean target
everything works fine. With that change I can remove stubdom's clean and
distclean dependency on mini-os dir.
Wei.
> Wei.
^ permalink raw reply [flat|nested] 22+ messages in thread* Re: [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target
2015-02-24 17:22 ` Wei Liu
@ 2015-02-24 17:26 ` Ian Campbell
0 siblings, 0 replies; 22+ messages in thread
From: Ian Campbell @ 2015-02-24 17:26 UTC (permalink / raw)
To: Wei Liu; +Cc: ian.jackson, xen-devel
On Tue, 2015-02-24 at 17:22 +0000, Wei Liu wrote:
> On Tue, Feb 24, 2015 at 05:12:20PM +0000, Wei Liu wrote:
> > On Tue, Feb 24, 2015 at 05:01:26PM +0000, Ian Campbell wrote:
> > > On Tue, 2015-02-24 at 16:52 +0000, Wei Liu wrote:
> > > > On Tue, Feb 24, 2015 at 04:33:17PM +0000, Ian Campbell wrote:
> > > > > On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> > > > > > @@ -161,7 +163,7 @@ clean-tools:
> > > > > > $(MAKE) -C tools clean
> > > > > >
> > > > > > .PHONY: clean-stubdom
> > > > > > -clean-stubdom:
> > > > > > +clean-stubdom: mini-os-dir
> > > > > > $(MAKE) -C stubdom crossclean
> > > > > > ifeq (x86_64,$(XEN_TARGET_ARCH))
> > > > > > XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
> > > > > > @@ -187,11 +189,12 @@ distclean-tools:
> > > > > > $(MAKE) -C tools distclean
> > > > > >
> > > > > > .PHONY: distclean-stubdom
> > > > > > -distclean-stubdom:
> > > > > > +distclean-stubdom: mini-os-dir
> > > > >
> > > > > These two are a bit odd, since they will force a clone in order to clean
> > > > > (and in the distclean case immediately discard again).
> > > > >
> > > >
> > > > That's because stubdom's distclean is quite broken, it just won't work
> > > > without mini-os.
> > >
> > > If the mini-os dir is not present then I don't think there is any need
> > > to distclean the stubdom, is there? How would anything be present?
> > >
> >
> > If user builds stubdom then deletes mini-os then wants to clean
> > studom.
> >
> > If we don't have that dependence, we just print
> >
> > Please run `make mini-os-dir' in top-level directory
> >
> > due to a check in stubdom's Makefile. I think this is acceptable too.
> >
> > > >
> > > > > The way we handle this with e.g. qemu is to have
> > > > > subdir-clean-qemu-xen-traditional-dir:
> > > > > set -e; if test -d qemu-xen-traditional-dir/.; then \
> > > > > $(MAKE) -C qemu-xen-traditional-dir clean; \
> > > > > fi
> > > > >
> > > > > so I think you want a pair of {clean,distclean}-mini-os-dir rules which
> > > > > recurse iff the dir exists.
> > > > >
> > > >
> > > > No, we don't actually need to enter mini-os dir and make clean /
> > > > distclean when doing clean and distclean of stubdom.
> > >
> > > Didn't you just contradict what you said further above?
> > >
> >
> > I was thinking all those objects are not placed inside min-os's dir so
> > there is nothing to clean inside mini-os's directory
> >
> > However, stubdom does have
> > $(MAKE) DESTDIR= -C $(MINI_OS) clean
> >
> > So there is no need for a separate subdir-clean-mini-os-dir.
> >
> > We can also delete that line. But I would avoid touching stubdom's
> > Makefile if not necessary.
> >
>
> OK, it turns out if I just remove that line in stubdom's clean target
> everything works fine. With that change I can remove stubdom's clean and
> distclean dependency on mini-os dir.
Ah, now I really see what you were getting at, unlike just now ;-)
Ian.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target
2015-02-24 17:12 ` Wei Liu
2015-02-24 17:22 ` Wei Liu
@ 2015-02-24 17:26 ` Ian Campbell
1 sibling, 0 replies; 22+ messages in thread
From: Ian Campbell @ 2015-02-24 17:26 UTC (permalink / raw)
To: Wei Liu; +Cc: ian.jackson, xen-devel
On Tue, 2015-02-24 at 17:12 +0000, Wei Liu wrote:
> On Tue, Feb 24, 2015 at 05:01:26PM +0000, Ian Campbell wrote:
> > On Tue, 2015-02-24 at 16:52 +0000, Wei Liu wrote:
> > > On Tue, Feb 24, 2015 at 04:33:17PM +0000, Ian Campbell wrote:
> > > > On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> > > > > @@ -161,7 +163,7 @@ clean-tools:
> > > > > $(MAKE) -C tools clean
> > > > >
> > > > > .PHONY: clean-stubdom
> > > > > -clean-stubdom:
> > > > > +clean-stubdom: mini-os-dir
> > > > > $(MAKE) -C stubdom crossclean
> > > > > ifeq (x86_64,$(XEN_TARGET_ARCH))
> > > > > XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom crossclean
> > > > > @@ -187,11 +189,12 @@ distclean-tools:
> > > > > $(MAKE) -C tools distclean
> > > > >
> > > > > .PHONY: distclean-stubdom
> > > > > -distclean-stubdom:
> > > > > +distclean-stubdom: mini-os-dir
> > > >
> > > > These two are a bit odd, since they will force a clone in order to clean
> > > > (and in the distclean case immediately discard again).
> > > >
> > >
> > > That's because stubdom's distclean is quite broken, it just won't work
> > > without mini-os.
> >
> > If the mini-os dir is not present then I don't think there is any need
> > to distclean the stubdom, is there? How would anything be present?
> >
>
> If user builds stubdom then deletes mini-os then wants to clean
> studom.
I think users who randomly delete things can be expected to cope with
randomly cleaning other stuff too ;-)
>
> If we don't have that dependence, we just print
>
> Please run `make mini-os-dir' in top-level directory
>
> due to a check in stubdom's Makefile. I think this is acceptable too.
That's better than cloning then removing it everytime someone runs
distclean, for sure.
I'd prefer something saying "not cleaning because" but I suppose the
above is from a generic catch-all rule not a *clean specific one.
> > > > The way we handle this with e.g. qemu is to have
> > > > subdir-clean-qemu-xen-traditional-dir:
> > > > set -e; if test -d qemu-xen-traditional-dir/.; then \
> > > > $(MAKE) -C qemu-xen-traditional-dir clean; \
> > > > fi
> > > >
> > > > so I think you want a pair of {clean,distclean}-mini-os-dir rules which
> > > > recurse iff the dir exists.
> > > >
> > >
> > > No, we don't actually need to enter mini-os dir and make clean /
> > > distclean when doing clean and distclean of stubdom.
> >
> > Didn't you just contradict what you said further above?
> >
>
> I was thinking all those objects are not placed inside min-os's dir so
> there is nothing to clean inside mini-os's directory
>
> However, stubdom does have
> $(MAKE) DESTDIR= -C $(MINI_OS) clean
>
> So there is no need for a separate subdir-clean-mini-os-dir.
I see. What I was trying to say (and did badly, and then misunderstood
your response) was that the stubdom *clean should check for mini-os-dir
(which is different to the qemu case, I admit).
i.e. what I really was thinking of was:
subdir-clean-stubdom:
set -e; if test -d mini-os-dir/.; then \
$(MAKE) -C stubdom clean; \
else
echo "Not running clean in stubdom, no mini-os-dir.";\
echo "run `make mini-os-dir' in top-level before cleaning stubdom" ;\
fi
(similar for distclean)
> We can also delete that line. But I would avoid touching stubdom's
> Makefile if not necessary.
>
> Wei.
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH v2 7/7] Remove in-tree mini-os directory
2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
` (5 preceding siblings ...)
2015-02-20 11:17 ` [PATCH v2 6/7] build system: stubdom targets now depends on mini-os target Wei Liu
@ 2015-02-20 11:17 ` Wei Liu
2015-02-24 16:36 ` [PATCH v2 0/7] Split off mini-os to a separate tree Ian Campbell
7 siblings, 0 replies; 22+ messages in thread
From: Wei Liu @ 2015-02-20 11:17 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Liu, ian.jackson, ian.campbell
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
[ output trimmed ]
^ permalink raw reply [flat|nested] 22+ messages in thread* Re: [PATCH v2 0/7] Split off mini-os to a separate tree
2015-02-20 11:17 [PATCH v2 0/7] Split off mini-os to a separate tree Wei Liu
` (6 preceding siblings ...)
2015-02-20 11:17 ` [PATCH v2 7/7] Remove in-tree mini-os directory Wei Liu
@ 2015-02-24 16:36 ` Ian Campbell
7 siblings, 0 replies; 22+ messages in thread
From: Ian Campbell @ 2015-02-24 16:36 UTC (permalink / raw)
To: Wei Liu; +Cc: Samuel Thibault, Stefano Stabellini, ian.jackson, xen-devel
On Fri, 2015-02-20 at 11:17 +0000, Wei Liu wrote:
> This is v2 of my mini-os splitting off patch series.
I had a couple of small comments, but it's looking good.
You should have CCd Samuel and Stefano on this stuff. From MAINTAINERS:
MINI-OS
M: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
M: Samuel Thibault <samuel.thibault@ens-lyon.org>
S: Supported
F: config/MiniOS.mk
F: extras/mini-os/
Even more so than usual since we are moving the whole tree, so they
really ought to be given the chance to object if not ack.
Ian.
^ permalink raw reply [flat|nested] 22+ messages in thread