Allow selection of kernel config tool
authorUlf Samuelsson <ulf.samuelsson@atmel.com>
Sun, 30 Mar 2008 20:04:55 +0000 (20:04 -0000)
committerUlf Samuelsson <ulf.samuelsson@atmel.com>
Sun, 30 Mar 2008 20:04:55 +0000 (20:04 -0000)
target/linux/Config.in.advanced
target/linux/Makefile.in.advanced

index cd5f52cdf08bdc8a598ae14e0f75f78e330d51c4..b8c71d59cb7f16b380b7604251b489037d2547c4 100644 (file)
@@ -416,12 +416,14 @@ config BR2_PACKAGE_LINUX_USE_DEFCONFIG
          Configure Linux by make <board>_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=<path> 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
index d57f52a21fd14de505438b419eb131833966dfa7..0c67f220e0a47e78267ed2c3c32cd20108603bd6 100644 (file)
@@ -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