Generate the choice menu for C compilers, the same way arch, kernels and C libraries are generated.

/trunk/kconfig/kconfig.mk |    6     6     0     0 ++++++
 /trunk/config/cc/gcc.in   |   13    13     0     0 +++++++++++++
 /trunk/config/cc.in       |   31     3    28     0 +++----------------------------
 3 files changed, 22 insertions(+), 28 deletions(-)
This commit is contained in:
Yann E. MORIN" 2008-10-13 16:58:52 +00:00
parent d2fe51a715
commit 5ae048e78b
3 changed files with 22 additions and 28 deletions

View File

@ -2,38 +2,13 @@
menu "C compiler" menu "C compiler"
choice config CC
bool string
prompt "C compiler flavour"
default CC_GCC
config CC_GCC
bool
prompt "gcc"
select CC_SUPPORT_CXX
select CC_SUPPORT_FORTRAN
select CC_SUPPORT_JAVA
select CC_SUPPORT_ADA
select CC_SUPPORT_OBJC
select CC_SUPPORT_OBJCXX
help
gcc is the full-blown GNU compiler. This is what most people will choose.
gcc supports many languages, a powerful code parser, optimised binary
output, and lots of other features.
endchoice
config CC_VERSION config CC_VERSION
string string
config CC source config.gen/cc.in
string
default "gcc" if CC_GCC
if CC_GCC
source config/cc/gcc.in
endif
config CC_SUPPORT_CXX config CC_SUPPORT_CXX
bool bool

View File

@ -1,5 +1,18 @@
# Compiler options # Compiler options
config CC_gcc
select CC_SUPPORT_CXX
select CC_SUPPORT_FORTRAN
select CC_SUPPORT_JAVA
select CC_SUPPORT_ADA
select CC_SUPPORT_OBJC
select CC_SUPPORT_OBJCXX
help
gcc is the full-blown GNU compiler. This is what most people will choose.
gcc supports many languages, a powerful code parser, optimised binary
output, and lots of other features.
choice choice
bool bool
prompt "gcc version" prompt "gcc version"

View File

@ -21,6 +21,7 @@ endif
# Build a list of all config files # Build a list of all config files
ARCH_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/arch/*.in) ARCH_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/arch/*.in)
KERNEL_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/kernel/*.in) KERNEL_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/kernel/*.in)
CC_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/cc/*.in)
LIBC_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/libc/*.in) LIBC_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/libc/*.in)
DEBUG_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/debug/*.in) DEBUG_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/debug/*.in)
TOOL_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/tools/*.in) TOOL_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/tools/*.in)
@ -28,6 +29,7 @@ TOOL_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/tools/*.in)
STATIC_CONFIG_FILES = $(shell find $(CT_LIB_DIR)/config -type f -name '*.in') STATIC_CONFIG_FILES = $(shell find $(CT_LIB_DIR)/config -type f -name '*.in')
GEN_CONFIG_FILES=$(CT_TOP_DIR)/config.gen/arch.in \ GEN_CONFIG_FILES=$(CT_TOP_DIR)/config.gen/arch.in \
$(CT_TOP_DIR)/config.gen/kernel.in \ $(CT_TOP_DIR)/config.gen/kernel.in \
$(CT_TOP_DIR)/config.gen/cc.in \
$(CT_TOP_DIR)/config.gen/libc.in \ $(CT_TOP_DIR)/config.gen/libc.in \
$(CT_TOP_DIR)/config.gen/tools.in \ $(CT_TOP_DIR)/config.gen/tools.in \
$(CT_TOP_DIR)/config.gen/debug.in $(CT_TOP_DIR)/config.gen/debug.in
@ -37,6 +39,7 @@ CONFIG_FILES=$(STATIC_CONFIG_FILES) $(GEN_CONFIG_FILES)
# Build list of items # Build list of items
ARCHS = $(patsubst $(CT_LIB_DIR)/config/arch/%.in,%,$(ARCH_CONFIG_FILES)) ARCHS = $(patsubst $(CT_LIB_DIR)/config/arch/%.in,%,$(ARCH_CONFIG_FILES))
KERNELS = $(patsubst $(CT_LIB_DIR)/config/kernel/%.in,%,$(KERNEL_CONFIG_FILES)) KERNELS = $(patsubst $(CT_LIB_DIR)/config/kernel/%.in,%,$(KERNEL_CONFIG_FILES))
CCS = $(patsubst $(CT_LIB_DIR)/config/cc/%.in,%,$(CC_CONFIG_FILES))
LIBCS = $(patsubst $(CT_LIB_DIR)/config/libc/%.in,%,$(LIBC_CONFIG_FILES)) LIBCS = $(patsubst $(CT_LIB_DIR)/config/libc/%.in,%,$(LIBC_CONFIG_FILES))
DEBUGS = $(patsubst $(CT_LIB_DIR)/config/debug/%.in,%,$(DEBUG_CONFIG_FILES)) DEBUGS = $(patsubst $(CT_LIB_DIR)/config/debug/%.in,%,$(DEBUG_CONFIG_FILES))
TOOLS = $(patsubst $(CT_LIB_DIR)/config/tools/%.in,%,$(TOOL_CONFIG_FILES)) TOOLS = $(patsubst $(CT_LIB_DIR)/config/tools/%.in,%,$(TOOL_CONFIG_FILES))
@ -99,6 +102,9 @@ $(CT_TOP_DIR)/config.gen/arch.in: $(ARCH_CONFIG_FILES)
$(CT_TOP_DIR)/config.gen/kernel.in: $(KERNEL_CONFIG_FILES) $(CT_TOP_DIR)/config.gen/kernel.in: $(KERNEL_CONFIG_FILES)
$(call build_gen_choice_in,$(patsubst $(CT_TOP_DIR)/%,%,$@),Target OS,KERNEL,config/kernel,$(KERNELS)) $(call build_gen_choice_in,$(patsubst $(CT_TOP_DIR)/%,%,$@),Target OS,KERNEL,config/kernel,$(KERNELS))
$(CT_TOP_DIR)/config.gen/cc.in: $(CC_CONFIG_FILES)
$(call build_gen_choice_in,$(patsubst $(CT_TOP_DIR)/%,%,$@),C compiler,CC,config/cc,$(CCS))
$(CT_TOP_DIR)/config.gen/libc.in: $(LIBC_CONFIG_FILES) $(CT_TOP_DIR)/config.gen/libc.in: $(LIBC_CONFIG_FILES)
$(call build_gen_choice_in,$(patsubst $(CT_TOP_DIR)/%,%,$@),C library,LIBC,config/libc,$(LIBCS)) $(call build_gen_choice_in,$(patsubst $(CT_TOP_DIR)/%,%,$@),C library,LIBC,config/libc,$(LIBCS))