Commit Graph
177 Commits
Author SHA1 Message Date
George Dunlap b728d886a5 build: Add xenversion as a top-level target
We already have xenversion as a target in the xen subdirectory;
simply extend it so that "make xenversion" does what you'd expect.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
2012-03-07 07:42:09 +00:00
Ian Jackson 85896a7c4d build: add autoconf to replace custom checks in tools/check
Added autotools magic to replace custom check scripts. The previous
checks have been ported to autoconf, and some additional ones have
been added (plus the suggestions from running autoscan). Two files are
created as a result from executing configure script, config/Tools.mk
and config.h.

conf/Tools.mk is included by tools/Rules.mk, and contains most of the
options previously defined in .config, that can now be set passing
parameters or defining environment variables when executing configure
script.

config.h is only used by libxl/xl to detect yajl_version.h.

[ tools/config.sub and config.guess copied from
  autotools-dev 20100122.1 from Debian squeeze i386,
  which is GPLv2.

  tools/configure generated using the included ./autogen.sh
  which ran autoconf 2.67-2 from Debian squeeze i386.  autoconf
  is GPLv3+ but has a special exception for the autoconf output;
  this exception applies to us and exempts us from complying
  with GPLv3+ for configure, which is good as Xen is GPL2 only.

  - Ian Jackson ]

Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>
Tested-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
2012-02-22 01:55:03 +00:00
Keir Fraser 8311d176ea docs: Remove outdated LaTex documentation.
Signed-off-by: Keir Fraser <keir@xen.org>
2012-01-25 15:52:47 +00:00
14ee3c05f3 Clone and build Seabios by default
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2012-01-24 15:09:31 +00:00
e737b4333b Clone and build upstream Qemu by default
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-01-24 15:09:30 +00:00
b21f00167d Rename ioemu-dir as qemu-xen-traditional-dir
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-01-24 15:09:29 +00:00
Ian Jackson dcbc297aea tools: Revert seabios and upstream qemu build changes
These have broken the build and it seems to be difficult to fix.  So
we will revert the whole lot for now, and await corrected patch(es).

Revert "fix the build when CONFIG_QEMU is specified by the user"
Revert "tools: fix permissions of git-checkout.sh"
Revert "scripts/git-checkout.sh: Is not bash specific. Invoke with /bin/sh."
Revert "Clone and build Seabios by default"
Revert "Clone and build upstream Qemu by default"
Revert "Rename ioemu-dir as qemu-xen-traditional-dir"
Revert "Move the ioemu-dir-find shell script to an external file"

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2011-09-14 11:38:13 +01:00
Stefano Stabellini 9233be8d2c Clone and build upstream Qemu by default
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2011-09-13 10:29:14 +01:00
Stefano Stabellini 145854fa0d Rename ioemu-dir as qemu-xen-traditional-dir
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2011-09-13 10:27:53 +01:00
Keir Fraser 0d094d5c2f Makefile: install-tools does not depend on ioemu-dir if CONFIG_IOEMU=n
Based on patch by George Dunlap.

Signed-off-by: Keir Fraser <keir@xen.org>
2011-05-20 08:48:33 +01:00
Tim Deegan ad06dc009b Build target to wrap dist/install in a .deb archive.
Adds "make deb", which does a "make dist" build and wraps the
resulting dist/install files in dist/xen-<version>.deb

This is _not_ a "packaged" version of Xen for Debian users, nor is it
intended to compete with anyone else's packaging efforts.  In
particular it doesn't do any of the boot-time or fstab fixups needed
to actually start the xen tools.  It's just a quick hack for
developers to be able to quickly install and uninstall a Xen build on
a test box.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2011-05-16 13:34:25 +01:00
Ian Campbell cb6c757fa4 tools: provide explicit target for refetching/resetting qemu
This patch adds an explicit update mechanism:
  make tools/ioemu-dir-force-update
This isn't brilliant but is better than doing "cd tools/ioemu-remote
&& git reset --hard <sha1...>" by hand.

Note that invoking this target will destroy all working tree changes
made to qemu-xen.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2010-11-09 18:15:25 +00:00
744d6961f9 tools, build system: Make changing distro-specific layout aspects easier
Introduce CONFIG_LEAF_DIR, SUBSYS_DIR, INITD_DIR variables to cope
better with variation between distributions.

See docs/misc/distro_mapping.txt for details.

Signed-off-by: Bruce Edge <bruce.edge@gmail.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2010-09-20 17:54:25 +01:00
Keir Fraser 4d0cb9ebfd Makefile: Serialise stubdom build after tools
Currently "make stubdom" on its own fails because it depends on files
being installed by the results of "make tools".  This also means that
in some circumstances a parallel "make tools stubdom" (or "make all")
can fail due to races.  So make "make stubdom" depend on "make tools"
having completed first.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2010-07-09 12:22:52 +01:00
Keir Fraser b45cd94758 Makefile: Separate misc dist things from dist target
Separate the miscellaneous actions the dist: target does into its own
target so you can run them independently.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
2010-06-18 14:07:19 +01:00
Keir Fraser ff811c2bc4 uninstall: get rid of hardcoded pathes
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-05-26 10:14:34 +01:00
Keir Fraser e4640b6f1f TXT: update Makefile to latest tboot tarfile
This patch updates the Makefile to download the latest version of
tboot, which supports the interface changes made recently.  This
should go into 3.4, since 3.4 supports the new tboot interface.

Signed-off-by: Joseph Cihula <joseph.cihula@intel.com>
2009-04-17 17:39:05 +01:00
Keir Fraser 11e1149fe0 tools: Always use sane upstream (`native') python paths
Previously, by default we would install our python modules into
/usr/lib/python/xen, for example /usr/lib/python/xen/__init__.py.
Upstream python's standard install location (a) includes the Python
version number and (b) puts things in site-packages by default.

Our best conjecture for the reason for this was an attempt to make the
installs portable between different python versions.  However, that
doesn't work because compiled python modules (.pyc), and C python
extensions corresponding to one version of python, are not compatible
across different versions of python.

This is why upstream include the version number.

site-packages is the standard location for locally-installed packages
and is automatically included on the python search path.

In this change, we abandon our own unusual python path setup:

 * Invoke setup.py in an entirely standard manner.  We pass
   PREFIX and DESTDIR using the appropriate options provided by
   setup.py for those purposes (adding them to setup.py calls
   which were previously lacking them).

 * Since the installation locations are now on the standard
   python path, we no longer need to add anything to the path
   in any of our python utilities.  Therefore remove all that
   code from every python script.  (Many of these scripts
   unconditionally added /usr/lib/python and /usr/lib64/python which
   is wrong even in the old world.)

 * There is no longer any special `Xen python path'.  xen-python-path
   is no longer needed.  It is no longer called by anything in our
   tree.  However since out-of-tree callers may still invoke it, we
   retain it.  It now prints a fixed string referring to a directory
   which does not to exist; callers (who use it to augment their
   python path) will thus add a nonexistent directory to their python
   path which is harmless.

 * Remove various workarounds including use of setup.py --home
   (which is intended for something completely different).

 * Remove tests for the XEN_PYTHON_NATIVE_INSTALL build-time
   environment variable.  The new behaviour is the behaviour which we
   should have had if this variable had been set.  That is, it is now
   as if this variable was always set but also bugs in the resulting
   install have been fixed.

This should be a proper fix for the bug addressed by c/s 19515.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2009-04-08 19:13:04 +01:00
Keir Fraser 1a4c39bf21 Revert c/s 19504 -- uses an obsolete sysfs interface.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-04-06 20:56:02 +01:00
Keir Fraser fdd33002ee tools: Add device-path command to convert SBDF into device path.
'SBDF' format is "[SEG#:]BUS#:DEV#.FUNC#"
  ex) 0000:0a:1f.3
Device path format is "HID[:UID]-DEV#.FUNC#[-DEV#.FUNC#[...]]"
  ex) PNP0A08:0-2.0-0.0

The command can be executed as follows.

# device_path 0a:1f.3
PNP0A08:0-2.0-0.0

Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
2009-04-06 13:52:56 +01:00
Keir Fraser 4d4d14e8e8 Add udev rules to deliver hw events to xend
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
2009-03-17 10:38:06 +00:00
Keir Fraser cbd07b72a3 Download external tarballs from xenbits.xensource.com
I have copied the tarballs that the xen-unstable build downloads to
xenbits.xensource.com (which also hosts our hg and git).  This patch
changes the download URLs to use that location.

That way the build will depend on only one external machine, under one
administration, rather than many.  Also it means that the build won't
break if these sites become permanently unavailable or are rearranged
and we don't run a risk of having to panic and beg if a file should go
missing.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2009-01-05 11:19:16 +00:00
Keir Fraser 7ac3a03d8b Fix direct use of 'make' -> $(MAKE)
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2008-09-24 12:47:33 +01:00
Keir Fraser 689db5e9fb Avoid parallel invocation of git for ioemu-remote.
The stubdom and tools directories both run `make ioemu-dir-find' in
tools.  In a parallel build, both these invocations can run
concurrently because we're doing recursive make.

This change fixes this problem by adding a suitable dependencies in
the top-level Makefile for the recursion into tools/ and stubdom/,
ensuring that the git fetch happens once, first.

The bug was introduced in 18472/18474.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2008-09-15 17:10:43 +01:00
Keir Fraser 006e7188d4 pv-grub: On x86_64, also build an x86_32 pv-grub
This requires suffixing obj directories and having grub compiled
outside sources.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-14 13:46:48 +01:00
Keir Fraser 10f71cbcc9 Fix make help for stubdom
This patch fixes "make help".
"make stubdomain" does not work.

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
2008-08-04 16:44:14 +01:00
Keir Fraser 533a2a2773 stubdom: enable compilation/installation by default
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-07-14 15:21:03 +01:00
Keir Fraser 4c4e9db61c stubdom: Add root Makefile targets, disabled by default for now
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-07-09 14:21:42 +01:00
Keir Fraser b011be94ba Update tboot tarfile to latest version in Trusted Boot SourceForge site
Signed-off-by:  Joseph Cihula <joseph.cihula@intel.com>
2008-07-03 10:57:51 +01:00
Keir Fraser 84d54d5d8b i386: Remove non-PAE hypervisor build target.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-05-08 14:32:11 +01:00
Keir Fraser cc6d494337 src-tarball: Remove source control metadata.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-21 20:21:39 +01:00
Keir Fraser 103cff93e2 Cache figlet output across builds, and provide src-tarball target
which creates figlet output and then deletes figlet itself (which is
not licensed under GPL).

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-21 20:08:29 +01:00
Keir Fraser 22d4eec911 Changeset 16771 introduced a new file called tools/check/funcs.sh. This
file needs to be installed into distdir together with the check scripts.

Signed-off-by: Frank Arnold <frank.arnold@amd.com>
2008-01-26 10:16:21 +00:00
Keir Fraser c8107e1564 Apply PREFIX directly to LIBDIR.
Signed-off-by: Bastian Blank <waldi@debian.org>
2008-01-22 14:29:11 +00:00
Keir Fraser c47191085f tboot, xen: Update for Trusted Boot v20071128.
This patch updates the Xen to work with the latest version (20071128)
of Trusted Boot (tboot).  This version of tboot now resides at 16MB
(instead of the previous <1MB), in addition to several other
enhancements.  By residing at 16MB, this version of tboot will be
protected from access by dom0.

This patch allows Xen to correctly map the tboot shutdown code that it
must trampoline into for a clean shutdown (without this patch Xen will
fault on shutdown).  This patch will also work with the previous
version of tboot.

Signed-off-by: Joseph Cihula <joseph.cihula@intel.com>
2007-12-04 10:47:10 +00:00
Keir Fraser dbda63b318 Update README file for Xen 3.2, and add tboot makefile targets and
readme decsription.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-10-30 10:17:40 +00:00
Ian Campbell c58e445d1c Remove sparse tree.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-06-04 11:16:19 +01:00
Ian Campbell 0a957ea75a Push the target to build foreign headers into tools and xen
directories.  This allows those directories to be built independently
without relying on the toplevel Makefile.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-01-30 13:46:48 +00:00
Emmanuel Ackaouy eb4166af59 Generate headers with arch-specific structs.
This patch adds a script to generate headers with arch-specific
structs which can be included on any architecture.  Can be used
to deal with structs of "foreign" architectures, needed for
32-on-64 support for example.

Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
---
 Makefile                                  |   11 +-
 tools/Rules.mk                            |    2
 xen/Makefile                              |    4
 xen/include/public/foreign/Makefile       |   37 +++++++
 xen/include/public/foreign/mkchecker.py   |   58 +++++++++++
 xen/include/public/foreign/mkheader.py    |  153 ++++++++++++++++++++++++++++++
 xen/include/public/foreign/reference.size |   17 +++
 xen/include/public/foreign/structs.py     |   52 ++++++++++
 8 files changed, 331 insertions(+), 3 deletions(-)
2007-01-25 22:16:52 +00:00
kfraser@localhost.localdomain 9d15d8d54a Export XEN_TARGET_ARCH to buildconfig sub-Makefiles even if it is not
specified on the command line.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-01-17 16:42:34 +00:00
kfraser@localhost.localdomain a278bc0ea1 Introduce Makefile config fragments for OS-specific differences.
Signed-off-by: John Levon <john.levon@sun.com>
2006-10-17 16:48:05 +01:00
kaf24@firebug.cl.cam.ac.uk 943a72a09a [BUILD] Miscellaneous build-system fixes and tweaks.
* Don't delete non-existent %.tar.bz2 in buildconfigs/Rules.mk's %-mrproper
* Add a mrpropper target to buildconfigs/mk.linux-2.6-xen, and
  have this delete the local tarball
  - This should also delete the local patch, if there is one, but I am not
    sure how to do this with the current incarntation of the code, and I
    will post a subsequent patch which makes this easier and effects this
    chang. As there currently is no local patch this is not a big deal at
    this moment. (Horms)
* Stop kclean from erroring out if the kernel directory doesn't exist
* Remove patches/*/.makedep in top level Makefile rather than in
  buildconfigs/Rules.mk, as calling rules in the latter causes
  patches/*/.make to be created (Magnus)

Signed-Off-By: Magnus Damm <magnus@valinux.co.jp>
Signed-Off-By: Horms <horms@verge.net.au>
2006-07-03 08:56:29 +01:00
kaf24@firebug.cl.cam.ac.uk 956c0afa80 [BUILD] Add distclean build target to xen directory: cleans out tags.
Signed-off-by: Horms <horms@verge.net.au>
2006-06-27 11:50:57 +01:00
kfraser@dhcp93.uk.xensource.com dbed3693c4 Export XEN_ROOT from top-level Makefile. Ensures it is
always defined when including Config.mk.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-31 15:48:29 +01:00
kaf24@firebug.cl.cam.ac.uk b5fa90ac8e build: Clean up use of .PHONY
* Move .PHONY directives next to targets,
  this makes them a lot harder to miss
* Add missing .PHONY directives
* Remove nonexistent .PHONY directives
* Hopefully I didn'T miss anything...

Signed-Off-By: Horms <horms@verge.net.au>
2006-04-10 17:02:49 +01:00
kaf24@firebug.cl.cam.ac.uk 9ffd98fa29 build: Document the use of XEN_PYTHON_NATIVE_INSTALL
Document the use of the XEN_PYTHON_NATIVE_INSTALL environment variable

Signed-Off-By: Horms <horms@verge.net.au>
2006-04-10 16:35:30 +01:00
kaf24@firebug.cl.cam.ac.uk f2bc7f9402 build: clean up output of make help a little bit
Signed-Off-By: Horms <horms@verge.net.au>
2006-04-10 16:34:59 +01:00
kaf24@firebug.cl.cam.ac.uk 2a9a3c3116 build: Remove iptables and python loging helper targets
These targets don't really fit into the build infastructure,
for instance there is no faclilty for them to be removed
on make distclean. I posted a patch that fleshed out the targets,
but Christian Limpach suggested to me that removing them
would be a better idea.

Signed-Off-By: Horms <horms@verge.net.au>
2006-04-10 16:27:46 +01:00
emellor@leeni.uk.xensource.com b0ceb872c7 Switch the default build to make the -xen kernel, not the -xen0 and -xenU
kernels.  Distros will be using -xen exclusively, so this change means that
developers and users of unstable will be (by default) using the same
configuration as the distros.

This can be overridden by setting KERNELS="linux-2.6-xen0 linux-2.6-xenU" on the
command line.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-24 14:36:14 +01:00
kaf24@firebug.cl.cam.ac.uk ee5168b91f Currently there is no generic configure file to compile xenlinux on
ia64, since there're several different system types like HP-ZX, DIG,
etc. Current Makefile can't meet this need and default one
(xen0_defconfig_ia64) is only for HP-ZX type. Hence, this patch can
append an additional param to configuration file name to differentiate
system types when make.

Signed-off-by Zhang Xiantao <xiantao.zhang@intel.com>
2005-12-20 12:52:38 +01:00