aboutsummaryrefslogtreecommitdiffstats
path: root/stubdom/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* PV-GRUB: Check for errors when applying patches to GRUBMatt Wilson2012-04-041-1/+1
| | | | | | | | | | We want to ensure that patches apply cleanly without rejects. Bail if patch returns a non-zero exit code. Signed-off-by: Matt Wilson <msw@amazon.com> Committed-by: Ian Jackson <ian.jackson.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
* stubdom: enable xenstored buildDaniel De Graaf2012-02-091-3/+26
| | | | | | | Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Acked-by: Ian Campbell <ian.campbell@citrix.com> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
* mini-os: create app-specific configurationDaniel De Graaf2012-02-091-4/+4
| | | | | | | | | | | | | | Instead of using CONFIG_QEMU and CONFIG_GRUB to enable or disable minios code, create CONFIG_ items for features and use application-specific configuration files to enable or disable the features. The configuration flags are currently added to the compiler command line; as the number of flags grows this may need to move to a header. Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
* Rename ioemu-dir as qemu-xen-traditional-dir2012-01-241-4/+4
| | | | | | | 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>
* stubdom: allow to build with older tool chainJan Beulich2011-12-131-1/+1
| | | | | | | | | | | GNU make prior to 3.81 doesn't support $(realpath ...). This fixes a regression introduced in 23368:0f670f5146c8 (the option tested via cc-option-add got interpreted as the argument of the -I compiler option, as its intended argument was blank, and hence the compiler was falsely considered to support *any* option in the pciutils sub-tree). Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* build: Make XEN_ROOT an absolute path.Keir Fraser2011-03-171-16/+15
| | | | | | | | Otherwise make can search the path relative to certain standard paths such as /usr/include (e.g., the line '-include $(XEN_ROOT)/.config' in Config.mk suffers from this). Signed-off-by: Keir Fraser <keir@xen.org>
* Reapply 61c0c52a8c6c "qemu-xen: build adjustments"Ian Jackson2010-11-231-2/+12
| | | | | | | | The changeset qemu-xen: build adjustments to support out-of-tree builds works after all. Sorry for the noise. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* Revert 61c0c52a8c6c "qemu-xen: build adjustments"Ian Jackson2010-11-231-12/+2
| | | | | | | | It appears that the changeset qemu-xen: build adjustments to support out-of-tree builds broke the build. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* qemu-xen: build adjustments to support out-of-tree buildsJan Beulich2010-11-231-2/+12
| | | | | | | | | | | | | | | | QEMU by itself can be built outside of its source directory. With the qemu repository being separate from the hypervisor/tools one it seems to make sense to make use of this feature, but doing so requires a couple of adjustments to the Xen changes to it. Basically, if CONFIG_QEMU is found to indicate an existing directory, this directory will be used rather than cloning the git repo into the build tree. [ This changeset is the xen-unstable part of the patch but also includes the QEMU_TAG update to pull in the qemu part. -iwj ] Signed-off-by: Jan Beulich <jbeulich@novell.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* stubdom: allow building with read-only sourcesJan Beulich2010-11-191-1/+2
| | | | | | Signed-off-by: Jan Beulich <jbeulich@novell.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools: caml-stubdom: fix "red zone" bugPatrick Colp2010-10-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the AMD64 ABI, the 128-byte area below %rsp is reserved for scratch space and should not be used by signal, interrupt, or exception handlers. However, Mini-OS does not adhere to this interface. As a result, the -mno-red-zone flag must be provided to gcc in order to force code to be compiled without this assumption. In the case of the c-stubdom or the ioemu stubdom, Makefile configuration and flags are inherited from Xen, which includes this flag. However, in the case of the ocaml stubdom, since an independent ocaml version is pulled and compiled, with its own make system in place, this flag is not present. As a default optimisation (no optimisation flags specified), gcc generates function header code that uses mov instead of push (to save a few instructions). However, with the 128-byte scratch space assumption in place, registers are moved onto the stack *before* %rsp is updated. This results in cases where when a function is being called, *after* the first mov <foo>, <offset>(%rsp) but *before* the %rsp update, sub <bar>, %rsp, if an interrupt is fired, then the stack will be clobbered (as Mini-OS uses the application stack for its stack, pushing registers onto the stack on entry and popping them off on exit). This patch fixes this issue by passing the -mno-red-zone flag to the ocaml configure script in the stubdom Makefile. Signed-off-by: Patrick Colp <pjcolp@cs.ubc.ca> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools/ocaml: Fix caml-stubdom make line to depend on the ocaml cross compilerPatrick Colp2010-09-211-1/+1
| | | | | | | | | | | The provided sample caml stubdom needs to use the ocaml cross compiler, but if it hasn't been downloaded and compiled, then it won't find it and the build will fail. This makes caml-stubdom depend on the cross compiler, so it will automatically get built before the stubdom. Signed-off-by: Patrick Colp <pjcolp@cs.ubc.ca> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* x86: Add -fno-exceptions to list of possibly-supported CFLAGS for embedded ↵Keir Fraser2010-07-251-3/+1
| | | | | | targets. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* stubdom: correct handling DESTDIR during buildIan Campbell2010-07-211-26/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The stubdom/Makefile expects components to install themselves to stubdom/$(CROSS_ROOT) and passes the appropriate configure and make variables to make this happen. However if the top-level build uses DESTDIR then this not only effects the installation targets in stubdom/Makefile but is also propagated to the individual components' build causing them to install into an unexpected location and breaking the build. In other words "make -C stubdom DESTDIR=/tmp/a-dest-dir" fails due to missing headers because they had been installed into /tmp/a-dest-dir instead of stubdom/$(CROSS_ROOT). The existing attempt to clear DESTDIR for the newlib install phase was insufficient. Define a CROSS_MAKE variable which should be used to recurse into the cross compiled components and which clears DESTDIR. Also move the definition of the genpath target to after the first "all" target so that the default target is all. I have confirmed that with this fix only the Xen build system outputs end up in /tmp/a-dest-dir. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* stubdom/newlib: Provide correct names for time.h timezone variablesKeir Fraser2010-05-281-0/+2
| | | | | | | | | | Newlib unaccountably defines _daylight, _timezone and _tzname, rather than daylight, timezone and tzname. The latter are specified in SuSv3. So do a global search and replace as part of our newlib patching :-(. Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
* Fix Makefile targets that generate several files at onceKeir Fraser2010-03-051-1/+3
| | | | | | | | | | | | | | | | | | | | In a few places in the tree the Makefiles have constructs like this: one_file another_file: $(COMMAND_WHICH_GENERATES_BOTH_AT_ONCE) This is wrong, because make will run _two copies_ of the same command at once. This generally causes races and hard-to-reproduce build failures. Notably, `make -j4' at the top level will build stubdom libxc twice simultaneously! In this patch we replace the occurrences of this construct with the correct idiom: one_file: another_file another_file: $(COMMAND_WHICH_GENERATES_BOTH_AT_ONCE) Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* stubdom: Backport fix for SIZE_MAX from newlib 1.17.0Keir Fraser2009-08-251-0/+1
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* libxc: Include private Xen headers in stubdom libxc buildKeir Fraser2009-08-111-0/+1
| | | | | | | | | The headers libelf.h and elfstructs.h were removed from xen/include/public in 19011:7df072566b8c. But this broke the stubdom build because parts of libxc depend on them. This patch adds $(XEN_ROOT)/xen/include/xen to the stubdom -I path. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* stubdom: make -> $(MAKE)Keir Fraser2009-07-151-1/+1
| | | | Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* stubdom: don't leak include dir on distcleanKeir Fraser2009-07-151-0/+1
| | | | Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* stubdom: Install and use stubdompath.shKeir Fraser2009-07-131-6/+6
| | | | Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* stubdom: use XENFIRMWAREDIRKeir Fraser2009-06-251-4/+4
| | | | | | | Attached patch installs ioemu-stubdom into XENFIRMWAREDIR analogous to what we do with hvmloader. Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* Get rid of hardcoded pathes for stubdom and hotplug scriptsKeir Fraser2009-06-231-3/+7
| | | | | | | | | | | | | | | | | | - Have the buid system generate a file which exports the install paths for the hotplug scripts and stubdom / stubdom-dm - Move file generation code from tools/python/Makefile into a gmake macro in Config.mk to avoid maintenance of three duplicates each with its own tweaks and bugs - Export gmake variables into ioemu as shell variables for upcoming ioemu patches - Do above as a gmake macro to avoid maintenance of several duplicates - Adjust hotplug scripts to find the right xen binaries from the install directory - Adjust stubdom-dm to use the install directories Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* stubdom: Rebuild the ocaml runtime libraries with the options neededKeir Fraser2009-05-191-2/+38
| | | | | | | | | if they are to be linked with object files created by ocamlc and the minios kernel. This is needed to build stubdoms written in ocaml. Signed-off-by: Alex Zeffertt <alex.zeffertt@eu.citrix.com>
* ioemu: Export PREFIX variable to ioemu build environment.Keir Fraser2009-05-191-0/+2
| | | | Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* minios: _chk_fail and _chk canaries for minios and newlibKeir Fraser2009-03-311-0/+1
| | | | | | | | Add __stack_chk_fail to mini-os and __sprintf_chk __fprintf_chk to newlib, to cope with ocaml runtimes compiled with -fstack-protector. From: "George S. Coker, II" <gscoker@alpha.ncsc.mil> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
* build system cleanup - get rid of some hardcoded pathsKeir Fraser2009-03-191-6/+6
| | | | Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* ioemu-stubdom: Use xen-setup-stubdom rather than configureKeir Fraser2009-03-181-4/+6
| | | | | | | | | | | | | | xen-setup runs the upstream configure script, and ends up autodetecting various properties of the host and then trying to use them in stubdom, which works badly. In commit c609854fe18aab3216f28e1e5291b75970d398d5 in qemu-xen-unstable we provide a new `xen-setup-stubdom' script, which hardcodes the relevant answers. With these two changes, stubdom should compile again. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* Make stubdom compile on systems with libvde installedKeir Fraser2009-03-171-1/+1
| | | | | | | We need to disable libvde in the stubdom qemu-xen configuration. Thanks to Jun Koi for the report and testing. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* stubdom: Fix compilation after libelf header changesKeir Fraser2009-01-091-0/+1
| | | | | | | | | | | Changeset 19011:7df072566b8c moved some of the libelf headers. However, no changes were made to stubdom/Makefile. stubdom/Makefile unfortunately contains embedded in it knowledge about the header directory structures, and must therefore typically be updated if new header directories are created. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* Download external tarballs from xenbits.xensource.comKeir Fraser2009-01-051-5/+15
| | | | | | | | | | | | | | 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>
* Remove internal tools/ioemu tree.Keir Fraser2008-09-181-16/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* stubdom/ioemu link farm creation fixesKeir Fraser2008-09-161-17/+20
| | | | | | | | | | | | | | | | | | | | | | | | | Replace the stubdom/ioemu link farm creation in stubdom/Makefile, with code which arranges that: * No symlinks are made for output files - in particular, any symlinks for .d files would be written through by the compiler and cause damage to the original tree and other strange behaviours * All subdirectories are made as local subdirectories rather than links * Any interrupted or half-completed creation of the link farm leaves the directory in a state where the link farming will be restarted * We use make's inherent ability to test for the existence of files rather than using [ -f ... ] at the start of the rule's commands * The list of files to be excluded from the link farm can be easily updated etc. This should fix some problems particularly with parallel builds, or by-hand builds where directories are entered in other than the usual order. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* $(XEN_ROOT) absolutification fixes for ioemu-remote (incl stubdom)Keir Fraser2008-09-121-2/+3
| | | | | | | | | | | | | | | | * Move code for generating an absolute version of XEN_ROOT into a common make variable set in Config.mk * Use this common code when invoking make -C ioemu-dir clean from tools/, which avoids a problem where `make clean' fails because qemu's (ioemu-remote's) build system wants to run `make clean' in `tests' but XEN_ROOT is a confection involving ../'s. * Use this common code in stubdom/Makefile, instead of $(abspath...) as the latter is a relatively new feature in GNU make and is not available in all the places that we want to be able to build (cf c/s 17997:3f23e01d31985899dbd1660b166f229f1ee74292) Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* stubdom: compile stubdom with qemu-remoteKeir Fraser2008-09-121-7/+8
| | | | | | Remove the CONFIG_QEMU override; fixing lwip isystem path. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
* cross-install: Only apply in tools directory, and automatically wrap $INSTALL.Keir Fraser2008-08-301-1/+1
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* stubdom: Absolute path for XEN_ROOT.Keir Fraser2008-08-301-1/+1
| | | | | | | It may be used in subdirectories indirectly (e.g., as path component of $(INSTALL)). Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* stubdom: add LANG=C for 'gcc -print-search-dirs'Keir Fraser2008-08-281-1/+1
| | | | | | Prevents unwanted localisation of pretty-printing. Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
* ioemu-stubdom: drop --disable-gfx-check option, already added by qemu-xen treeKeir Fraser2008-08-271-1/+1
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* pv-grub: On x86_64, also build an x86_32 pv-grubKeir Fraser2008-08-141-46/+52
| | | | | | | This requires suffixing obj directories and having grub compiled outside sources. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* install more documentation to /usr/share/doc/xen and /etc/xenKeir Fraser2008-08-061-1/+5
| | | | | | Also resync xmexample3 with xmexample1 and 2. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: add *_URL variables to permit to use e.g. local mirrors.Keir Fraser2008-08-061-5/+10
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: install stubdom kernels as dataKeir Fraser2008-08-041-2/+2
| | | | | | since they do not need to be directly executed Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: Fix the Makefile to avoid brace expansionKeir Fraser2008-08-041-1/+1
| | | | | | | | | | | | While building stubdom, I saw an error. install: cannot stat `lib/{config,header,pci,types}.h': No such file or directory It seems brace expansion is not available in some environments, so we had better avoid using it. Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
* Fix stubdom makefile mistake.Keir Fraser2008-08-011-2/+2
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* stubdom: fix clean target after distcleanKeir Fraser2008-08-011-2/+2
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: fix make clean ; makeKeir Fraser2008-07-311-1/+3
| | | | | | | | make should not have to regenerate the libxc and ioemu directories since that is part of the mk-headers target. Use the subdirectory clean targets instead to clean just the object files. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: avoid re-making mk-headers and thus newlib etc.Keir Fraser2008-07-251-1/+2
| | | | | | | Using a stamp file for mk-headers permits to avoid to re-run newlib configuration etc. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: make sure to use old tree for nowKeir Fraser2008-07-241-2/+2
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* stubdom: fix build dependenciesKeir Fraser2008-07-181-3/+3
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>