Add the EXPERIMENTAL option to show options marked as such.

Add the four types of toolchains ct-ng is able to build as EXPERIMENTAL, except for CROSS which *is* functional.
Reorder menus accordingly.
This commit is contained in:
Yann E. MORIN" 2007-04-17 22:24:42 +00:00
parent 8c5cfe649d
commit 5b96251953
5 changed files with 182 additions and 131 deletions

View File

@ -38,6 +38,7 @@ config CC_CORE_GCC
#config CC_CORE_TCC
# bool
# prompt "tcc (EXPERIMENTAL)"
# depends on EXPERIMENTAL
endchoice
@ -78,6 +79,7 @@ config CC_GCC
# bool
# prompt "tcc (EXPERIMENTAL)"
# select CC_LANG_C
# depends on EXPERIMENTAL
endchoice

View File

@ -1,5 +1,6 @@
source config/global.in
source config/target.in
source config/toolchain.in
source config/kernel.in
source config/binutils.in
source config/cc.in

View File

@ -2,6 +2,20 @@
menu "Paths and misc options"
config EXPERIMENTAL
bool
prompt "Try features marked as EXPERIMENTAL"
default n
help
If you set this to Y, then you will be able to try very experimental
features.
Experimental features can be one of:
- working, in which case you should tell me it is!
- buggy, in which case you could try patching and send me the result
- unfinished, in which case you could try hacking it and send me the result
- non-existant, in which case you could also try hacking it in and send the result
config PARALLEL_JOBS
int
prompt "Number of parallel jobs"

View File

@ -172,7 +172,7 @@ config ARCH_FLOAT_SW_LIBFLOAT
config TARGET_CFLAGS
string
prompt "Default target CFLAGS"
prompt "Target CFLAGS"
default ""
help
Used to add specific options when compiling libraries of the toolchain,
@ -183,134 +183,4 @@ config TARGET_CFLAGS
Leave blank if you don't know better.
comment "Toolchain options"
config USE_SYSROOT
bool
prompt "Use sysroot'ed toolchain"
default y
help
Use the 'shinny new' sysroot feature of gcc: libraries split between
prefix/target/sys-root/lib and prefix/target/sys-root/usr/lib
You definitely want to say 'Y' here. Yes you do. I know you do. Say 'Y'.
config SHARED_LIBS
bool
prompt "Build shared libraries"
default y
help
Say 'y' here, unless you don't want shared libraries.
You might not want shared librries if you're building for a target that
don't support it (maybe some nommu targets, for example, or bare metal).
config TARGET_MULTILIB
bool
# prompt "Enable 'multilib' support (EXPERIMENTAL)"
default n
help
Enable the so-called 'multilib' support.
With the same toolchain, and on some architectures, you will be able to
build big and little endian binaries, soft- and hard-float, etc...
See the gcc configure manual at http://gcc.gnu.org/install/configure.html
to see what multilib your target supports.
It's preferable for now to build two (or more) toolchains, one for each
configuration you need to support (eg. one for thumb and one for ARM,
etc...). You can use the vendor string to diferentiate those toolchains.
config TARGET_VENDOR
string
prompt "Vendor string"
default "unknown"
help
Vendor part of the machine triplet.
A triplet is of the form arch-vendor-kernel-system.
You can set the second part, vendor, to whatever you see fit.
Use a single word, or use underscores "_" to separate words.
Keep the default (unkown) if you don't know better.
config TARGET_ALIAS
string
prompt "Target alias"
default ""
help
Normaly, you'd call your toolchain component (especially gcc) by
prefixing the target triplet followed by a dash and the component name
(eg. armeb-unknown-linux-uclibc-gcc).
You can enter a shortcut here. This string will be used to create
symbolic links to the toolchain tools (eg. if you enter "foo-bar" here,
then gcc for your toolchain will also be available as "foo-bar-gcc" along
with the original name).
You shouldn't need to enter anything here, unless you plan to manually
call the tools (autotools-based ./configure will use the standard name).
config ARCH
string
default "arm" if ARCH_ARM
default "mips" if ARCH_MIPS
default "x86" if ARCH_x86
default "x86_64" if ARCH_x86_64
config BUILD
string
prompt "Build system triplet"
default ""
help
Canonical name of the machine building the toolchain.
You should leave empty, unless you really now what you're doing.
config CC_NATIVE
string
prompt "Native gcc"
default "gcc"
help
The native C compiler.
You can set this to an alternative compiler if you have more than one
installed (eg. gcc is gcc-4.1.1 and you want to use gcc-3.4.6).
You can leave this empty as well, in which case gcc will be used.
config CANADIAN
bool
prompt "Canadian build (EXPERIMENTAL)"
default n
help
A canadian build allows to build a compiler on a first machine
(build system), that will run on second machine (host system),
targetting a third machine (target system).
An example where you'd want a candian cross-compiler is to create
a native compiler for your target. In this case host and target
are the same.
config HOST
string
prompt "Host system triplet"
default ""
depends on CANADIAN
help
Canonical name of the machine serving as host.
config HOST_CC
string
prompt "Host system compiler"
default "${CT_HOST}-"
depends on CANADIAN
help
C compiler targeting the host system.
If HOST_CC ends with a dash (-), then it is considered to be the
prefix to gcc (eg. x86-pc-linuc-gnu-).
If it is empty, it is formed by appending '-gcc' to HOST.
Else it is considered to be the complete name of the compiler, with
full path, or without path (provided that it can be found in PATH).
endmenu

164
config/toolchain.in Normal file
View File

@ -0,0 +1,164 @@
menu "Toolchain options"
comment "General toolchain options"
config USE_SYSROOT
bool
prompt "Use sysroot'ed toolchain"
default y
help
Use the 'shinny new' sysroot feature of gcc: libraries split between
prefix/target/sys-root/lib and prefix/target/sys-root/usr/lib
You definitely want to say 'Y' here. Yes you do. I know you do. Say 'Y'.
config SHARED_LIBS
bool
prompt "Build shared libraries"
default y
help
Say 'y' here, unless you don't want shared libraries.
You might not want shared librries if you're building for a target that
don't support it (maybe some nommu targets, for example, or bare metal).
config TARGET_MULTILIB
bool
# prompt "Enable 'multilib' support (EXPERIMENTAL)"
default n
help
Enable the so-called 'multilib' support.
With the same toolchain, and on some architectures, you will be able to
build big and little endian binaries, soft- and hard-float, etc...
See the gcc configure manual at http://gcc.gnu.org/install/configure.html
to see what multilib your target supports.
It's preferable for now to build two (or more) toolchains, one for each
configuration you need to support (eg. one for thumb and one for ARM,
etc...). You can use the vendor string to diferentiate those toolchains.
config TARGET_VENDOR
string
prompt "Vendor string"
default "unknown"
help
Vendor part of the machine triplet.
A triplet is of the form arch-vendor-kernel-system.
You can set the second part, vendor, to whatever you see fit.
Use a single word, or use underscores "_" to separate words.
Keep the default (unkown) if you don't know better.
config TARGET_ALIAS
string
prompt "Target alias"
default ""
help
Normaly, you'd call your toolchain component (especially gcc) by
prefixing the target triplet followed by a dash and the component name
(eg. armeb-unknown-linux-uclibc-gcc).
You can enter a shortcut here. This string will be used to create
symbolic links to the toolchain tools (eg. if you enter "foo-bar" here,
then gcc for your toolchain will also be available as "foo-bar-gcc" along
with the original name).
You shouldn't need to enter anything here, unless you plan to manually
call the tools (autotools-based ./configure will use the standard name).
config ARCH
string
default "arm" if ARCH_ARM
default "mips" if ARCH_MIPS
default "x86" if ARCH_x86
default "x86_64" if ARCH_x86_64
comment "Toolchain type"
choice
bool
prompt "Type"
default CROSS
config NATIVE
bool
prompt "Native (EXPERIMENTAL)"
depends on EXPERIMENTAL
help
Build a native toolchain.
See docs/overview.txt
config CROSS
bool
prompt "Cross"
help
Build a cross-toolchain.
See docs/overview.txt
config CROSS_NATIVE
bool
prompt "Croos-native (EXPERIMENTAL)"
depends on EXPERIMENTAL
help
Build a cross-native toolchain.
See docs/overview.txt
config CANADIAN
bool
prompt "Canadian (EXPERIMENTAL)"
depends on EXPERIMENTAL
default n
help
Build a canadian-toolchain.
See docs/overview.txt
endchoice
config BUILD
string
prompt "Build system triplet"
default ""
help
Canonical name of the machine building the toolchain.
You should leave empty, unless you really now what you're doing.
config CC_NATIVE
string
prompt "Native gcc"
default "gcc"
help
The native C compiler.
You can set this to an alternative compiler if you have more than one
installed (eg. gcc is gcc-4.1.1 and you want to use gcc-3.4.6).
You can leave this empty as well, in which case gcc will be used.
config HOST
string
prompt "Host system triplet"
default ""
depends on NATIVE || CANADIAN
help
Canonical name of the machine running the toolchain.
config HOST_CC
string
prompt "Cross-compiler prefix for host system"
default "${CT_HOST}-"
depends on NATIVE || CANADIAN
help
C compiler targeting the host system.
config TARGET_CC
string
prompt "Cross-compiler prefix for target system"
default "${CT_TARGET}-"
depends on CANADIAN
help
C compiler targeting the target system.
endmenu