WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH] stubdom: enable compilation by default on x86*

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH] stubdom: enable compilation by default on x86*
From: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>
Date: Fri, 4 Jul 2008 19:50:39 +0100
Delivery-date: Fri, 04 Jul 2008 11:51:01 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Mail-followup-to: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.12-2006-07-14
stubdom: enable compilation by default on x86*

Also use a newlib snapshot instead of the slow cvs checkout.

diff -r 517206bf3df2 Makefile
--- a/Makefile  Fri Jul 04 19:28:41 2008 +0100
+++ b/Makefile  Fri Jul 04 19:49:49 2008 +0100
@@ -15,12 +15,13 @@
 
 # build and install everything into the standard system directories
 .PHONY: install
-install: install-xen install-kernels install-tools install-docs
+install: install-xen install-kernels install-tools install-stubdom install-docs
 
 .PHONY: build
 build: kernels
        $(MAKE) -C xen build
        $(MAKE) -C tools build
+       $(MAKE) -C stubdom build
        $(MAKE) -C docs build
 
 # The test target is for unit tests that can run without an installation.  Of
@@ -33,7 +34,7 @@
 # build and install everything into local dist directory
 .PHONY: dist
 dist: DESTDIR=$(DISTDIR)/install
-dist: dist-xen dist-kernels dist-tools dist-docs
+dist: dist-xen dist-kernels dist-tools dist-stubdom dist-docs
        $(INSTALL_DIR) $(DISTDIR)/check
        $(INSTALL_DATA) ./COPYING $(DISTDIR)
        $(INSTALL_DATA) ./README $(DISTDIR)
@@ -44,10 +45,11 @@
        @: # do nothing
 
 # Legacy dist targets
-.PHONY: xen tools kernels docs
+.PHONY: xen tools stubdom kernels docs
 xen: dist-xen
 tools: dist-tools
 kernels: dist-kernels
+stubdom: dist-stubdom
 docs: dist-docs
 
 .PHONY: prep-kernels
@@ -65,6 +67,10 @@
 .PHONY: install-kernels
 install-kernels:
        for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
+
+.PHONY: install-stubdom
+install-stubdom:
+       $(MAKE) -C stubdom install
 
 .PHONY: install-docs
 install-docs:
@@ -102,6 +108,7 @@
 clean::
        $(MAKE) -C xen clean
        $(MAKE) -C tools clean
+       $(MAKE) -C stubdom crossclean
        $(MAKE) -C docs clean
 
 # clean, but blow away kernel build tree plus tarballs
@@ -109,6 +116,7 @@
 distclean:
        $(MAKE) -C xen distclean
        $(MAKE) -C tools distclean
+       $(MAKE) -C stubdom distclean
        $(MAKE) -C docs distclean
        rm -rf dist patches/tmp
        for i in $(ALLKERNELS) ; do $(MAKE) $$i-delete ; done
@@ -132,6 +140,7 @@
        @echo '  install-xen      - build and install the Xen hypervisor'
        @echo '  install-tools    - build and install the control tools'
        @echo '  install-kernels  - build and install guest kernels'
+       @echo '  install-stubdom  - build and install the stubdomain images'
        @echo '  install-docs     - build and install user documentation'
        @echo ''
        @echo 'Building targets:'
@@ -140,6 +149,7 @@
        @echo '                     trees then make dist'
        @echo '  xen              - build and install Xen hypervisor'
        @echo '  tools            - build and install tools'
+       @echo '  stubdomain       - build and install the stubdomain images'
        @echo '  kernels          - build and install guest kernels'
        @echo '  kbuild           - synonym for make kernels'
        @echo '  docs             - build and install user documentation'
diff -r 517206bf3df2 stubdom/Makefile
--- a/stubdom/Makefile  Fri Jul 04 19:28:41 2008 +0100
+++ b/stubdom/Makefile  Fri Jul 04 19:49:49 2008 +0100
@@ -11,7 +11,7 @@
 IOEMU_OPTIONS=--disable-vnc-tls 
 ZLIB_VERSION=1.2.3
 LIBPCI_VERSION=2.2.9
-NEWLIB_DATE=2008-01-01
+NEWLIB_VERSION=1.16.0
 LWIP_DATE=2008-06-01
 GRUB_DATE=2008-06-01
 
@@ -25,10 +25,12 @@
 ifeq ($(GNU_TARGET_ARCH), i686)
 TARGET_CFLAGS=
 NEWLIB_CFLAGS+=-D_I386MACH_ALLOW_HW_INTERRUPTS
+STUBDOM_SUPPORTED=1
 endif
 ifeq ($(GNU_TARGET_ARCH), x86_64)
 TARGET_CFLAGS=-mno-red-zone
 NEWLIB_CFLAGS+=-D_I386MACH_ALLOW_HW_INTERRUPTS
+STUBDOM_SUPPORTED=1
 endif
 ifeq ($(GNU_TARGET_ARCH), ia64)
 TARGET_CFLAGS=-mconstant-gp
@@ -57,26 +59,34 @@
 TARGETS=ioemu c caml grub
 
 .PHONY: all
-all: ioemu-stubdom c-stubdom pv-grub
+all: build
+ifeq ($(STUBDOM_SUPPORTED),1)
+build: ioemu-stubdom c-stubdom pv-grub
+else
+build:
+endif
 
 ##############
 # Cross-newlib
 ##############
 
-newlib-cvs:
-       cvs -z 9 -d :pserver:anoncvs@xxxxxxxxxxxxxxxxxx:/cvs/src co -D 
$(NEWLIB_DATE) newlib
-       mv src newlib-cvs
+newlib-$(NEWLIB_VERSION).tar.gz:
+       $(WGET) 
ftp://sources.redhat.com/pub/newlib/newlib-$(NEWLIB_VERSION).tar.gz
+
+newlib-$(NEWLIB_VERSION): newlib-$(NEWLIB_VERSION).tar.gz
+       tar xzf $<
        patch -d $@ -p0 < newlib.patch
+       touch $@
 
 NEWLIB_STAMPFILE=$(CROSS_ROOT)/$(GNU_TARGET_ARCH)-xen-elf/lib/libc.a
 .PHONY: cross-newlib
 cross-newlib: $(NEWLIB_STAMPFILE)
-$(NEWLIB_STAMPFILE): newlib-cvs
+$(NEWLIB_STAMPFILE): newlib-$(NEWLIB_VERSION)
        mkdir -p newlib-build
        ( cd newlib-build && \
-         CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) 
$(NEWLIB_CFLAGS)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) 
RANLIB_FOR_TARGET=$(RANLIB) ../newlib-cvs/configure --prefix=$(CROSS_PREFIX) 
--verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long 
--disable-multilib && \
+         CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) 
$(NEWLIB_CFLAGS)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) 
RANLIB_FOR_TARGET=$(RANLIB) ../newlib-$(NEWLIB_VERSION)/configure 
--prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf 
--enable-newlib-io-long-long --disable-multilib && \
          $(MAKE) && \
-         $(MAKE) install )
+         DESTDIR= $(MAKE) install )
 
 ############
 # Cross-zlib
@@ -237,14 +247,21 @@
 # install
 #########
 
+ifeq ($(STUBDOM_SUPPORTED),1)
 install: install-ioemu install-grub
+else
+install:
+endif
 
-install-ioemu: mini-os-ioemu/mini-os.gz
+install-ioemu: ioemu-stubdom
+       $(INSTALL_DIR) "$(DESTDIR)/usr/lib/xen/bin"
        $(INSTALL_PROG) stubdom-dm "$(DESTDIR)/usr/lib/xen/bin"
-       $(INSTALL_PROG) $< "$(DESTDIR)/usr/lib/xen/boot/ioemu-stubdom.gz"
+       $(INSTALL_DIR) "$(DESTDIR)/usr/lib/xen/boot"
+       $(INSTALL_PROG) mini-os-ioemu/mini-os.gz 
"$(DESTDIR)/usr/lib/xen/boot/ioemu-stubdom.gz"
 
-install-grub: mini-os-grub/mini-os.gz
-       $(INSTALL_PROG) $< "$(DESTDIR)/usr/lib/xen/boot/pv-grub.gz"
+install-grub: pv-grub
+       $(INSTALL_DIR) "$(DESTDIR)/usr/lib/xen/boot"
+       $(INSTALL_PROG) mini-os-grub/mini-os.gz 
"$(DESTDIR)/usr/lib/xen/boot/pv-grub.gz"
 
 #######
 # clean
@@ -272,13 +289,14 @@
 # clean patched sources
 .PHONY: patchclean
 patchclean: crossclean
-       rm -fr newlib-cvs
+       rm -fr newlib-$(NEWLIB_VERSION)
        rm -fr lwip-cvs
        rm -fr grub-cvs
 
 # clean downloads
 .PHONY: downloadclean
 downloadclean: patchclean
+       rm -f newlib-$(ZLIB_VERSION).tar.gz
        rm -f zlib-$(ZLIB_VERSION).tar.gz
        rm -f pciutils-$(LIBPCI_VERSION).tar.bz2
 

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH] stubdom: enable compilation by default on x86*, Samuel Thibault <=