From 62ce637fedd35c579409145cb7772ec0aa7b67f8 Mon Sep 17 00:00:00 2001 From: Ulf Samuelsson Date: Sun, 30 Mar 2008 20:04:55 +0000 Subject: Allow selection of kernel config tool --- target/linux/Config.in.advanced | 27 ++++++++++++++++++++++++++- target/linux/Makefile.in.advanced | 10 ++++++++-- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/target/linux/Config.in.advanced b/target/linux/Config.in.advanced index cd5f52cdf..b8c71d59c 100644 --- a/target/linux/Config.in.advanced +++ b/target/linux/Config.in.advanced @@ -416,12 +416,14 @@ config BR2_PACKAGE_LINUX_USE_DEFCONFIG Configure Linux by make _defconfig config BR2_PACKAGE_LINUX_USE_XCONFIG - bool "Run make ARCH=$(ARCH) xconfig before build" + bool "Run make ARCH=$(ARCH) [xconfig|menuconfig] before build" depends BR2_PACKAGE_LINUX help Configure Linux by make xconfig endchoice + + config BR2_PACKAGE_LINUX_KCONFIG string ".config file" depends on BR2_PACKAGE_LINUX_USE_KCONFIG @@ -433,6 +435,29 @@ config BR2_PACKAGE_LINUX_KCONFIG board-imposed value by passing LINUX26_KCONFIG= to make. +choice + prompt "Preferred config tool" + default BR2_MAKE_XCONFIG + help + Define the preferred tool to invoke if a configuration is invalid + +config BR2_MAKE_XCONFIG + bool "make xconfig" + help + Run "make menuconfig" if kernel ".config" is invalid + +config BR2_MAKE_MENUCONFIG + bool "make menuconfig" + help + Run "make menuconfig" if kernel ".config" is invalid + +endchoice + +config BR2_KERNEL_CONFIG_METHOD + string + default "xconfig" if BR2_MAKE_XCONFIG + default "menuconfig" if BR2_MAKE_MENUCONFIG + endmenu choice diff --git a/target/linux/Makefile.in.advanced b/target/linux/Makefile.in.advanced index d57f52a21..0c67f220e 100644 --- a/target/linux/Makefile.in.advanced +++ b/target/linux/Makefile.in.advanced @@ -103,6 +103,12 @@ endif endif endif +KERNEL_CONFIG_METHOD:=($(strip $(subst ",,$(BR2_KERNEL_CONFIG_METHOD))),) +#")) +ifeq ($(KERNEL_CONFIG_METHOD),) +KERNEL_CONFIG_METHOD:=xconfig +endif + # ----------------------------------------------------------------------------- ifndef LINUX26_FORMAT ifneq ($(strip $(subst ",,$(BR2_PACKAGE_LINUX_FORMAT))),) @@ -302,7 +308,7 @@ ifeq ($(BR2_PACKAGE_LINUX_USE_DEFCONFIG),y) $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(BOARD_NAME)_defconfig endif ifeq ($(BR2_PACKAGE_LINUX_USE_XCONFIG),y) - $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) xconfig + $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(KERNEL_CONFIG_METHOD) endif ifeq ($(BR2_PACKAGE_LINUX_USE_KCONFIG),y) # Try user defined config @@ -326,7 +332,7 @@ ifeq ($(BR2_PACKAGE_LINUX_USE_KCONFIG),y) fi # let the user create his/her own config if [ ! -f "$(LINUX26_DIR)/.config" ] ; then \ - $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) xconfig ; \ + $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(KERNEL_CONFIG_METHOD) ; \ fi endif -- cgit v1.2.3