diff options
author | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2008-09-16 17:39:40 (GMT) |
---|---|---|
committer | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2008-09-16 17:39:40 (GMT) |
commit | c36b92179069933060d51f408e079c49eb47f281 (patch) | |
tree | 12ffa93377cbef08b2b8f337cbc90bfc4d705591 /config | |
parent | 59b1a0929db05817384d6c04d60b8a707975da42 (diff) |
Generate the kernel config choice, rather than having it hard-coded:
- change the menu label from 'Target OS' to 'Operating System',
- bare-metal is a kind of kernel (OS), rename to 'bare-metal' from 'none',
- update the kconfig.mk to generate the kernel choice entries,
- update glibc&eglibc kernel version option accordingly.
Update the debug & tools confiog file generation to match with arch & kernel.
Print terse command lines when building in kconfig/ (a-la Linux kernel).
Fix the makefile rules in kconfig/kconfig.mk to be /simple/ rules.
/trunk/kconfig/kconfig.mk | 117 81 36 0 +++++++++++++++++++++----------
/trunk/config/kernel/linux.in | 4 4 0 0 +
/trunk/config/kernel/bare-metal.experimental.in | 15 15 0 0 ++++
/trunk/config/kernel.in | 33 5 28 0 +--------
/trunk/config/libc/glibc-eglibc-common.in | 4 2 2 0
5 files changed, 107 insertions(+), 66 deletions(-)
Diffstat (limited to 'config')
-rw-r--r-- | config/kernel.in | 33 | ||||
-rw-r--r-- | config/kernel/bare-metal.experimental.in | 15 | ||||
-rw-r--r-- | config/kernel/linux.in | 4 | ||||
-rw-r--r-- | config/libc/glibc-eglibc-common.in | 4 |
4 files changed, 26 insertions, 30 deletions
diff --git a/config/kernel.in b/config/kernel.in index db7b802..1ae8b2e 100644 --- a/config/kernel.in +++ b/config/kernel.in @@ -1,42 +1,19 @@ # Kernel options +menu "Operating System" + config KERNEL string - default "none" if BARE_METAL - default "linux" if KERNEL_LINUX -menu "Target OS" +config KERNEL_VERSION + string choice bool prompt "Target OS" - default KERNEL_LINUX - -config KERNEL_LINUX - bool - prompt "Linux" - help - Build a toolchain targeting systems running Linux as a kernel. -config BARE_METAL - bool - prompt "Bare metal (EXPERIMENTAL)" - depends on EXPERIMENTAL - help - Say 'y' here if you want a simple C compiler with no C library. - - 'Bare metal' also refer to those programs that run without any kernel. - - You probably want to say 'y' here if you plan to use your compiler - to build only kernels or bootloaders +source config.gen/kernel.in endchoice -config KERNEL_VERSION - string - -if KERNEL_LINUX -source config/kernel/linux.in -endif - endmenu diff --git a/config/kernel/bare-metal.experimental.in b/config/kernel/bare-metal.experimental.in new file mode 100644 index 0000000..7a4b574 --- /dev/null +++ b/config/kernel/bare-metal.experimental.in @@ -0,0 +1,15 @@ +# Bare metal config options + +config KERNEL_bare_metal + select BARE_METAL + help + Say 'y' here if you want a simple C compiler with no C library. + + 'Bare metal' also refer to those programs that run without any kernel. + + You probably want to say 'y' here if you plan to use your compiler + to build only kernels or bootloaders. + +config BARE_METAL + bool + default n diff --git a/config/kernel/linux.in b/config/kernel/linux.in index 18881d7..7fd0523 100644 --- a/config/kernel/linux.in +++ b/config/kernel/linux.in @@ -1,5 +1,9 @@ # Linux kernel options +config KERNEL_linux + help + Build a toolchain targeting systems running Linux as a kernel. + choice bool prompt "Get kernel headers from:" diff --git a/config/libc/glibc-eglibc-common.in b/config/libc/glibc-eglibc-common.in index 007c524..61becfb 100644 --- a/config/libc/glibc-eglibc-common.in +++ b/config/libc/glibc-eglibc-common.in @@ -70,7 +70,7 @@ config LIBC_ADDONS_LIST Eg.: crypt (for very old libces) -if KERNEL_LINUX +if KERNEL_linux choice bool @@ -166,4 +166,4 @@ config LIBC_GLIBC_MIN_KERNEL default KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS default LIBC_GLIBC_MIN_KERNEL_VERSION if LIBC_GLIBC_USE_HEADERS_MIN_KERNEL -endif # KERNEL_LINUX +endif # KERNEL_linux |