[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XEN PATCH 12/15] build: avoid Config.mk's CFLAGS
The variable $(CFLAGS) is too often set in the environment, especially when building a package for a distribution. Often, those CFLAGS are intended to be use to build user spaces binaries, not a kernel. This mean packager needs to takes extra steps to build Xen by overriding the CFLAGS provided by the package build environment. With this patch, we avoid using the variable $(CFLAGS). Also, the hypervisor's build system have complete control over which CFLAGS are used. No change intended to XEN_CFLAGS used, beside some flags which may be in a different order on the command line. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> --- Notes: There's still $(EXTRA_CFLAGS_XEN_CORE) which allows to add more CFLAGS if someone building Xen needs to add more CFLAGS to the hypervisor build. xen/Makefile | 11 ++++++++++- xen/arch/arm/arch.mk | 4 ++++ xen/arch/x86/arch.mk | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/xen/Makefile b/xen/Makefile index b3bffe8c6f..4dc3acf2a6 100644 --- a/xen/Makefile +++ b/xen/Makefile @@ -259,7 +259,16 @@ export KBUILD_DEFCONFIG := $(ARCH)_defconfig export XEN_TREEWIDE_CFLAGS := $(CFLAGS) XEN_AFLAGS = -XEN_CFLAGS = $(CFLAGS) +XEN_CFLAGS = +ifeq ($(XEN_OS),SunOS) + XEN_CFLAGS += -Wa,--divide -D_POSIX_C_SOURCE=200112L -D__EXTENSIONS__ +endif +XEN_CFLAGS += -fno-strict-aliasing +XEN_CFLAGS += -std=gnu99 +XEN_CFLAGS += -Wall -Wstrict-prototypes +$(call cc-option-add,XEN_CFLAGS,CC,-Wdeclaration-after-statement) +$(call cc-option-add,XEN_CFLAGS,CC,-Wno-unused-but-set-variable) +$(call cc-option-add,XEN_CFLAGS,CC,-Wno-unused-local-typedefs) # CLANG_FLAGS needs to be calculated before calling Kconfig ifneq ($(shell $(CC) --version 2>&1 | head -n 1 | grep clang),) diff --git a/xen/arch/arm/arch.mk b/xen/arch/arm/arch.mk index 300b8bf7ae..0478fadde2 100644 --- a/xen/arch/arm/arch.mk +++ b/xen/arch/arm/arch.mk @@ -1,6 +1,10 @@ ######################################## # arm-specific definitions +ifeq ($(XEN_TARGET_ARCH),arm32) + XEN_CFLAGS += -marm +endif + $(call cc-options-add,XEN_CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS)) $(call cc-option-add,XEN_CFLAGS,CC,-Wnested-externs) diff --git a/xen/arch/x86/arch.mk b/xen/arch/x86/arch.mk index 5df3cf6bc3..fc3b1dc922 100644 --- a/xen/arch/x86/arch.mk +++ b/xen/arch/x86/arch.mk @@ -1,6 +1,8 @@ ######################################## # x86-specific definitions +XEN_CFLAGS += -m64 + export XEN_IMG_OFFSET := 0x200000 XEN_CFLAGS += -I$(srctree)/arch/x86/include/asm/mach-generic -- Anthony PERARD
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |