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.
1.1 --- a/config/cc.in Tue Apr 17 22:22:46 2007 +0000
1.2 +++ b/config/cc.in Tue Apr 17 22:24:42 2007 +0000
1.3 @@ -38,6 +38,7 @@
1.4 #config CC_CORE_TCC
1.5 # bool
1.6 # prompt "tcc (EXPERIMENTAL)"
1.7 +# depends on EXPERIMENTAL
1.8
1.9 endchoice
1.10
1.11 @@ -78,6 +79,7 @@
1.12 # bool
1.13 # prompt "tcc (EXPERIMENTAL)"
1.14 # select CC_LANG_C
1.15 +# depends on EXPERIMENTAL
1.16
1.17 endchoice
1.18
2.1 --- a/config/config.in Tue Apr 17 22:22:46 2007 +0000
2.2 +++ b/config/config.in Tue Apr 17 22:24:42 2007 +0000
2.3 @@ -1,5 +1,6 @@
2.4 source config/global.in
2.5 source config/target.in
2.6 +source config/toolchain.in
2.7 source config/kernel.in
2.8 source config/binutils.in
2.9 source config/cc.in
3.1 --- a/config/global.in Tue Apr 17 22:22:46 2007 +0000
3.2 +++ b/config/global.in Tue Apr 17 22:24:42 2007 +0000
3.3 @@ -2,6 +2,20 @@
3.4
3.5 menu "Paths and misc options"
3.6
3.7 +config EXPERIMENTAL
3.8 + bool
3.9 + prompt "Try features marked as EXPERIMENTAL"
3.10 + default n
3.11 + help
3.12 + If you set this to Y, then you will be able to try very experimental
3.13 + features.
3.14 +
3.15 + Experimental features can be one of:
3.16 + - working, in which case you should tell me it is!
3.17 + - buggy, in which case you could try patching and send me the result
3.18 + - unfinished, in which case you could try hacking it and send me the result
3.19 + - non-existant, in which case you could also try hacking it in and send the result
3.20 +
3.21 config PARALLEL_JOBS
3.22 int
3.23 prompt "Number of parallel jobs"
4.1 --- a/config/target.in Tue Apr 17 22:22:46 2007 +0000
4.2 +++ b/config/target.in Tue Apr 17 22:24:42 2007 +0000
4.3 @@ -172,7 +172,7 @@
4.4
4.5 config TARGET_CFLAGS
4.6 string
4.7 - prompt "Default target CFLAGS"
4.8 + prompt "Target CFLAGS"
4.9 default ""
4.10 help
4.11 Used to add specific options when compiling libraries of the toolchain,
4.12 @@ -183,134 +183,4 @@
4.13
4.14 Leave blank if you don't know better.
4.15
4.16 -comment "Toolchain options"
4.17 -
4.18 -config USE_SYSROOT
4.19 - bool
4.20 - prompt "Use sysroot'ed toolchain"
4.21 - default y
4.22 - help
4.23 - Use the 'shinny new' sysroot feature of gcc: libraries split between
4.24 - prefix/target/sys-root/lib and prefix/target/sys-root/usr/lib
4.25 -
4.26 - You definitely want to say 'Y' here. Yes you do. I know you do. Say 'Y'.
4.27 -
4.28 -config SHARED_LIBS
4.29 - bool
4.30 - prompt "Build shared libraries"
4.31 - default y
4.32 - help
4.33 - Say 'y' here, unless you don't want shared libraries.
4.34 -
4.35 - You might not want shared librries if you're building for a target that
4.36 - don't support it (maybe some nommu targets, for example, or bare metal).
4.37 -
4.38 -config TARGET_MULTILIB
4.39 - bool
4.40 -# prompt "Enable 'multilib' support (EXPERIMENTAL)"
4.41 - default n
4.42 - help
4.43 - Enable the so-called 'multilib' support.
4.44 -
4.45 - With the same toolchain, and on some architectures, you will be able to
4.46 - build big and little endian binaries, soft- and hard-float, etc...
4.47 -
4.48 - See the gcc configure manual at http://gcc.gnu.org/install/configure.html
4.49 - to see what multilib your target supports.
4.50 -
4.51 - It's preferable for now to build two (or more) toolchains, one for each
4.52 - configuration you need to support (eg. one for thumb and one for ARM,
4.53 - etc...). You can use the vendor string to diferentiate those toolchains.
4.54 -
4.55 -config TARGET_VENDOR
4.56 - string
4.57 - prompt "Vendor string"
4.58 - default "unknown"
4.59 - help
4.60 - Vendor part of the machine triplet.
4.61 -
4.62 - A triplet is of the form arch-vendor-kernel-system.
4.63 - You can set the second part, vendor, to whatever you see fit.
4.64 - Use a single word, or use underscores "_" to separate words.
4.65 -
4.66 - Keep the default (unkown) if you don't know better.
4.67 -
4.68 -config TARGET_ALIAS
4.69 - string
4.70 - prompt "Target alias"
4.71 - default ""
4.72 - help
4.73 - Normaly, you'd call your toolchain component (especially gcc) by
4.74 - prefixing the target triplet followed by a dash and the component name
4.75 - (eg. armeb-unknown-linux-uclibc-gcc).
4.76 -
4.77 - You can enter a shortcut here. This string will be used to create
4.78 - symbolic links to the toolchain tools (eg. if you enter "foo-bar" here,
4.79 - then gcc for your toolchain will also be available as "foo-bar-gcc" along
4.80 - with the original name).
4.81 -
4.82 - You shouldn't need to enter anything here, unless you plan to manually
4.83 - call the tools (autotools-based ./configure will use the standard name).
4.84 -
4.85 -config ARCH
4.86 - string
4.87 - default "arm" if ARCH_ARM
4.88 - default "mips" if ARCH_MIPS
4.89 - default "x86" if ARCH_x86
4.90 - default "x86_64" if ARCH_x86_64
4.91 -
4.92 -config BUILD
4.93 - string
4.94 - prompt "Build system triplet"
4.95 - default ""
4.96 - help
4.97 - Canonical name of the machine building the toolchain.
4.98 - You should leave empty, unless you really now what you're doing.
4.99 -
4.100 -config CC_NATIVE
4.101 - string
4.102 - prompt "Native gcc"
4.103 - default "gcc"
4.104 - help
4.105 - The native C compiler.
4.106 -
4.107 - You can set this to an alternative compiler if you have more than one
4.108 - installed (eg. gcc is gcc-4.1.1 and you want to use gcc-3.4.6).
4.109 -
4.110 - You can leave this empty as well, in which case gcc will be used.
4.111 -
4.112 -config CANADIAN
4.113 - bool
4.114 - prompt "Canadian build (EXPERIMENTAL)"
4.115 - default n
4.116 - help
4.117 - A canadian build allows to build a compiler on a first machine
4.118 - (build system), that will run on second machine (host system),
4.119 - targetting a third machine (target system).
4.120 -
4.121 - An example where you'd want a candian cross-compiler is to create
4.122 - a native compiler for your target. In this case host and target
4.123 - are the same.
4.124 -
4.125 -config HOST
4.126 - string
4.127 - prompt "Host system triplet"
4.128 - default ""
4.129 - depends on CANADIAN
4.130 - help
4.131 - Canonical name of the machine serving as host.
4.132 -
4.133 -config HOST_CC
4.134 - string
4.135 - prompt "Host system compiler"
4.136 - default "${CT_HOST}-"
4.137 - depends on CANADIAN
4.138 - help
4.139 - C compiler targeting the host system.
4.140 - If HOST_CC ends with a dash (-), then it is considered to be the
4.141 - prefix to gcc (eg. x86-pc-linuc-gnu-).
4.142 - If it is empty, it is formed by appending '-gcc' to HOST.
4.143 - Else it is considered to be the complete name of the compiler, with
4.144 - full path, or without path (provided that it can be found in PATH).
4.145 -
4.146 endmenu
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/config/toolchain.in Tue Apr 17 22:24:42 2007 +0000
5.3 @@ -0,0 +1,164 @@
5.4 +menu "Toolchain options"
5.5 +
5.6 +comment "General toolchain options"
5.7 +
5.8 +config USE_SYSROOT
5.9 + bool
5.10 + prompt "Use sysroot'ed toolchain"
5.11 + default y
5.12 + help
5.13 + Use the 'shinny new' sysroot feature of gcc: libraries split between
5.14 + prefix/target/sys-root/lib and prefix/target/sys-root/usr/lib
5.15 +
5.16 + You definitely want to say 'Y' here. Yes you do. I know you do. Say 'Y'.
5.17 +
5.18 +config SHARED_LIBS
5.19 + bool
5.20 + prompt "Build shared libraries"
5.21 + default y
5.22 + help
5.23 + Say 'y' here, unless you don't want shared libraries.
5.24 +
5.25 + You might not want shared librries if you're building for a target that
5.26 + don't support it (maybe some nommu targets, for example, or bare metal).
5.27 +
5.28 +config TARGET_MULTILIB
5.29 + bool
5.30 +# prompt "Enable 'multilib' support (EXPERIMENTAL)"
5.31 + default n
5.32 + help
5.33 + Enable the so-called 'multilib' support.
5.34 +
5.35 + With the same toolchain, and on some architectures, you will be able to
5.36 + build big and little endian binaries, soft- and hard-float, etc...
5.37 +
5.38 + See the gcc configure manual at http://gcc.gnu.org/install/configure.html
5.39 + to see what multilib your target supports.
5.40 +
5.41 + It's preferable for now to build two (or more) toolchains, one for each
5.42 + configuration you need to support (eg. one for thumb and one for ARM,
5.43 + etc...). You can use the vendor string to diferentiate those toolchains.
5.44 +
5.45 +config TARGET_VENDOR
5.46 + string
5.47 + prompt "Vendor string"
5.48 + default "unknown"
5.49 + help
5.50 + Vendor part of the machine triplet.
5.51 +
5.52 + A triplet is of the form arch-vendor-kernel-system.
5.53 + You can set the second part, vendor, to whatever you see fit.
5.54 + Use a single word, or use underscores "_" to separate words.
5.55 +
5.56 + Keep the default (unkown) if you don't know better.
5.57 +
5.58 +config TARGET_ALIAS
5.59 + string
5.60 + prompt "Target alias"
5.61 + default ""
5.62 + help
5.63 + Normaly, you'd call your toolchain component (especially gcc) by
5.64 + prefixing the target triplet followed by a dash and the component name
5.65 + (eg. armeb-unknown-linux-uclibc-gcc).
5.66 +
5.67 + You can enter a shortcut here. This string will be used to create
5.68 + symbolic links to the toolchain tools (eg. if you enter "foo-bar" here,
5.69 + then gcc for your toolchain will also be available as "foo-bar-gcc" along
5.70 + with the original name).
5.71 +
5.72 + You shouldn't need to enter anything here, unless you plan to manually
5.73 + call the tools (autotools-based ./configure will use the standard name).
5.74 +
5.75 +config ARCH
5.76 + string
5.77 + default "arm" if ARCH_ARM
5.78 + default "mips" if ARCH_MIPS
5.79 + default "x86" if ARCH_x86
5.80 + default "x86_64" if ARCH_x86_64
5.81 +
5.82 +comment "Toolchain type"
5.83 +
5.84 +choice
5.85 + bool
5.86 + prompt "Type"
5.87 + default CROSS
5.88 +
5.89 +config NATIVE
5.90 + bool
5.91 + prompt "Native (EXPERIMENTAL)"
5.92 + depends on EXPERIMENTAL
5.93 + help
5.94 + Build a native toolchain.
5.95 + See docs/overview.txt
5.96 +
5.97 +config CROSS
5.98 + bool
5.99 + prompt "Cross"
5.100 + help
5.101 + Build a cross-toolchain.
5.102 + See docs/overview.txt
5.103 +
5.104 +config CROSS_NATIVE
5.105 + bool
5.106 + prompt "Croos-native (EXPERIMENTAL)"
5.107 + depends on EXPERIMENTAL
5.108 + help
5.109 + Build a cross-native toolchain.
5.110 + See docs/overview.txt
5.111 +
5.112 +config CANADIAN
5.113 + bool
5.114 + prompt "Canadian (EXPERIMENTAL)"
5.115 + depends on EXPERIMENTAL
5.116 + default n
5.117 + help
5.118 + Build a canadian-toolchain.
5.119 + See docs/overview.txt
5.120 +
5.121 +endchoice
5.122 +
5.123 +config BUILD
5.124 + string
5.125 + prompt "Build system triplet"
5.126 + default ""
5.127 + help
5.128 + Canonical name of the machine building the toolchain.
5.129 + You should leave empty, unless you really now what you're doing.
5.130 +
5.131 +config CC_NATIVE
5.132 + string
5.133 + prompt "Native gcc"
5.134 + default "gcc"
5.135 + help
5.136 + The native C compiler.
5.137 +
5.138 + You can set this to an alternative compiler if you have more than one
5.139 + installed (eg. gcc is gcc-4.1.1 and you want to use gcc-3.4.6).
5.140 +
5.141 + You can leave this empty as well, in which case gcc will be used.
5.142 +
5.143 +config HOST
5.144 + string
5.145 + prompt "Host system triplet"
5.146 + default ""
5.147 + depends on NATIVE || CANADIAN
5.148 + help
5.149 + Canonical name of the machine running the toolchain.
5.150 +
5.151 +config HOST_CC
5.152 + string
5.153 + prompt "Cross-compiler prefix for host system"
5.154 + default "${CT_HOST}-"
5.155 + depends on NATIVE || CANADIAN
5.156 + help
5.157 + C compiler targeting the host system.
5.158 +
5.159 +config TARGET_CC
5.160 + string
5.161 + prompt "Cross-compiler prefix for target system"
5.162 + default "${CT_TARGET}-"
5.163 + depends on CANADIAN
5.164 + help
5.165 + C compiler targeting the target system.
5.166 +
5.167 +endmenu