summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-10-13 16:58:52 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-10-13 16:58:52 (GMT)
commit5ae048e78b04cd25abb4adce1b53fbaf4ad18add (patch)
tree855150b0ebe9a3b10fa2c9d625c0d87d06d121ff
parentd2fe51a715cf16f94abb23b34b48549b0d63d4e4 (diff)
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(-)
-rw-r--r--config/cc.in31
-rw-r--r--config/cc/gcc.in13
-rw-r--r--kconfig/kconfig.mk6
3 files changed, 22 insertions, 28 deletions
diff --git a/config/cc.in b/config/cc.in
index a88832e..d383be3 100644
--- a/config/cc.in
+++ b/config/cc.in
@@ -2,38 +2,13 @@
menu "C compiler"
-choice
- bool
- 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
string
-config CC
+config CC_VERSION
string
- default "gcc" if CC_GCC
-if CC_GCC
-source config/cc/gcc.in
-endif
+source config.gen/cc.in
config CC_SUPPORT_CXX
bool
diff --git a/config/cc/gcc.in b/config/cc/gcc.in
index e280ad1..ededcae 100644
--- a/config/cc/gcc.in
+++ b/config/cc/gcc.in
@@ -1,5 +1,18 @@
# 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
bool
prompt "gcc version"
diff --git a/kconfig/kconfig.mk b/kconfig/kconfig.mk
index f20f7e7..4b3321e 100644
--- a/kconfig/kconfig.mk
+++ b/kconfig/kconfig.mk
@@ -21,6 +21,7 @@ endif
# Build a list of all config files
ARCH_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/arch/*.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)
DEBUG_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/debug/*.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')
GEN_CONFIG_FILES=$(CT_TOP_DIR)/config.gen/arch.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/tools.in \
$(CT_TOP_DIR)/config.gen/debug.in
@@ -37,6 +39,7 @@ CONFIG_FILES=$(STATIC_CONFIG_FILES) $(GEN_CONFIG_FILES)
# Build list of items
ARCHS = $(patsubst $(CT_LIB_DIR)/config/arch/%.in,%,$(ARCH_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))
DEBUGS = $(patsubst $(CT_LIB_DIR)/config/debug/%.in,%,$(DEBUG_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)
$(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)
$(call build_gen_choice_in,$(patsubst $(CT_TOP_DIR)/%,%,$@),C library,LIBC,config/libc,$(LIBCS))