mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-02-11 13:05:19 +00:00
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:
parent
8c5cfe649d
commit
5b96251953
@ -38,6 +38,7 @@ config CC_CORE_GCC
|
|||||||
#config CC_CORE_TCC
|
#config CC_CORE_TCC
|
||||||
# bool
|
# bool
|
||||||
# prompt "tcc (EXPERIMENTAL)"
|
# prompt "tcc (EXPERIMENTAL)"
|
||||||
|
# depends on EXPERIMENTAL
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
@ -78,6 +79,7 @@ config CC_GCC
|
|||||||
# bool
|
# bool
|
||||||
# prompt "tcc (EXPERIMENTAL)"
|
# prompt "tcc (EXPERIMENTAL)"
|
||||||
# select CC_LANG_C
|
# select CC_LANG_C
|
||||||
|
# depends on EXPERIMENTAL
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
source config/global.in
|
source config/global.in
|
||||||
source config/target.in
|
source config/target.in
|
||||||
|
source config/toolchain.in
|
||||||
source config/kernel.in
|
source config/kernel.in
|
||||||
source config/binutils.in
|
source config/binutils.in
|
||||||
source config/cc.in
|
source config/cc.in
|
||||||
|
@ -2,6 +2,20 @@
|
|||||||
|
|
||||||
menu "Paths and misc options"
|
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
|
config PARALLEL_JOBS
|
||||||
int
|
int
|
||||||
prompt "Number of parallel jobs"
|
prompt "Number of parallel jobs"
|
||||||
|
132
config/target.in
132
config/target.in
@ -172,7 +172,7 @@ config ARCH_FLOAT_SW_LIBFLOAT
|
|||||||
|
|
||||||
config TARGET_CFLAGS
|
config TARGET_CFLAGS
|
||||||
string
|
string
|
||||||
prompt "Default target CFLAGS"
|
prompt "Target CFLAGS"
|
||||||
default ""
|
default ""
|
||||||
help
|
help
|
||||||
Used to add specific options when compiling libraries of the toolchain,
|
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.
|
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
|
endmenu
|
||||||
|
164
config/toolchain.in
Normal file
164
config/toolchain.in
Normal 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
|
Loading…
x
Reference in New Issue
Block a user