aboutsummaryrefslogtreecommitdiffstats
path: root/tools/firmware/Rules.mk
Commit message (Collapse)AuthorAgeFilesLines
* tools: pass EXTRA_CFLAGS via environmentOlaf Hering2012-06-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently qemu-xen will be compiled with CFLAGS only if CFLAGS was already in the environment during make invocation. If CFLAGS is in environment then make will append all of the various flags specified in xen Makefiles to this environment variable, which is then used in qemu configure. Since qemu-xen is not ready for compiler flags like "-std=gnu99" compilation will fail. If CFLAGS is not in environment, then configure will use just its own "-O2 -g" because make does not export its own CFLAGS variable. >From a distro perspective, it is required to build libraries and binaries with certain global cflags (arbitrary gcc options). Up to the point when qemu-xen was imported it worked as expected by exporting CFLAGS before 'make tools'. Now qemu-upstream reuses these CFLAGS, but it cant deal with the result. This patch extends the tools Makefiles so that three new environment variables are recognized: EXTRA_CFLAGS_XEN_TOOLS= specifies CFLAGS for the tools build. EXTRA_CFLAGS_QEMU_TRADITIONAL= specifies CFLAGS for old qemu. EXTRA_CFLAGS_QEMU_XEN= specifies CFLAGS for new qemu. Special care needs to be taken in tools/firmware because the resulting binaries are not linked with the hosts runtime libraries. These binaries run in guest context. To avoid build errors from gcc options like -fstack-protector, reuse existing practice to unset the new EXTRA_CFLAGS_XEN_TOOLS for the firmware dirs. The new feature can be used like this in a rpm xen.spec file: export EXTRA_CFLAGS_XEN_TOOLS="${RPM_OPT_FLAGS}" export EXTRA_CFLAGS_QEMU_TRADITIONAL="${RPM_OPT_FLAGS}" export EXTRA_CFLAGS_QEMU_XEN="${RPM_OPT_FLAGS}" ./configure \ --libdir=%{_libdir} \ --prefix=/usr make Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* x86: Add -fno-exceptions to list of possibly-supported CFLAGS for embedded ↵Keir Fraser2010-07-251-4/+1
| | | | | | targets. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* build: Define cc-option-add to immediately add options to CFLAGSKeir Fraser2009-01-131-3/+3
| | | | | | | without deferring the test execution of CC. This avoids extra executions of CC every time CFLAGS is expanded. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* tools: Don't turn CFLAGS into a := (immediate evaluation) variable asKeir Fraser2009-01-121-1/+1
| | | | | | this breaks 'CFLAGS += -MMD -MF .$(@F).d' Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvmloader: Debug build incorporates HVM environment tests which mustKeir Fraser2008-08-211-0/+4
| | | | | | | | | pass for the HVM guest to successfully boot. Currently only one test (REP INS across page boundaries) but more will be added in future. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* hvmloader: Build with -Werror.Keir Fraser2008-04-091-0/+2
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86 firmware: Consolidate firmware common build rules.Keir Fraser2008-04-021-0/+15
Also avoid overriding global optimisation default (-O1, -O2, etc.) Signed-off-by: Keir Fraser <keir.fraser@citrix.com>