Switches the build system to rely on the options and flags generated by Kconfig to control what gets built and how. Follow on patches will convert items to be prefixed with CONFIG_. Additionally remove a #define that resulted in a redefined variable when building for arm.
CC: Ian Campbell <ian.campb...@citrix.com> CC: Stefano Stabellini <stefano.stabell...@citrix.com> CC: Keir Fraser <k...@xen.org> CC: Jan Beulich <jbeul...@suse.com> CC: Andrew Cooper <andrew.coop...@citrix.com> Signed-off-by: Doug Goldstein <car...@cardoe.com> Acked-by: Andrew Cooper <andrew.coop...@citrix.com> Tested-by: Andrew Cooper <andrew.coop...@citrix.com> --- xen/Makefile | 12 ++++++++++-- xen/Rules.mk | 2 ++ xen/drivers/passthrough/arm/smmu.c | 4 ---- xen/include/xen/config.h | 2 ++ 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/xen/Makefile b/xen/Makefile index f2f4378..0f3de72 100644 --- a/xen/Makefile +++ b/xen/Makefile @@ -26,6 +26,9 @@ default: build .PHONY: dist dist: install +.PHONY: build +build:: $(BASEDIR)/include/config/auto.conf + .PHONY: build install uninstall clean distclean cscope TAGS tags MAP gtags build install uninstall debug clean distclean cscope TAGS tags MAP gtags:: ifneq ($(XEN_TARGET_ARCH),x86_32) @@ -227,9 +230,14 @@ kconfig := silentoldconfig oldconfig config menuconfig defconfig \ $(kconfig): $(MAKE) -f $(BASEDIR)/scripts/kconfig/Makefile ARCH=$(XEN_TARGET_ARCH) $@ -$(BASEDIR)/include/config/%.conf: $(BASEDIR)/include/config/auto.conf.cmd +$(BASEDIR)/include/config/%.conf: $(BASEDIR)/include/config/auto.conf.cmd $(BASEDIR)/.config $(Q)$(MAKE) -f $(BASEDIR)/scripts/kconfig/Makefile ARCH=$(XEN_TARGET_ARCH) silentoldconfig # Allow people to just run `make` as before and not force them to configure -$(BASEDIR)/.config $(BASEDIR)/include/config/auto.conf.cmd: ; +$(BASEDIR)/.config: $(Q)$(MAKE) -f $(BASEDIR)/scripts/kconfig/Makefile ARCH=$(XEN_TARGET_ARCH) defconfig + +# Break the dependency chain for the first run +$(BASEDIR)/include/config/auto.conf.cmd: ; + +-include $(BASEDIR)/include/config/auto.conf.cmd diff --git a/xen/Rules.mk b/xen/Rules.mk index e9d03b9..011768a 100644 --- a/xen/Rules.mk +++ b/xen/Rules.mk @@ -12,6 +12,8 @@ frame_pointer ?= n lto ?= n kexec ?= y +-include $(BASEDIR)/include/config/auto.conf + include $(XEN_ROOT)/Config.mk # Hardcoded configuration implications and dependencies. diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c index bb08827..62da087 100644 --- a/xen/drivers/passthrough/arm/smmu.c +++ b/xen/drivers/passthrough/arm/smmu.c @@ -196,10 +196,6 @@ static inline int pci_for_each_dma_alias(struct pci_dev *pdev, #define PHYS_MASK_SHIFT PADDR_BITS typedef paddr_t phys_addr_t; -#ifdef CONFIG_ARM_64 -# define CONFIG_64BIT -#endif - #define VA_BITS 0 /* Only used for configuring stage-1 input size */ /* The macro ACCESS_ONCE start to be replaced in Linux in favor of diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h index f7258c7..12a4688 100644 --- a/xen/include/xen/config.h +++ b/xen/include/xen/config.h @@ -12,6 +12,8 @@ #endif #include <asm/config.h> +#include <generated/autoconf.h> + #define EXPORT_SYMBOL(var) #define EXPORT_SYMBOL_GPL(var) -- 2.4.10 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel