[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] tools/configure: add options to pass EXTRA_CLFAGS
>>> On 15.03.12 at 14:19, Olaf Hering <olaf@xxxxxxxxx> wrote: > # HG changeset patch > # User Olaf Hering <olaf@xxxxxxxxx> > # Date 1331817547 -3600 > # Node ID 994ac398f4dc639ad0ca8aaabc4172ab72eb1358 > # Parent 6dd1395c07cbc0f1408048f916bc6674dad19ef5 > tools/configure: add options to pass EXTRA_CLFAGS > > Currently qemu-xen gets build 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 > "-O2 -g" because make does not export its own CFLAGS variable. > > From a distro perspective, its required to build libraries and binaries > with certain global cflags. 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 configure to recognize three environment variables > which will be written to config/Tools.mk so they will be reused with > each make invocation: > 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. > The new feature can be used like this in a rpm xen.spec file: > > env \ > EXTRA_CFLAGS_XEN_TOOLS="${RPM_OPT_FLAGS}" \ > EXTRA_CFLAGS_QEMU_TRADITIONAL="${RPM_OPT_FLAGS}" \ > EXTRA_CFLAGS_QEMU_XEN="${RPM_OPT_FLAGS}" \ > ./configure \ > --libdir=%{_libdir} \ > --prefix=/usr > make > > To make sure the EXTRA_CFLAGS appear first in the command line Wouldn't one rather want them to appear last (to eventually override other settings, namely the optimization level)? Jan > tools/Rules.mk must include config/Tools.mk before Config.mk. > > Signed-off-by: Olaf Hering <olaf@xxxxxxxxx> > > diff -r 6dd1395c07cb -r 994ac398f4dc config/Tools.mk.in > --- a/config/Tools.mk.in > +++ b/config/Tools.mk.in > @@ -22,6 +22,10 @@ PREPEND_LIB := @PREPEND_LIB@ > APPEND_INCLUDES := @APPEND_INCLUDES@ > APPEND_LIB := @APPEND_LIB@ > > +CFLAGS += @EXTRA_CFLAGS_XEN_TOOLS@ > +EXTRA_CFLAGS_QEMU_TRADITIONAL += @EXTRA_CFLAGS_QEMU_TRADITIONAL@ > +EXTRA_CFLAGS_QEMU_XEN += @EXTRA_CFLAGS_QEMU_XEN@ > + > # Download GIT repositories via HTTP or GIT's own protocol? > # GIT's protocol is faster and more robust, when it works at all (firewalls > # may block it). We make it the default, but if your GIT repository > downloads > diff -r 6dd1395c07cb -r 994ac398f4dc tools/Makefile > --- a/tools/Makefile > +++ b/tools/Makefile > @@ -122,6 +122,7 @@ subdir-all-qemu-xen-traditional-dir subd > set -e; \ > $(buildmakevars2shellvars); \ > cd qemu-xen-traditional-dir; \ > + env CFLAGS="$(EXTRA_CFLAGS_QEMU_TRADITIONAL)" \ > $(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS); \ > $(MAKE) install > > @@ -146,6 +147,7 @@ subdir-all-qemu-xen-dir subdir-install-q > source=.; \ > fi; \ > cd qemu-xen-dir; \ > + env CFLAGS="$(EXTRA_CFLAGS_QEMU_XEN)" \ > $$source/configure --enable-xen --target-list=i386-softmmu \ > --source-path=$$source \ > --extra-cflags="-I$(XEN_ROOT)/tools/include \ > diff -r 6dd1395c07cb -r 994ac398f4dc tools/Rules.mk > --- a/tools/Rules.mk > +++ b/tools/Rules.mk > @@ -3,8 +3,8 @@ > # `all' is the default target > all: > > +include $(XEN_ROOT)/config/Tools.mk > include $(XEN_ROOT)/Config.mk > -include $(XEN_ROOT)/config/Tools.mk > > export _INSTALL := $(INSTALL) > INSTALL = $(XEN_ROOT)/tools/cross-install > diff -r 6dd1395c07cb -r 994ac398f4dc tools/configure.ac > --- a/tools/configure.ac > +++ b/tools/configure.ac > @@ -55,6 +55,12 @@ AC_ARG_VAR([APPEND_INCLUDES], > [List of include folders to append to CFLAGS (without -I)]) > AC_ARG_VAR([APPEND_LIB], > [List of library folders to append to LDFLAGS (without -L)]) > +AC_ARG_VAR([EXTRA_CFLAGS_XEN_TOOLS], > + [Extra CFLAGS to build tools]) > +AC_ARG_VAR([EXTRA_CFLAGS_QEMU_TRADITIONAL], > + [Extra CFLAGS to build qemu-traditional]) > +AC_ARG_VAR([EXTRA_CFLAGS_QEMU_XEN], > + [Extra CFLAGS to build qemu-xen]) > > AX_SET_FLAGS > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |