[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 1/2 v2] Add configure --with-extra-cflags-*
Since commit 338c4375153e39b95ddc82f2ed95f85dd73e0245 ("tools: pass EXTRA_CFLAGS via environment") it was possible to specify additional CFLAGS in the environment. That commit gives a good explanation how that is useful. Now that we have configure move the knobs from the middle of the source code to a more prominent place. If the variables are set once via configure it is possible to rerun make from another shell which may not have these environment variables. That can happen if one tries to resume a failed build with either doing chroot into a rpmbuild tree or from another xterm. This change adds the configure options --with-extra-cflags-tools=, --with-extra-cflags-qemu-traditional= and --with-extra-cflags-qemu-upstream= which will assign their values to the existing make variables. It is now required to use configure instead of environment variables to have a consistent set of CFLAGS across make invocations. A new knob "skip_extra_cflags" in Rules.mk is recognized to turn off the assignment to CFLAGS. This is required to build the firmware. Please rerun autogen.sh after applying this patch. Signed-off-by: Olaf Hering <olaf@xxxxxxxxx> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> --- v2: handle also --without-opt by handling withval=no config/Tools.mk.in | 3 +++ tools/Rules.mk | 2 ++ tools/configure.ac | 30 ++++++++++++++++++++++++++++++ tools/firmware/Rules.mk | 2 +- 4 files changed, 36 insertions(+), 1 deletion(-) diff --git a/config/Tools.mk.in b/config/Tools.mk.in index 89de5bd..6d0ac1a 100644 --- a/config/Tools.mk.in +++ b/config/Tools.mk.in @@ -59,6 +59,9 @@ CONFIG_QEMU_TRAD := @qemu_traditional@ CONFIG_QEMU_XEN := @qemu_xen@ CONFIG_BLKTAP1 := @blktap1@ CONFIG_BLKTAP2 := @blktap2@ +EXTRA_CFLAGS_XEN_TOOLS := @EXTRA_CFLAGS_XEN_TOOLS@ +EXTRA_CFLAGS_QEMU_TRADITIONAL := @EXTRA_CFLAGS_QEMU_TRADITIONAL@ +EXTRA_CFLAGS_QEMU_XEN := @EXTRA_CFLAGS_QEMU_XEN@ CONFIG_QEMUU_EXTRA_ARGS:= @EXTRA_QEMUU_CONFIGURE_ARGS@ CONFIG_REMUS_NETBUF := @remus_netbuf@ diff --git a/tools/Rules.mk b/tools/Rules.mk index 87a56dc..228f9a2 100644 --- a/tools/Rules.mk +++ b/tools/Rules.mk @@ -88,7 +88,9 @@ endif CFLAGS-$(CONFIG_X86_32) += $(call cc-option,$(CC),-mno-tls-direct-seg-refs) CFLAGS += $(CFLAGS-y) +ifneq ($(skip_extra_cflags),y) CFLAGS += $(EXTRA_CFLAGS_XEN_TOOLS) +endif INSTALL_PYTHON_PROG = \ $(XEN_ROOT)/tools/python/install-wrap "$(PYTHON_PATH)" $(INSTALL_PROG) diff --git a/tools/configure.ac b/tools/configure.ac index f584798..12b8824 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -222,6 +222,36 @@ AC_ARG_WITH([system-ovmf], ],[]) AC_SUBST(ovmf_path) +AC_ARG_WITH([extra-cflags-tools], + AS_HELP_STRING([--with-extra-cflags-tools="EXTRA_CFLAGS"], + [Additional CFLAGS to be used to build tools.]),[ + case "$withval" in + no) EXTRA_CFLAGS_XEN_TOOLS= ;; + *) EXTRA_CFLAGS_XEN_TOOLS=$withval ;; + esac +],[EXTRA_CFLAGS_XEN_TOOLS=]) +AC_SUBST(EXTRA_CFLAGS_XEN_TOOLS) + +AC_ARG_WITH([extra-cflags-qemu-traditional], + AS_HELP_STRING([--with-extra-cflags-qemu-traditional="EXTRA_CFLAGS"], + [Additional CFLAGS to be used to build qemu-traditional.]),[ + case "$withval" in + no) EXTRA_CFLAGS_QEMU_TRADITIONAL= ;; + *) EXTRA_CFLAGS_QEMU_TRADITIONAL=$withval ;; + esac +],[EXTRA_CFLAGS_QEMU_TRADITIONAL=]) +AC_SUBST(EXTRA_CFLAGS_QEMU_TRADITIONAL) + +AC_ARG_WITH([extra-cflags-qemu-upstream], + AS_HELP_STRING([--with-extra-cflags-qemu-upstream="EXTRA_CFLAGS"], + [Additional CFLAGS to be used to build qemu-upstream.]),[ + case "$withval" in + no) EXTRA_CFLAGS_QEMU_XEN= ;; + *) EXTRA_CFLAGS_QEMU_XEN=$withval ;; + esac +],[EXTRA_CFLAGS_QEMU_XEN=]) +AC_SUBST(EXTRA_CFLAGS_QEMU_XEN) + AC_ARG_WITH([extra-qemuu-configure-args], AS_HELP_STRING([--with-extra-qemuu-configure-args@<:@="--ARG1 ..."@:>@], [List of additional configure options for upstream qemu]),[ diff --git a/tools/firmware/Rules.mk b/tools/firmware/Rules.mk index 26bbddc..e3bf480 100644 --- a/tools/firmware/Rules.mk +++ b/tools/firmware/Rules.mk @@ -3,7 +3,7 @@ override XEN_TARGET_ARCH = x86_32 # User-supplied CFLAGS are not useful here. CFLAGS = -EXTRA_CFLAGS_XEN_TOOLS = +skip_extra_cflags := y include $(XEN_ROOT)/tools/Rules.mk _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |