summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/binutils.in133
-rw-r--r--config/cc.in185
-rw-r--r--config/cc_core_gcc.in137
-rw-r--r--config/cc_core_tcc.in0
-rw-r--r--config/cc_gcc.in131
-rw-r--r--config/cc_tcc.in0
-rw-r--r--config/config.in6
-rw-r--r--config/global.in256
-rw-r--r--config/kernel.in36
-rw-r--r--config/kernel_cygwin.in5
-rw-r--r--config/kernel_linux.in102
-rw-r--r--config/kernel_linux_headers_copy.in682
-rw-r--r--config/kernel_linux_headers_install.in75
-rw-r--r--config/kernel_linux_headers_sanitised.in62
-rw-r--r--config/libc.in36
-rw-r--r--config/libc_glibc.in199
-rw-r--r--config/libc_uClibc.in92
-rw-r--r--config/target.in300
18 files changed, 2437 insertions, 0 deletions
diff --git a/config/binutils.in b/config/binutils.in
new file mode 100644
index 0000000..e91b64e
--- /dev/null
+++ b/config/binutils.in
@@ -0,0 +1,133 @@
+# binutils options
+
+menu "binutils"
+
+config BINUTILS_VERSION
+ string
+
+choice
+ bool
+ prompt "binutils version"
+
+config BINUTILS_V_2_11_2
+ bool
+ prompt "2.11.2"
+
+config BINUTILS_V_2_13_90
+ bool
+ prompt "2.13.90"
+
+config BINUTILS_V_2_14
+ bool
+ prompt "2.14"
+
+config BINUTILS_V_2_14_90
+ bool
+ prompt "2.14.90"
+
+config BINUTILS_V_2_14_92
+ bool
+ prompt "2.14.92"
+
+config BINUTILS_V_2_15
+ bool
+ prompt "2.15"
+
+config BINUTILS_V_2_15_90
+ bool
+ prompt "2.15.90"
+
+config BINUTILS_V_2_15_91
+ bool
+ prompt "2.15.91"
+
+config BINUTILS_V_2_16
+ bool
+ prompt "2.16"
+
+config BINUTILS_V_2_16_1
+ bool
+ prompt "2.16.1"
+
+config BINUTILS_V_2_17
+ bool
+ prompt "2.17"
+
+config BINUTILS_V_2_17_50_0_1
+ bool
+ prompt "2.17.50.0.1"
+
+config BINUTILS_V_2_17_50_0_2
+ bool
+ prompt "2.17.50.0.2"
+
+config BINUTILS_V_2_17_50_0_3
+ bool
+ prompt "2.17.50.0.3"
+
+config BINUTILS_V_2_17_50_0_4
+ bool
+ prompt "2.17.50.0.4"
+
+config BINUTILS_V_2_17_50_0_5
+ bool
+ prompt "2.17.50.0.5"
+
+config BINUTILS_V_2_17_50_0_6
+ bool
+ prompt "2.17.50.0.6"
+
+config BINUTILS_V_2_17_50_0_7
+ bool
+ prompt "2.17.50.0.7"
+
+config BINUTILS_V_2_17_50_0_8
+ bool
+ prompt "2.17.50.0.8"
+
+config BINUTILS_V_2_17_50_0_9
+ bool
+ prompt "2.17.50.0.9"
+
+config BINUTILS_V_2_17_50_0_10
+ bool
+ prompt "2.17.50.0.10"
+
+# CT_INSERT_VERSION_ABOVE
+# Don't remove qbove line!
+endchoice
+
+config BINUTILS_VERSION
+ string
+ default "2.11.2" if BINUTILS_V_2_11_2
+ default "2.13.90" if BINUTILS_V_2_13_90
+ default "2.14" if BINUTILS_V_2_14
+ default "2.14.90" if BINUTILS_V_2_14_90
+ default "2.14.92" if BINUTILS_V_2_14_92
+ default "2.15" if BINUTILS_V_2_15
+ default "2.15.90" if BINUTILS_V_2_15_90
+ default "2.15.91" if BINUTILS_V_2_15_91
+ default "2.16" if BINUTILS_V_2_16
+ default "2.16.1" if BINUTILS_V_2_16_1
+ default "2.17" if BINUTILS_V_2_17
+ default "2.17.50.0.1" if BINUTILS_V_2_17_50_0_1
+ default "2.17.50.0.2" if BINUTILS_V_2_17_50_0_2
+ default "2.17.50.0.3" if BINUTILS_V_2_17_50_0_3
+ default "2.17.50.0.4" if BINUTILS_V_2_17_50_0_4
+ default "2.17.50.0.5" if BINUTILS_V_2_17_50_0_5
+ default "2.17.50.0.6" if BINUTILS_V_2_17_50_0_6
+ default "2.17.50.0.7" if BINUTILS_V_2_17_50_0_7
+ default "2.17.50.0.8" if BINUTILS_V_2_17_50_0_8
+ default "2.17.50.0.9" if BINUTILS_V_2_17_50_0_9
+ default "2.17.50.0.10" if BINUTILS_V_2_17_50_0_10
+# CT_INSERT_VERSION_STRING_ABOVE
+# Don't remove qbove line!
+
+config BINUTILS_EXTRA_CONFIG
+ string
+ prompt "binutils extra config"
+ default ""
+ help
+ Extra flags passed onto ./configure when configuring
+
+endmenu
diff --git a/config/cc.in b/config/cc.in
new file mode 100644
index 0000000..18eb559
--- /dev/null
+++ b/config/cc.in
@@ -0,0 +1,185 @@
+# Compiler options
+
+menu "C compiler"
+
+comment "Core C Compiler (used to build the C library)"
+
+config CC_USE_CORE
+ bool
+ prompt "Use a different core C compiler"
+ default n
+ help
+ Use a different compiler to build the C library than the one
+ in the final toolchain.
+
+ You can change the compiler used, or only the version used.
+
+ You most probably don't need that.
+
+config CC_CORE_GCC
+ bool
+ default y if ! CC_USE_CORE && CC_GCC
+ default n if CC_USE_CORE || ! CC_GCC
+
+config CC_CORE_TCC
+ bool
+ default y if ! CC_USE_CORE && CC_TCC
+ default n if CC_USE_CORE || ! CC_TCC
+
+choice
+ bool
+ prompt "Core C compiler:"
+ depends on CC_USE_CORE
+
+config CC_CORE_GCC
+ bool
+ prompt "gcc"
+
+#config CC_CORE_TCC
+# bool
+# prompt "tcc (EXPERIMENTAL)"
+
+endchoice
+
+config CC_CORE_VERSION
+ string
+
+config CC_CORE
+ string
+ default "gcc" if CC_CORE_GCC
+ default "tcc" if CC_CORE_TCC
+
+if CC_CORE_GCC && CC_USE_CORE
+source config/cc_core_gcc.in
+endif
+
+if CC_CORE_TCC && CC_USE_CORE
+source config/cc_core_tcc.in
+endif
+
+comment "Final C compiler"
+
+choice
+ bool
+ prompt "Final C compiler"
+ 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
+
+#config CC_TCC
+# bool
+# prompt "tcc (EXPERIMENTAL)"
+# select CC_LANG_C
+
+endchoice
+
+config CC_VERSION
+ string
+
+config CC
+ string
+ default "gcc" if CC_GCC
+ default "tcc" if CC_TCC
+
+if CC_GCC
+source config/cc_gcc.in
+endif
+
+if CC_GCC
+source config/cc_tcc.in
+endif
+
+config CC_SUPPORT_CXX
+ bool
+
+config CC_SUPPORT_FORTRAN
+ bool
+
+config CC_SUPPORT_JAVA
+ bool
+
+config CC_SUPPORT_ADA
+ bool
+
+config CC_SUPPORT_OBJC
+ bool
+
+config CC_SUPPORT_OBJCXX
+ bool
+
+comment "Additionnal supported languages:"
+
+config CC_LANG_CXX
+ bool
+ prompt "C++"
+ default n
+ depends on CC_SUPPORT_CXX
+ help
+ Only select this if you know that your specific combination of
+ compiler and its version does support this language.
+
+config CC_LANG_FORTRAN
+ bool
+ prompt "Fortran"
+ default n
+ depends on CC_SUPPORT_FORTRAN
+ help
+ Only select this if you know that your specific combination of
+ compiler and its version does support this language.
+
+config CC_LANG_JAVA
+ bool
+ prompt "Java"
+ default n
+ depends on CC_SUPPORT_JAVA
+ help
+ Only select this if you know that your specific combination of
+ compiler and its version does support this language.
+
+config CC_LANG_ADA
+ bool
+ prompt "ADA"
+ default n
+ depends on CC_SUPPORT_ADA
+ help
+ Only select this if you know that your specific combination of
+ compiler and its version does support this language.
+
+config CC_LANG_OBJC
+ bool
+ prompt "Objective-C"
+ default n
+ depends on CC_SUPPORT_OBJC
+ help
+ Only select this if you know that your specific combination of
+ compiler and its version does support this language.
+
+config CC_LANG_OBJCXX
+ bool
+ prompt "Objective-C++"
+ default n
+ depends on CC_SUPPORT_OBJCXX
+ help
+ Only select this if you know that your specific combination of
+ compiler and its version does support this language.
+
+config CC_LANG_OTHERS
+ string
+ prompt "Other languages"
+ default ""
+ help
+ Enter here a comma-separated list of languages that you know your compiler
+ supports, besides those listed above.
+
+ Eg. gcc-4.1+ has a toy programming language, treelang. As it is not usefull
+ in real life, it is not available in the selection above.
+
+endmenu
diff --git a/config/cc_core_gcc.in b/config/cc_core_gcc.in
new file mode 100644
index 0000000..f922219
--- /dev/null
+++ b/config/cc_core_gcc.in
@@ -0,0 +1,137 @@
+# Compiler options
+
+choice
+ bool
+ prompt "Core gcc version"
+
+config CC_CORE_V_2_95_3
+ bool
+ prompt "2.95.3"
+
+config CC_CORE_V_3_2_3
+ bool
+ prompt "3.2.3"
+
+config CC_CORE_V_3_3
+ bool
+ prompt "3.3"
+
+config CC_CORE_V_3_3_1
+ bool
+ prompt "3.3.1"
+
+config CC_CORE_V_3_3_2
+ bool
+ prompt "3.3.2"
+
+config CC_CORE_V_3_3_3
+ bool
+ prompt "3.3.3"
+
+config CC_CORE_V_3_3_4
+ bool
+ prompt "3.3.4"
+
+config CC_CORE_V_3_3_5
+ bool
+ prompt "3.3.5"
+
+config CC_CORE_V_3_3_6
+ bool
+ prompt "3.3.6"
+
+config CC_CORE_V_3_4_0
+ bool
+ prompt "3.4.0"
+
+config CC_CORE_V_3_4_1
+ bool
+ prompt "3.4.1"
+
+config CC_CORE_V_3_4_2
+ bool
+ prompt "3.4.2"
+
+config CC_CORE_V_3_4_3
+ bool
+ prompt "3.4.3"
+
+config CC_CORE_V_3_4_4
+ bool
+ prompt "3.4.4"
+
+config CC_CORE_V_3_4_5
+ bool
+ prompt "3.4.5"
+
+config CC_CORE_V_3_4_6
+ bool
+ prompt "3.4.6"
+
+config CC_CORE_V_4_0_0
+ bool
+ prompt "4.0.0"
+
+config CC_CORE_V_4_0_1
+ bool
+ prompt "4.0.1"
+
+config CC_CORE_V_4_0_2
+ bool
+ prompt "4.0.2"
+
+config CC_CORE_V_4_0_3
+ bool
+ prompt "4.0.3"
+
+config CC_CORE_V_4_0_4
+ bool
+ prompt "4.0.4"
+
+config CC_CORE_V_4_1_0
+ bool
+ prompt "4.1.0"
+
+config CC_CORE_V_4_1_1
+ bool
+ prompt "4.1.1"
+
+# CT_INSERT_VERSION_ABOVE
+# Don't remove above line!
+endchoice
+
+config CC_CORE_VERSION
+ string
+ default "2.95.3" if CC_CORE_V_2_95_3
+ default "3.2.3" if CC_CORE_V_3_2_3
+ default "3.3" if CC_CORE_V_3_3
+ default "3.3.1" if CC_CORE_V_3_3_1
+ default "3.3.2" if CC_CORE_V_3_3_2
+ default "3.3.3" if CC_CORE_V_3_3_3
+ default "3.3.4" if CC_CORE_V_3_3_4
+ default "3.3.5" if CC_CORE_V_3_3_5
+ default "3.3.6" if CC_CORE_V_3_3_6
+ default "3.4.0" if CC_CORE_V_3_4_0
+ default "3.4.1" if CC_CORE_V_3_4_1
+ default "3.4.2" if CC_CORE_V_3_4_2
+ default "3.4.3" if CC_CORE_V_3_4_3
+ default "3.4.4" if CC_CORE_V_3_4_4
+ default "3.4.5" if CC_CORE_V_3_4_5
+ default "3.4.6" if CC_CORE_V_3_4_6
+ default "4.0.0" if CC_CORE_V_4_0_0
+ default "4.0.1" if CC_CORE_V_4_0_1
+ default "4.0.2" if CC_CORE_V_4_0_2
+ default "4.0.3" if CC_CORE_V_4_0_3
+ default "4.0.4" if CC_CORE_V_4_0_4
+ default "4.1.0" if CC_CORE_V_4_1_0
+ default "4.1.1" if CC_CORE_V_4_1_1
+# CT_INSERT_VERSION_STRING_ABOVE
+# Don't remove above line!
+
+config CC_CORE_EXTRA_CONFIG
+ string
+ prompt "Core gcc extra config"
+ default ""
+ depends on CC_USE_CORE && CC_CORE_GCC || ! CC_USE_CORE && CC_GCC
+ help
+ Extra flags to pass onto ./configure when configuring the core gcc.
diff --git a/config/cc_core_tcc.in b/config/cc_core_tcc.in
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/config/cc_core_tcc.in
diff --git a/config/cc_gcc.in b/config/cc_gcc.in
new file mode 100644
index 0000000..3e64b7f
--- /dev/null
+++ b/config/cc_gcc.in
@@ -0,0 +1,131 @@
+# Compiler options
+
+choice
+ bool
+ prompt "Final gcc version"
+
+config CC_V_2_95_3
+ bool
+ prompt "2.95.3"
+
+config CC_V_3_2_3
+ bool
+ prompt "3.2.3"
+
+config CC_V_3_3
+ bool
+ prompt "3.3"
+
+config CC_V_3_3_1
+ bool
+ prompt "3.3.1"
+
+config CC_V_3_3_2
+ bool
+ prompt "3.3.2"
+
+config CC_V_3_3_3
+ bool
+ prompt "3.3.3"
+
+config CC_V_3_3_4
+ bool
+ prompt "3.3.4"
+
+config CC_V_3_3_5
+ bool
+ prompt "3.3.5"
+
+config CC_V_3_3_6
+ bool
+ prompt "3.3.6"
+
+config CC_V_3_4_0
+ bool
+ prompt "3.4.0"
+
+config CC_V_3_4_1
+ bool
+ prompt "3.4.1"
+
+config CC_V_3_4_2
+ bool
+ prompt "3.4.2"
+
+config CC_V_3_4_3
+ bool
+ prompt "3.4.3"
+
+config CC_V_3_4_4
+ bool
+ prompt "3.4.4"
+
+config CC_V_3_4_5
+ bool
+ prompt "3.4.5"
+
+config CC_V_4_0_0
+ bool
+ prompt "4.0.0"
+
+config CC_V_4_0_1
+ bool
+ prompt "4.0.1"
+
+config CC_V_4_0_2
+ bool
+ prompt "4.0.2"
+
+config CC_V_4_0_3
+ bool
+ prompt "4.0.3"
+
+config CC_V_4_0_4
+ bool
+ prompt "4.0.4"
+
+config CC_V_4_1_0
+ bool
+ prompt "4.1.0"
+
+config CC_V_4_1_1
+ bool
+ prompt "4.1.1"
+
+# CT_INSERT_VERSION_ABOVE
+# Don't remove above line!
+endchoice
+
+config CC_VERSION
+ string
+ default "2.95.3" if CC_V_2_95_3
+ default "3.2.3" if CC_V_3_2_3
+ default "3.3" if CC_V_3_3
+ default "3.3.1" if CC_V_3_3_1
+ default "3.3.2" if CC_V_3_3_2
+ default "3.3.3" if CC_V_3_3_3
+ default "3.3.4" if CC_V_3_3_4
+ default "3.3.5" if CC_V_3_3_5
+ default "3.3.6" if CC_V_3_3_6
+ default "3.4.0" if CC_V_3_4_0
+ default "3.4.1" if CC_V_3_4_1
+ default "3.4.2" if CC_V_3_4_2
+ default "3.4.3" if CC_V_3_4_3
+ default "3.4.4" if CC_V_3_4_4
+ default "3.4.5" if CC_V_3_4_5
+ default "4.0.0" if CC_V_4_0_0
+ default "4.0.1" if CC_V_4_0_1
+ default "4.0.2" if CC_V_4_0_2
+ default "4.0.3" if CC_V_4_0_3
+ default "4.0.4" if CC_V_4_0_4
+ default "4.1.0" if CC_V_4_1_0
+ default "4.1.1" if CC_V_4_1_1
+# CT_INSERT_VERSION_STRING_ABOVE
+# Don't remove above line!
+
+config CC_EXTRA_CONFIG
+ string
+ prompt "Final gcc extra config"
+ default ""
+ help
+ Extra flags to pass onto ./configure when configuring gcc.
diff --git a/config/cc_tcc.in b/config/cc_tcc.in
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/config/cc_tcc.in
diff --git a/config/config.in b/config/config.in
new file mode 100644
index 0000000..76bc8ca
--- /dev/null
+++ b/config/config.in
@@ -0,0 +1,6 @@
+source config/global.in
+source config/target.in
+source config/kernel.in
+source config/binutils.in
+source config/cc.in
+source config/libc.in
diff --git a/config/global.in b/config/global.in
new file mode 100644
index 0000000..e61b132
--- /dev/null
+++ b/config/global.in
@@ -0,0 +1,256 @@
+# Overall toolchain configuration: paths, jobs, etc...
+
+menu "Paths and misc options"
+
+config PARALLEL_JOBS
+ int
+ prompt "Number of parallel jobs"
+ default 1
+ help
+ Number of jobs make will be allowed to run concurently.
+ Set this higher than the number of processors you have, but not too high.
+ A good rule of thumb is twice the number of processors you have.
+
+ Enter 1 (or 0) to have only one job at a time.
+
+config LOAD
+ int
+ prompt "Maximum allowed load"
+ default 0
+ help
+ Specifies that no new jobs should be started if there are others jobs
+ running and the load average is at least this value.
+
+ Makes sense on SMP machines only.
+
+ Enter 0 to have no limit on the load average.
+
+ Note: only the integer part of the load is allowed here (you can't enter
+ 0.75 for example).
+
+config NICE
+ int
+ prompt "Nice level"
+ default 0
+ range 0 19
+ help
+ Renices the build process up.
+
+config USE_PIPES
+ bool
+ prompt "Use -pipe"
+ default y
+ help
+ Use gcc's option -pipe to use pipes rather than temp files when building
+ the toolchain.
+
+comment "Paths"
+
+config TARBALLS_DIR
+ string
+ prompt "Tarballs directory"
+ default "`pwd`/tarballs"
+ help
+ This is the directory into which tarballs are going to be stored once
+ they are downloaded (or otherwise retrieved).
+
+config SRC_DIR
+ string
+ prompt "Extract directory"
+ default "`pwd`/${CT_TARGET}/src"
+ help
+ This is the directory into which tarballs will be extracted.
+
+ If you will build multiple toolchains, you should arrange to have one
+ SRC_DIR for each toolchain, as different targets may require different
+ patches to be applied.
+
+config BUILD_DIR
+ string
+ prompt "Build directory"
+ default "`pwd`/${CT_TARGET}/gcc-${CT_CC_VERSION}-${CT_LIBC}-${CT_LIBC_VERSION}"
+ help
+ This is the directory into which builds will occur.
+
+ Once again, arrange for one build directory for each toolchain you build,
+ to avoid collision.
+
+config PREFIX_DIR
+ string
+ prompt "Prefix directory"
+ default "${HOME}/${CT_TARGET}"
+ help
+ This is the path the toolchain will run from.
+
+config INSTALL_DIR
+ string
+# prompt "Install directory"
+ default "${CT_PREFIX_DIR}"
+# help
+# This is the path the target will be installed into.
+#
+# Normally, you would set this to ${CT_PREFIX_DIR}, but if for some reasons
+# you can't write there, you can install somewhere else and have a third
+# person do the install for you.
+# The reason you might also want to install elsewhere is if you are going
+# to package your shinny new toolchain for distribution.
+
+config CUSTOM_PATCH
+ bool
+ prompt "Use custom patch directory"
+ default n
+ help
+ If you have custom patches that you want to be applied, say 'Y' here and
+ enter the path directory below.
+
+ Note that you must ensure that the patch directory is arranged the same
+ way the official directory is.
+
+config CUSTOM_PATCH_ONLY
+ bool
+ prompt "Only use custom patches"
+ default n
+ depends on CUSTOM_PATCH
+ help
+ Don't apply patches coming with CT-NG, only those patches available in
+ the directory below.
+
+ If you say 'N' here, then the patches provided with CT-NG will be applied
+ first, and then your patches.
+
+config CUSTOM_PATCH_DIR
+ string
+ prompt "Custom patch directory"
+ default ""
+ depends on CUSTOM_PATCH
+ help
+ Enter the custom patch directory here.
+
+comment "Downloading and extracting"
+
+config NO_DOWNLOAD
+ bool
+ prompt "Avoid downloads"
+ default n
+ help
+ Avoid downloading anything. Bail out if a tarball is missing.
+
+config ONLY_DOWNLOAD
+ bool
+ prompt "Only download tarballs"
+ default n
+ depends on ! NO_DOWNLOAD
+ help
+ Only download the tarballs. Exit once it done.
+
+ Usefull to pre-retrieve the tarballs before going off-line.
+
+config FORCE_DOWNLOAD
+ bool
+ prompt "Force downloads"
+ default n
+ depends on ! NO_DOWNLOAD
+ help
+ Force downloading tarballs, even if one already exists.
+ Usefull if you suspect a tarball to be damaged.
+
+config FORCE_EXTRACT
+ bool
+ prompt "Force extractions"
+ depends on ! ONLY_DOWNLOAD
+ default n
+ help
+ Force extraction of already exctracted tarballs.
+
+ Usefull if you suspect a previous extract did not complete (eg. broken
+ tarball), or you added a new set of patches for this component.
+
+comment "Logging"
+
+choice
+ bool
+ prompt "Maximum log level to see:"
+ default LOG_INFO
+
+config LOG_ERROR
+ bool
+ prompt "ERROR"
+ help
+ The build will be silent.
+ Only if there is an error will you see a mesage.
+
+config LOG_WARN
+ bool
+ prompt "WARN"
+ help
+ The same as above, plus warnings.
+
+config LOG_INFO
+ bool
+ prompt "INFO"
+ help
+ The same as above, plus informational messages (main steps).
+
+config LOG_EXTRA
+ bool
+ prompt "EXTRA"
+ help
+ The same as above, plus extra messages (sub-steps).
+
+config LOG_DEBUG
+ bool
+ prompt "DEBUG"
+ help
+ The same as above, plus lots of debug information, of which each
+ component's build messages (very noisy!).
+
+endchoice
+
+config LOG_LEVEL_MAX
+ string
+ default "ERROR" if LOG_ERROR
+ default "WARN" if LOG_WARN
+ default "INFO" if LOG_INFO
+ default "EXTRA" if LOG_EXTRA
+ default "DEBUG" if LOG_DEBUG
+
+config LOG_PROGRESS_BAR
+ bool
+ prompt "Progress bar"
+ default n
+ depends on ! LOG_DEBUG
+ help
+ This option will print a "rotating bar" (/-\|) below the last log line
+ to show work is not stalled.
+
+ Available when not in DEBUG log level.
+
+config LOG_USE_COLORS
+ bool
+ prompt "Use colors for logging to console"
+ default n
+ help
+ Use colors to highlight important messages.
+ ERROR: bright red
+ WARN : bright yellow
+ INFO : bright green
+ EXTRA: dim green
+ DEBUG: dim white
+
+config LOG_TO_FILE
+ bool
+ prompt "Log to a file"
+ default y
+ help
+ Save *full* logs to a file. Even log levels you didn't specify above
+ will be available in this file.
+
+config LOG_FILE
+ string
+ prompt "Log file"
+ default "${CT_PREFIX_DIR}/${CT_TARGET}.log"
+ depends on LOG_TO_FILE
+ help
+ File name into which to put logs.
+
+endmenu
diff --git a/config/kernel.in b/config/kernel.in
new file mode 100644
index 0000000..414ab26
--- /dev/null
+++ b/config/kernel.in
@@ -0,0 +1,36 @@
+# Kernel options
+
+menu "Kernel"
+
+choice
+ bool
+ prompt "\"Kernel\" to use:"
+ default KERNEL_LINUX
+
+config KERNEL_LINUX
+ bool
+ prompt "linux"
+ help
+ Build a toolchain targeting systems running Linux as a kernel.
+
+config KERNEL_CYGWIN
+ bool
+ prompt "cygwin"
+ depends on ARCH_x86 || ARCH_x86_64
+ help
+ Build a toolchain targeting systems running Windows/cygwin as a kernel.
+
+endchoice
+
+config KERNEL_VERSION
+ string
+
+if KERNEL_LINUX
+source config/kernel_linux.in
+endif
+
+if KERNEL_CYGWIN
+source config/kernel_cygwin.in
+endif
+
+endmenu
diff --git a/config/kernel_cygwin.in b/config/kernel_cygwin.in
new file mode 100644
index 0000000..1edac59
--- /dev/null
+++ b/config/kernel_cygwin.in
@@ -0,0 +1,5 @@
+# Cygwin 'kernel' options
+
+config KERNEL
+ string
+ default "cygwin"
diff --git a/config/kernel_linux.in b/config/kernel_linux.in
new file mode 100644
index 0000000..aa07cad
--- /dev/null
+++ b/config/kernel_linux.in
@@ -0,0 +1,102 @@
+# Linux kernel options
+
+choice
+ bool
+ prompt "Get kernel headers from:"
+
+config KERNEL_LINUX_HEADERS_INSTALL
+ bool
+ prompt "kernel's 'headers_install'"
+ help
+ This will make use of the new headers_install rule in recent kernels.
+ This is most probably what you want to use.
+
+config KERNEL_LINUX_HEADERS_SANITISED
+ bool
+ prompt "Mazur's sanitized headers (OBSOLETE)"
+ help
+ M. Mazur used to maintain a tree of sanitised headers, but it is now
+ obsoleted by the headers_install rule (above), and has not seen eny
+ update since 2.6.12
+
+config KERNEL_LINUX_HEADERS_COPY
+ bool
+ prompt "pure kernel headers (NOT RECOMMENDED)"
+ help
+ This will simply copy the kernel headers to the toolchain.
+
+ You do NOT want this. It's badly broken because it leaks kernel internals
+ to userspace.
+
+endchoice
+
+config KERNEL
+ string
+ default "linux" if KERNEL_LINUX_HEADERS_INSTALL || KERNEL_LINUX_HEADERS_COPY
+ default "linux-libc-headers" if KERNEL_LINUX_HEADERS_SANITISED
+
+config KERNEL_VERSION_SEE_EXTRAVERSION
+ bool
+ prompt "See extra versions"
+ default n
+ depends on ! KERNEL_LINUX_HEADERS_SANITISED
+ help
+ See extra versions (kernel with 4 numbers, eg 2.6.19.1).
+
+ If you say 'no', you'll only see sub-level, 3-digit versions.
+ If you say 'yes', you'll see far more versions!
+
+ It is recommended that you say 'no', unless you _*know*_
+ that an extra version fixes a headers bug.
+
+if KERNEL_LINUX_HEADERS_INSTALL
+source config/kernel_linux_headers_install.in
+endif
+
+if KERNEL_LINUX_HEADERS_COPY
+source config/kernel_linux_headers_copy.in
+endif
+
+if KERNEL_LINUX_HEADERS_SANITISED
+source config/kernel_linux_headers_sanitised.in
+endif
+
+choice
+ bool
+ prompt "Kernel verbosity:"
+ default KERNEL_LINUX_VERBOSITY_0
+
+config KERNEL_LINUX_VERBOSITY_0
+ bool
+ prompt "Simplified"
+ help
+ Print simplified command lines.
+
+config KERNEL_LINUX_VERBOSITY_1
+ bool
+ prompt "Full commands"
+ help
+ Print full command lines.
+
+config KERNEL_LINUX_VERBOSITY_2
+ bool
+ prompt "Exec reasons"
+ help
+ Print the reasons why a make target is rebuild.
+
+endchoice
+
+config KERNEL_LINUX_VERBOSE_LEVEL
+ int
+ default 0 if KERNEL_LINUX_VERBOSITY_0
+ default 1 if KERNEL_LINUX_VERBOSITY_1
+ default 2 if KERNEL_LINUX_VERBOSITY_2
+
+config KERNEL_LINUX_CONFIG_FILE
+ string
+ prompt "Configuration file"
+ default ""
+ help
+ Path to the kernel configuration file.
+
+ You _must_ provide one (for now).
diff --git a/config/kernel_linux_headers_copy.in b/config/kernel_linux_headers_copy.in
new file mode 100644
index 0000000..f18bed5
--- /dev/null
+++ b/config/kernel_linux_headers_copy.in
@@ -0,0 +1,682 @@
+choice
+ bool
+ prompt "Linux kernel version"
+
+config KERNEL_COPY_V_2_6_0
+ bool
+ prompt "2.6.0"
+
+config KERNEL_COPY_V_2_6_1
+ bool
+ prompt "2.6.1"
+
+config KERNEL_COPY_V_2_6_2
+ bool
+ prompt "2.6.2"
+
+config KERNEL_COPY_V_2_6_3
+ bool
+ prompt "2.6.3"
+
+config KERNEL_COPY_V_2_6_4
+ bool
+ prompt "2.6.4"
+
+config KERNEL_COPY_V_2_6_5
+ bool
+ prompt "2.6.5"
+
+config KERNEL_COPY_V_2_6_6
+ bool
+ prompt "2.6.6"
+
+config KERNEL_COPY_V_2_6_7
+ bool
+ prompt "2.6.7"
+
+config KERNEL_COPY_V_2_6_8
+ bool
+ prompt "2.6.8"
+
+config KERNEL_COPY_V_2_6_8_1
+ bool
+ prompt "2.6.8.1"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_9
+ bool
+ prompt "2.6.9"
+
+config KERNEL_COPY_V_2_6_10
+ bool
+ prompt "2.6.10"
+
+config KERNEL_COPY_V_2_6_11
+ bool
+ prompt "2.6.11"
+
+config KERNEL_COPY_V_2_6_11_1
+ bool
+ prompt "2.6.11.1"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_11_10
+ bool
+ prompt "2.6.11.10"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_11_11
+ bool
+ prompt "2.6.11.11"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_11_12
+ bool
+ prompt "2.6.11.12"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_11_2
+ bool
+ prompt "2.6.11.2"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_11_3
+ bool
+ prompt "2.6.11.3"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_11_4
+ bool
+ prompt "2.6.11.4"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_11_5
+ bool
+ prompt "2.6.11.5"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_11_6
+ bool
+ prompt "2.6.11.6"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_11_7
+ bool
+ prompt "2.6.11.7"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_11_8
+ bool
+ prompt "2.6.11.8"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_11_9
+ bool
+ prompt "2.6.11.9"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_12
+ bool
+ prompt "2.6.12"
+
+config KERNEL_COPY_V_2_6_12_1
+ bool
+ prompt "2.6.12.1"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_12_2
+ bool
+ prompt "2.6.12.2"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_12_3
+ bool
+ prompt "2.6.12.3"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_12_4
+ bool
+ prompt "2.6.12.4"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_12_5
+ bool
+ prompt "2.6.12.5"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_12_6
+ bool
+ prompt "2.6.12.6"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_13
+ bool
+ prompt "2.6.13"
+
+config KERNEL_COPY_V_2_6_13_1
+ bool
+ prompt "2.6.13.1"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_13_2
+ bool
+ prompt "2.6.13.2"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_13_3
+ bool
+ prompt "2.6.13.3"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_13_4
+ bool
+ prompt "2.6.13.4"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_13_5
+ bool
+ prompt "2.6.13.5"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_14
+ bool
+ prompt "2.6.14"
+
+config KERNEL_COPY_V_2_6_14_1
+ bool
+ prompt "2.6.14.1"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_14_2
+ bool
+ prompt "2.6.14.2"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_14_3
+ bool
+ prompt "2.6.14.3"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_14_4
+ bool
+ prompt "2.6.14.4"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_14_5
+ bool
+ prompt "2.6.14.5"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_14_6
+ bool
+ prompt "2.6.14.6"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_14_7
+ bool
+ prompt "2.6.14.7"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_15
+ bool
+ prompt "2.6.15"
+
+config KERNEL_COPY_V_2_6_15_1
+ bool
+ prompt "2.6.15.1"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_15_2
+ bool
+ prompt "2.6.15.2"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_15_3
+ bool
+ prompt "2.6.15.3"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_15_4
+ bool
+ prompt "2.6.15.4"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_15_5
+ bool
+ prompt "2.6.15.5"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_15_6
+ bool
+ prompt "2.6.15.6"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_15_7
+ bool
+ prompt "2.6.15.7"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16
+ bool
+ prompt "2.6.16"
+
+config KERNEL_COPY_V_2_6_16_1
+ bool
+ prompt "2.6.16.1"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_10
+ bool
+ prompt "2.6.16.10"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_11
+ bool
+ prompt "2.6.16.11"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_12
+ bool
+ prompt "2.6.16.12"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_13
+ bool
+ prompt "2.6.16.13"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_14
+ bool
+ prompt "2.6.16.14"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_15
+ bool
+ prompt "2.6.16.15"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_16
+ bool
+ prompt "2.6.16.16"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_17
+ bool
+ prompt "2.6.16.17"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_18
+ bool
+ prompt "2.6.16.18"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_19
+ bool
+ prompt "2.6.16.19"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_2
+ bool
+ prompt "2.6.16.2"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_20
+ bool
+ prompt "2.6.16.20"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_21
+ bool
+ prompt "2.6.16.21"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_22
+ bool
+ prompt "2.6.16.22"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_23
+ bool
+ prompt "2.6.16.23"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_24
+ bool
+ prompt "2.6.16.24"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_25
+ bool
+ prompt "2.6.16.25"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_26
+ bool
+ prompt "2.6.16.26"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_27
+ bool
+ prompt "2.6.16.27"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_28
+ bool
+ prompt "2.6.16.28"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_29
+ bool
+ prompt "2.6.16.29"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_3
+ bool
+ prompt "2.6.16.3"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_30
+ bool
+ prompt "2.6.16.30"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_31
+ bool
+ prompt "2.6.16.31"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_32
+ bool
+ prompt "2.6.16.32"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_33
+ bool
+ prompt "2.6.16.33"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_34
+ bool
+ prompt "2.6.16.34"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_35
+ bool
+ prompt "2.6.16.35"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_36
+ bool
+ prompt "2.6.16.36"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_4
+ bool
+ prompt "2.6.16.4"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_5
+ bool
+ prompt "2.6.16.5"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_6
+ bool
+ prompt "2.6.16.6"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_7
+ bool
+ prompt "2.6.16.7"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_8
+ bool
+ prompt "2.6.16.8"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_16_9
+ bool
+ prompt "2.6.16.9"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_17
+ bool
+ prompt "2.6.17"
+
+config KERNEL_COPY_V_2_6_17_1
+ bool
+ prompt "2.6.17.1"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_17_10
+ bool
+ prompt "2.6.17.10"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_17_11
+ bool
+ prompt "2.6.17.11"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_17_12
+ bool
+ prompt "2.6.17.12"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_17_13
+ bool
+ prompt "2.6.17.13"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_17_14
+ bool
+ prompt "2.6.17.14"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_17_2
+ bool
+ prompt "2.6.17.2"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_17_3
+ bool
+ prompt "2.6.17.3"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_17_4
+ bool
+ prompt "2.6.17.4"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_17_5
+ bool
+ prompt "2.6.17.5"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_17_6
+ bool
+ prompt "2.6.17.6"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_17_7
+ bool
+ prompt "2.6.17.7"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_17_8
+ bool
+ prompt "2.6.17.8"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_17_9
+ bool
+ prompt "2.6.17.9"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_18
+ bool
+ prompt "2.6.18"
+
+config KERNEL_COPY_V_2_6_18_1
+ bool
+ prompt "2.6.18.1"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_18_2
+ bool
+ prompt "2.6.18.2"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_18_3
+ bool
+ prompt "2.6.18.3"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_18_4
+ bool
+ prompt "2.6.18.4"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_18_5
+ bool
+ prompt "2.6.18.5"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_18_6
+ bool
+ prompt "2.6.18.6"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_COPY_V_2_6_19
+ bool
+ prompt "2.6.19"
+
+config KERNEL_COPY_V_2_6_19_1
+ bool
+ prompt "2.6.19.1"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+# CT_INSERT_VERSION_ABOVE
+# Don't remove above line!
+endchoice
+
+config KERNEL_VERSION
+ string
+ default "2.6.0" if KERNEL_COPY_V_2_6_0
+ default "2.6.1" if KERNEL_COPY_V_2_6_1
+ default "2.6.2" if KERNEL_COPY_V_2_6_2
+ default "2.6.3" if KERNEL_COPY_V_2_6_3
+ default "2.6.4" if KERNEL_COPY_V_2_6_4
+ default "2.6.5" if KERNEL_COPY_V_2_6_5
+ default "2.6.6" if KERNEL_COPY_V_2_6_6
+ default "2.6.7" if KERNEL_COPY_V_2_6_7
+ default "2.6.8" if KERNEL_COPY_V_2_6_8
+ default "2.6.8.1" if KERNEL_COPY_V_2_6_8_1
+ default "2.6.9" if KERNEL_COPY_V_2_6_9
+ default "2.6.10" if KERNEL_COPY_V_2_6_10
+ default "2.6.11" if KERNEL_COPY_V_2_6_11
+ default "2.6.11.1" if KERNEL_COPY_V_2_6_11_1
+ default "2.6.11.10" if KERNEL_COPY_V_2_6_11_10
+ default "2.6.11.11" if KERNEL_COPY_V_2_6_11_11
+ default "2.6.11.12" if KERNEL_COPY_V_2_6_11_12
+ default "2.6.11.2" if KERNEL_COPY_V_2_6_11_2
+ default "2.6.11.3" if KERNEL_COPY_V_2_6_11_3
+ default "2.6.11.4" if KERNEL_COPY_V_2_6_11_4
+ default "2.6.11.5" if KERNEL_COPY_V_2_6_11_5
+ default "2.6.11.6" if KERNEL_COPY_V_2_6_11_6
+ default "2.6.11.7" if KERNEL_COPY_V_2_6_11_7
+ default "2.6.11.8" if KERNEL_COPY_V_2_6_11_8
+ default "2.6.11.9" if KERNEL_COPY_V_2_6_11_9
+ default "2.6.12" if KERNEL_COPY_V_2_6_12
+ default "2.6.12.1" if KERNEL_COPY_V_2_6_12_1
+ default "2.6.12.2" if KERNEL_COPY_V_2_6_12_2
+ default "2.6.12.3" if KERNEL_COPY_V_2_6_12_3
+ default "2.6.12.4" if KERNEL_COPY_V_2_6_12_4
+ default "2.6.12.5" if KERNEL_COPY_V_2_6_12_5
+ default "2.6.12.6" if KERNEL_COPY_V_2_6_12_6
+ default "2.6.13" if KERNEL_COPY_V_2_6_13
+ default "2.6.13.1" if KERNEL_COPY_V_2_6_13_1
+ default "2.6.13.2" if KERNEL_COPY_V_2_6_13_2
+ default "2.6.13.3" if KERNEL_COPY_V_2_6_13_3
+ default "2.6.13.4" if KERNEL_COPY_V_2_6_13_4
+ default "2.6.13.5" if KERNEL_COPY_V_2_6_13_5
+ default "2.6.14" if KERNEL_COPY_V_2_6_14
+ default "2.6.14.1" if KERNEL_COPY_V_2_6_14_1
+ default "2.6.14.2" if KERNEL_COPY_V_2_6_14_2
+ default "2.6.14.3" if KERNEL_COPY_V_2_6_14_3
+ default "2.6.14.4" if KERNEL_COPY_V_2_6_14_4
+ default "2.6.14.5" if KERNEL_COPY_V_2_6_14_5
+ default "2.6.14.6" if KERNEL_COPY_V_2_6_14_6
+ default "2.6.14.7" if KERNEL_COPY_V_2_6_14_7
+ default "2.6.15" if KERNEL_COPY_V_2_6_15
+ default "2.6.15.1" if KERNEL_COPY_V_2_6_15_1
+ default "2.6.15.2" if KERNEL_COPY_V_2_6_15_2
+ default "2.6.15.3" if KERNEL_COPY_V_2_6_15_3
+ default "2.6.15.4" if KERNEL_COPY_V_2_6_15_4
+ default "2.6.15.5" if KERNEL_COPY_V_2_6_15_5
+ default "2.6.15.6" if KERNEL_COPY_V_2_6_15_6
+ default "2.6.15.7" if KERNEL_COPY_V_2_6_15_7
+ default "2.6.16" if KERNEL_COPY_V_2_6_16
+ default "2.6.16.1" if KERNEL_COPY_V_2_6_16_1
+ default "2.6.16.10" if KERNEL_COPY_V_2_6_16_10
+ default "2.6.16.11" if KERNEL_COPY_V_2_6_16_11
+ default "2.6.16.12" if KERNEL_COPY_V_2_6_16_12
+ default "2.6.16.13" if KERNEL_COPY_V_2_6_16_13
+ default "2.6.16.14" if KERNEL_COPY_V_2_6_16_14
+ default "2.6.16.15" if KERNEL_COPY_V_2_6_16_15
+ default "2.6.16.16" if KERNEL_COPY_V_2_6_16_16
+ default "2.6.16.17" if KERNEL_COPY_V_2_6_16_17
+ default "2.6.16.18" if KERNEL_COPY_V_2_6_16_18
+ default "2.6.16.19" if KERNEL_COPY_V_2_6_16_19
+ default "2.6.16.2" if KERNEL_COPY_V_2_6_16_2
+ default "2.6.16.20" if KERNEL_COPY_V_2_6_16_20
+ default "2.6.16.21" if KERNEL_COPY_V_2_6_16_21
+ default "2.6.16.22" if KERNEL_COPY_V_2_6_16_22
+ default "2.6.16.23" if KERNEL_COPY_V_2_6_16_23
+ default "2.6.16.24" if KERNEL_COPY_V_2_6_16_24
+ default "2.6.16.25" if KERNEL_COPY_V_2_6_16_25
+ default "2.6.16.26" if KERNEL_COPY_V_2_6_16_26
+ default "2.6.16.27" if KERNEL_COPY_V_2_6_16_27
+ default "2.6.16.28" if KERNEL_COPY_V_2_6_16_28
+ default "2.6.16.29" if KERNEL_COPY_V_2_6_16_29
+ default "2.6.16.3" if KERNEL_COPY_V_2_6_16_3
+ default "2.6.16.30" if KERNEL_COPY_V_2_6_16_30
+ default "2.6.16.31" if KERNEL_COPY_V_2_6_16_31
+ default "2.6.16.32" if KERNEL_COPY_V_2_6_16_32
+ default "2.6.16.33" if KERNEL_COPY_V_2_6_16_33
+ default "2.6.16.34" if KERNEL_COPY_V_2_6_16_34
+ default "2.6.16.35" if KERNEL_COPY_V_2_6_16_35
+ default "2.6.16.36" if KERNEL_COPY_V_2_6_16_36
+ default "2.6.16.4" if KERNEL_COPY_V_2_6_16_4
+ default "2.6.16.5" if KERNEL_COPY_V_2_6_16_5
+ default "2.6.16.6" if KERNEL_COPY_V_2_6_16_6
+ default "2.6.16.7" if KERNEL_COPY_V_2_6_16_7
+ default "2.6.16.8" if KERNEL_COPY_V_2_6_16_8
+ default "2.6.16.9" if KERNEL_COPY_V_2_6_16_9
+ default "2.6.17" if KERNEL_COPY_V_2_6_17
+ default "2.6.17.1" if KERNEL_COPY_V_2_6_17_1
+ default "2.6.17.10" if KERNEL_COPY_V_2_6_17_10
+ default "2.6.17.11" if KERNEL_COPY_V_2_6_17_11
+ default "2.6.17.12" if KERNEL_COPY_V_2_6_17_12
+ default "2.6.17.13" if KERNEL_COPY_V_2_6_17_13
+ default "2.6.17.14" if KERNEL_COPY_V_2_6_17_14
+ default "2.6.17.2" if KERNEL_COPY_V_2_6_17_2
+ default "2.6.17.3" if KERNEL_COPY_V_2_6_17_3
+ default "2.6.17.4" if KERNEL_COPY_V_2_6_17_4
+ default "2.6.17.5" if KERNEL_COPY_V_2_6_17_5
+ default "2.6.17.6" if KERNEL_COPY_V_2_6_17_6
+ default "2.6.17.7" if KERNEL_COPY_V_2_6_17_7
+ default "2.6.17.8" if KERNEL_COPY_V_2_6_17_8
+ default "2.6.17.9" if KERNEL_COPY_V_2_6_17_9
+ default "2.6.18" if KERNEL_COPY_V_2_6_18
+ default "2.6.18.1" if KERNEL_COPY_V_2_6_18_1
+ default "2.6.18.2" if KERNEL_COPY_V_2_6_18_2
+ default "2.6.18.3" if KERNEL_COPY_V_2_6_18_3
+ default "2.6.18.4" if KERNEL_COPY_V_2_6_18_4
+ default "2.6.18.5" if KERNEL_COPY_V_2_6_18_5
+ default "2.6.18.6" if KERNEL_COPY_V_2_6_18_6
+ default "2.6.19" if KERNEL_COPY_V_2_6_19
+ default "2.6.19.1" if KERNEL_COPY_V_2_6_19_1
+# CT_INSERT_VERSION_STRING_ABOVE
+# Don't remove above line!
diff --git a/config/kernel_linux_headers_install.in b/config/kernel_linux_headers_install.in
new file mode 100644
index 0000000..f89957b
--- /dev/null
+++ b/config/kernel_linux_headers_install.in
@@ -0,0 +1,75 @@
+choice
+ bool
+ prompt "Linux kernel version"
+
+config KERNEL_INSTALL_V_2_6_18
+ bool
+ prompt "2.6.18"
+
+config KERNEL_INSTALL_V_2_6_18_1
+ bool
+ prompt "2.6.18.1"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_INSTALL_V_2_6_18_2
+ bool
+ prompt "2.6.18.2"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_INSTALL_V_2_6_18_3
+ bool
+ prompt "2.6.18.3"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_INSTALL_V_2_6_18_4
+ bool
+ prompt "2.6.18.4"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_INSTALL_V_2_6_18_5
+ bool
+ prompt "2.6.18.5"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_INSTALL_V_2_6_18_6
+ bool
+ prompt "2.6.18.6"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_INSTALL_V_2_6_19
+ bool
+ prompt "2.6.19"
+
+config KERNEL_INSTALL_V_2_6_19_1
+ bool
+ prompt "2.6.19.1"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_INSTALL_V_2_6_19_2
+ bool
+ prompt "2.6.19.2"
+ depends on KERNEL_VERSION_SEE_EXTRAVERSION
+
+config KERNEL_INSTALL_V_2_6_20
+ bool
+ prompt "2.6.20"
+
+# CT_INSERT_VERSION_ABOVE
+# Don't remove above line!
+endchoice
+
+config KERNEL_VERSION
+ string
+ default "2.6.18" if KERNEL_INSTALL_V_2_6_18
+ default "2.6.18.1" if KERNEL_INSTALL_V_2_6_18_1
+ default "2.6.18.2" if KERNEL_INSTALL_V_2_6_18_2
+ default "2.6.18.3" if KERNEL_INSTALL_V_2_6_18_3
+ default "2.6.18.4" if KERNEL_INSTALL_V_2_6_18_4
+ default "2.6.18.5" if KERNEL_INSTALL_V_2_6_18_5
+ default "2.6.18.6" if KERNEL_INSTALL_V_2_6_18_6
+ default "2.6.19" if KERNEL_INSTALL_V_2_6_19
+ default "2.6.19.1" if KERNEL_INSTALL_V_2_6_19_1
+ default "2.6.19.2" if KERNEL_INSTALL_V_2_6_19_2
+ default "2.6.20" if KERNEL_INSTALL_V_2_6_20
+# CT_INSERT_VERSION_STRING_ABOVE
+# Don't remove above line!
diff --git a/config/kernel_linux_headers_sanitised.in b/config/kernel_linux_headers_sanitised.in
new file mode 100644
index 0000000..820df6e
--- /dev/null
+++ b/config/kernel_linux_headers_sanitised.in
@@ -0,0 +1,62 @@
+choice
+ bool
+ prompt "Linux headers version"
+
+config KERNEL_SANITISED_V_2_6_7_0
+ bool
+ prompt "2.6.7.0"
+
+config KERNEL_SANITISED_V_2_6_8_0
+ bool
+ prompt "2.6.8.0"
+
+config KERNEL_SANITISED_V_2_6_8_1
+ bool
+ prompt "2.6.8.1"
+
+config KERNEL_SANITISED_V_2_6_9_0
+ bool
+ prompt "2.6.9.0"
+
+config KERNEL_SANITISED_V_2_6_9_1
+ bool
+ prompt "2.6.9.1"
+
+config KERNEL_SANITISED_V_2_6_10_0
+ bool
+ prompt "2.6.10.0"
+
+config KERNEL_SANITISED_V_2_6_11_0
+ bool
+ prompt "2.6.11.0"
+
+config KERNEL_SANITISED_V_2_6_11_1
+ bool
+ prompt "2.6.11.1"
+
+config KERNEL_SANITISED_V_2_6_11_2
+ bool
+ prompt "2.6.11.2"
+
+config KERNEL_SANITISED_V_2_6_12_0
+ bool
+ prompt "2.6.12.0"
+
+# CT_INSERT_VERSION_ABOVE
+# Don't remove above line!
+endchoice
+
+config KERNEL_VERSION
+ string
+ default "2.6.7.0" if KERNEL_SANITISED_V_2_6_7_0
+ default "2.6.8.0" if KERNEL_SANITISED_V_2_6_8_0
+ default "2.6.8.1" if KERNEL_SANITISED_V_2_6_8_1
+ default "2.6.9.0" if KERNEL_SANITISED_V_2_6_9_0
+ default "2.6.9.1" if KERNEL_SANITISED_V_2_6_9_1
+ default "2.6.10.0" if KERNEL_SANITISED_V_2_6_10_0
+ default "2.6.11.0" if KERNEL_SANITISED_V_2_6_11_0
+ default "2.6.11.1" if KERNEL_SANITISED_V_2_6_11_1
+ default "2.6.11.2" if KERNEL_SANITISED_V_2_6_11_2
+ default "2.6.12.0" if KERNEL_SANITISED_V_2_6_12_0
+# CT_INSERT_VERSION_STRING_ABOVE
+# Don't remove above line!
diff --git a/config/libc.in b/config/libc.in
new file mode 100644
index 0000000..ba6a1be
--- /dev/null
+++ b/config/libc.in
@@ -0,0 +1,36 @@
+# C library options
+
+menu "C-library"
+
+choice
+ bool
+ prompt "C-library to use:"
+ default LIBC_GLIBC
+
+config LIBC_GLIBC
+ bool
+ prompt "glibc"
+
+config LIBC_UCLIBC
+ bool
+ prompt "uClibc"
+
+endchoice
+
+config LIBC_VERSION
+ string
+
+config LIBC
+ string
+ default "glibc" if LIBC_GLIBC
+ default "uClibc" if LIBC_UCLIBC
+
+if LIBC_GLIBC
+source config/libc_glibc.in
+endif
+
+if LIBC_UCLIBC
+source config/libc_uClibc.in
+endif
+
+endmenu
diff --git a/config/libc_glibc.in b/config/libc_glibc.in
new file mode 100644
index 0000000..867e0a0
--- /dev/null
+++ b/config/libc_glibc.in
@@ -0,0 +1,199 @@
+# glibc options
+
+choice
+ bool
+ prompt "glibc version"
+
+config LIBC_V_1_09_1
+ bool
+ prompt "1.09.1"
+
+config LIBC_V_2_0_1
+ bool
+ prompt "2.0.1"
+
+config LIBC_V_2_0_6
+ bool
+ prompt "2.0.6"
+
+config LIBC_V_2_1_1
+ bool
+ prompt "2.1.1"
+
+config LIBC_V_2_1_2
+ bool
+ prompt "2.1.2"
+
+config LIBC_V_2_1_3
+ bool
+ prompt "2.1.3"
+
+config LIBC_V_2_2
+ bool
+ prompt "2.2"
+
+config LIBC_V_2_2_1
+ bool
+ prompt "2.2.1"
+
+config LIBC_V_2_2_2
+ bool
+ prompt "2.2.2"
+
+config LIBC_V_2_2_3
+ bool
+ prompt "2.2.3"
+
+config LIBC_V_2_2_4
+ bool
+ prompt "2.2.4"
+
+config LIBC_V_2_2_5
+ bool
+ prompt "2.2.5"
+
+config LIBC_V_2_3
+ bool
+ prompt "2.3"
+
+config LIBC_V_2_3_1
+ bool
+ prompt "2.3.1"
+
+config LIBC_V_2_3_2
+ bool
+ prompt "2.3.2"
+
+config LIBC_V_2_3_3
+ bool
+ prompt "2.3.3"
+
+config LIBC_V_2_3_4
+ bool
+ prompt "2.3.4"
+
+config LIBC_V_2_3_5
+ bool
+ prompt "2.3.5"
+
+config LIBC_V_2_3_6
+ bool
+ prompt "2.3.6"
+
+config LIBC_V_2_4
+ bool
+ prompt "2.4"
+
+config LIBC_V_2_5
+ bool
+ prompt "2.5"
+
+# CT_INSERT_VERSION_ABOVE
+# Don't remove qbove line!
+endchoice
+
+config LIBC_VERSION
+ string
+ default "1.09.1" if LIBC_V_1_09_1
+ default "2.0.1" if LIBC_V_2_0_1
+ default "2.0.6" if LIBC_V_2_0_6
+ default "2.1.1" if LIBC_V_2_1_1
+ default "2.1.2" if LIBC_V_2_1_2
+ default "2.1.3" if LIBC_V_2_1_3
+ default "2.2" if LIBC_V_2_2
+ default "2.2.1" if LIBC_V_2_2_1
+ default "2.2.2" if LIBC_V_2_2_2
+ default "2.2.3" if LIBC_V_2_2_3
+ default "2.2.4" if LIBC_V_2_2_4
+ default "2.2.5" if LIBC_V_2_2_5
+ default "2.3" if LIBC_V_2_3
+ default "2.3.1" if LIBC_V_2_3_1
+ default "2.3.2" if LIBC_V_2_3_2
+ default "2.3.3" if LIBC_V_2_3_3
+ default "2.3.4" if LIBC_V_2_3_4
+ default "2.3.5" if LIBC_V_2_3_5
+ default "2.3.6" if LIBC_V_2_3_6
+ default "2.4" if LIBC_V_2_4
+ default "2.5" if LIBC_V_2_5
+# CT_INSERT_VERSION_STRING_ABOVE
+# Don't remove above line!
+
+choice
+ bool
+ prompt "Threading implentation to use:"
+ default LIBC_GLIBC_THREADS_LINUXTHREADS
+
+config LIBC_GLIBC_THREADS_NPTL
+ bool
+ prompt "nptl (not implemented)"
+
+config LIBC_GLIBC_THREADS_LINUXTHREADS
+ bool
+ prompt "linuxthreads"
+
+config LIBC_GLIBC_THREADS_NONE
+ bool
+ prompt "none"
+
+endchoice
+
+config LIBC_GLIBC_EXTRA_CONFIG
+ string
+ prompt "glibc extra config"
+ default ""
+ help
+ Extra flags to pass onto ./configure when configuring glibc.
+
+ Eg.: --enable-static-nss
+
+config LIBC_GLIBC_EXTRA_CFLAGS
+ string
+ prompt "glibc extra target CFLAGS"
+ default ""
+ help
+ Extra target CFLAGS to use when building glibc.
+
+config LIBC_EXTRA_CC_ARGS
+ string
+ prompt "gcc extra flags"
+ default ""
+ help
+ Extra flags to pass gcc when building glibc.
+
+ Seldom used, except for sparc64 which seems to need the flag -64
+ to be passed onto gcc.
+
+# Please note: This is not used for now (no sh support).
+config LIBC_GLIBC_CONFIGPARMS
+ string
+ prompt "Extra config params (READ HELP)"
+ default "" if ARCH != "sh3" && ARCH != "sh4"
+ default "no-z-defs=yes" if ARCH = "sh3" || ARCH = "sh4"
+ help
+ Some architectures need to set options in the file configparms.
+ This is the case for sh3/4, which really need to set configparms as of
+ gcc-3.4/glibc-2.3.2.
+
+ Unless you are building a toolchain for sh3/4, you should leave that empty.
+
+ Note: this is awkward, doesn't work well if you need more than one
+ line in configparms
+
+config LIBC_ADDONS
+ bool
+ prompt "Pass extra addons list"
+ default n
+ help
+ If you say Y here, you'll be able to give the list of addons you want to
+ include in your C library.
+
+config LIBC_ADDONS_LIST
+ string
+ prompt "Extra addons"
+ default ""
+ help
+ Extra addons to include in glibc.
+
+ Eg.: crypt (for very old glibces)
+ ports (for the ports addon, with other architectures)
+ linuxthreads (for the linuxthreads implementation of threads)
diff --git a/config/libc_uClibc.in b/config/libc_uClibc.in
new file mode 100644
index 0000000..f693912
--- /dev/null
+++ b/config/libc_uClibc.in
@@ -0,0 +1,92 @@
+# uClibc options
+
+choice
+ bool
+ prompt "uClibc version"
+
+config LIBC_V_snapshot
+ bool
+ prompt "latest snapshot"
+
+config LIBC_V_specific_date
+ bool
+ prompt "<specific date>"
+
+config LIBC_V_0_9_26
+ bool
+ prompt "0.9.26"
+
+config LIBC_V_0_9_27
+ bool
+ prompt "0.9.27"
+
+config LIBC_V_0_9_28
+ bool
+ prompt "0.9.28"
+
+config LIBC_V_0_9_28_1
+ bool
+ prompt "0.9.28.1"
+
+config LIBC_V_0_9_28_2
+ bool
+ prompt "0.9.28.2"
+
+# CT_INSERT_VERSION_ABOVE
+# Don't remove above line!
+endchoice
+
+config LIBC_VERSION
+ string
+ prompt "Enter date (YYYYMMDD)" if LIBC_V_specific_date
+ default "snapshot" if LIBC_V_snapshot
+ default "0.9.26" if LIBC_V_0_9_26
+ default "0.9.27" if LIBC_V_0_9_27
+ default "0.9.28" if LIBC_V_0_9_28
+ default "0.9.28.1" if LIBC_V_0_9_28_1
+ default "0.9.28.2" if LIBC_V_0_9_28_2
+# CT_INSERT_VERSION_STRING_ABOVE
+# Don't remove qbove line!
+
+choice
+ bool
+ prompt "Debug level"
+ default LIBC_UCLIBC_DEBUG_LEVEL_0
+
+config LIBC_UCLIBC_DEBUG_LEVEL_0
+ bool
+ prompt "none"
+
+config LIBC_UCLIBC_DEBUG_LEVEL_1
+ bool
+ prompt "minimal"
+
+config LIBC_UCLIBC_DEBUG_LEVEL_2
+ bool
+ prompt "all"
+
+endchoice
+
+config LIBC_UCLIBC_DEBUG_LEVEL
+ int
+ default 0 if LIBC_UCLIBC_DEBUG_LEVEL_0
+ default 1 if LIBC_UCLIBC_DEBUG_LEVEL_1
+ default 2 if LIBC_UCLIBC_DEBUG_LEVEL_2
+
+config LIBC_UCLIBC_CONFIG_FILE
+ string
+ prompt "Configuration file"
+ default ""
+ help
+ Path to the configuration file.
+
+ You _must_ provide one (for now).
+
+config LIBC_UCLIBC_LOCALES
+ bool
+ prompt "Add support for locales"
+ default n
+ help
+ Say y if you want uClibc to support localisation.
+
+ Note that seems to be broken on recent uClibc releases.
diff --git a/config/target.in b/config/target.in
new file mode 100644
index 0000000..42a7a3a
--- /dev/null
+++ b/config/target.in
@@ -0,0 +1,300 @@
+# Target definition: architecture, optimisations, etc...
+
+menu "Target options"
+
+comment "General target options"
+
+choice
+ bool
+ prompt "Target architecture:"
+ default ARCH_x86
+
+config ARCH_ARM
+ bool
+ prompt "arm"
+
+config ARCH_MIPS
+ bool
+ prompt "mips"
+
+config ARCH_x86
+ bool
+ prompt "x86"
+
+config ARCH_x86_64
+ bool
+ prompt "x86_64"
+
+endchoice
+
+choice
+ bool
+ prompt "Endianness:"
+
+config ARCH_BE
+ bool
+ prompt "Big endian"
+
+config ARCH_LE
+ bool
+ prompt "Little endian"
+
+endchoice
+
+comment "Target optimisations"
+
+config ARCH_CPU
+ string
+ prompt "Emit assembly for CPU"
+ default ""
+ help
+ This specifies the name of the target ARM processor. GCC uses this name
+ to determine what kind of instructions it can emit when generating
+ assembly code.
+
+ Pick a value from the gcc manual for your choosen gcc version and your
+ target CPU.
+
+ Leave blank if you don't know, or if your target architecture does not
+ offer this option.
+
+config ARCH_TUNE
+ string
+ prompt "Tune for CPU"
+ default ""
+ help
+ This option is very similar to the ARCH_CPU option (above), except
+ that instead of specifying the actual target processor type, and hence
+ restricting which instructions can be used, it specifies that GCC should
+ tune the performance of the code as if the target were of the type
+ specified in this option, but still choosing the instructions that it
+ will generate based on the cpu specified by the ARCH_CPU option
+ (above), or a (command-line) -mcpu= option.
+
+ Pick a value from the gcc manual for your choosen gcc version and your
+ target CPU.
+
+ Leave blank if you don't know, or if your target architecture does not
+ offer this option.
+
+config ARCH_ARCH
+ string
+ prompt "Achitecture level"
+ default ""
+ help
+ GCC uses this name to determine what kind of instructions it can emit
+ when generating assembly code. This option can be used in conjunction
+ with or instead of the ARCH_CPU option (above), or a (command-line)
+ -mcpu= option.
+
+ Pick a value from the gcc manual for your choosen gcc version and your
+ target CPU.
+
+ Leave blank if you don't know, or if your target architecture does not
+ offer this option.
+
+config ARCH_FPU
+ string
+ prompt "Use FPU"
+ default ""
+ help
+ On some targets (eg. ARM), you can specify the kind of FPU to emit
+ code for.
+
+ See below wether to actually emit FP opcodes, or to emulate them.
+
+ Pick a value from the gcc manual for your choosen gcc version and your
+ target CPU.
+
+ Leave blank if you don't know, or if your target architecture does not
+ offer this option.
+
+choice
+ bool
+ prompt "Floating point:"
+
+config ARCH_FLOAT_HW
+ bool
+ prompt "hardware (FPU)"
+ help
+ Emit hardware floating point opcodes.
+
+ If you've got a processor with a FPU, then you want that.
+ If your hardware has no FPU, you still can use HW floating point, but
+ need to compile support for FPU emulation in your kernel. Needless to
+ say that emulating the FPU is /slooowwwww/...
+
+ One situation you'd want HW floating point without a FPU is if you get
+ binary blobs from different vendors that are compiling this way and
+ can't (don't wan't to) change.
+
+config ARCH_FLOAT_SW
+ bool
+ prompt "software"
+ help
+ Do not emit any hardware floating point opcode.
+
+ If your processor has no FPU, then you most probably want this, as it
+ is faster than emulating the FPU in the kernel.
+
+endchoice
+
+config ARCH_FLOAT_SW_LIBFLOAT
+ bool
+ prompt "Use libfloat"
+ default n
+ depends on ARCH_FLOAT_SW
+ help
+ For those targets upporting it, you can use libfloat for the software
+ floating point emulation.
+
+ Note that some versions of gcc have support code that supersedes libfloat,
+ while others don't. Known version of gcc that don't have support code are
+ versions prior to 3.0, and version above 4.0.
+
+ You should check gcc before deciding to use libfloat.
+
+config TARGET_CFLAGS
+ string
+ prompt "Default target CFLAGS"
+ default ""
+ help
+ Used to add specific options when compiling libraries of the toolchain,
+ that will run on the target (eg. libc.so).
+
+ Note that the options above for CPU, tune, arch and FPU will be
+ automaticaly used. You don't need to specify them here.
+
+ 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