Introduce a new EXPERIMENTAL feature: BARE_METAL.
This should ultimately llow to build bare-metal compilers, for targets that have no kernel and no C library.
Move the C library build script to their own sub-directory; introduce an empty build script for bare-metal.
Move the compiler build script to its own sub-directory.
Move the kernel build script to its own sub-directory; introduce an empty build script for bare-metal.
Update the ARM target tuples to enable bare-metal targets.
Add two ARM bare-metal samples.
Add latest Linux kernel versions.
/trunk/scripts/build/kernel/none.sh | 77 6 71 0 +----
/trunk/scripts/build/cc/gcc.sh | 58 41 17 0 ++-
/trunk/scripts/build/libc/none.sh | 513 9 504 0 +-----------------------------
/trunk/scripts/crosstool.sh | 17 9 8 0 +
/trunk/scripts/functions | 6 4 2 0 +
/trunk/scripts/showSamples.sh | 6 3 3 0
/trunk/samples/arm-unknown-elf/crosstool.config | 225 225 0 0 +++++++++++++
/trunk/samples/arm-unknown-eabi/crosstool.config | 223 223 0 0 +++++++++++++
/trunk/config/kernel/linux_headers_install.in | 64 27 37 0 ++--
/trunk/config/kernel.in | 9 8 1 0 +
/trunk/config/toolchain.in | 1 1 0 0 +
/trunk/config/cc/gcc.in | 3 3 0 0 +
/trunk/config/debug/dmalloc.in | 1 1 0 0 +
/trunk/config/debug/gdb.in | 4 3 1 0 +
/trunk/config/debug/strace.in | 1 1 0 0 +
/trunk/config/debug/duma.in | 1 1 0 0 +
/trunk/config/cc.in | 8 8 0 0 +
/trunk/config/target.in | 13 13 0 0 +
/trunk/config/binutils.in | 1 1 0 0 +
/trunk/config/gmp_mpfr.in | 1 1 0 0 +
/trunk/config/libc.in | 17 11 6 0 +
/trunk/arch/arm/functions | 3 1 2 0 -
22 files changed, 600 insertions(+), 652 deletions(-)
1 # This file contains the common configuration options
2 # that apply to both glibc and eglibc.
5 # the symlink is a hack around the fact that mconf can not parse
6 # the same file more than once, and errors out if it is the case.
7 # If mconf is updated to accept multiple inclusion of the same
8 # file, then the symlink can go (and the includers be updated).
10 config LIBC_GLIBC_EXTRA_CONFIG
15 Extra flags to pass onto ./configure when configuring.
17 Eg.: --enable-static-nss
19 config LIBC_GLIBC_EXTRA_CFLAGS
21 prompt "extra target CFLAGS"
24 Extra target CFLAGS to use when building.
26 config LIBC_EXTRA_CC_ARGS
28 prompt "gcc extra flags"
31 Extra flags to pass gcc when building.
33 Seldom used, except for sparc64 which seems to need the flag -64
34 to be passed onto gcc.
36 config LIBC_GLIBC_USE_PORTS
38 prompt "Use the ports addon"
41 The ports addon contains some architecture ports that are not available
42 in the official distribution.
44 For example, this is the case for ARM with for 2.4 and above.
46 Say n only if you're sure that your architecture is in the official
47 distribution for your chosen version.
51 prompt "Pass extra addons list"
54 If you say Y here, you'll be able to give the list of addons you want to
55 include in your C library.
57 config LIBC_ADDONS_LIST
61 depends on LIBC_ADDONS
63 Extra addons to include. Space separated list.
65 You need to specify neither linuxthreads nor nptl, as they are added
66 automagically for you depending on the threading model you choosed
69 Eg.: crypt (for very old libces)
71 config LIBC_GLIBC_USE_HEADERS_MIN_KERNEL
73 prompt "Use headers version for minimum kernel version supported"
76 If enabled, crosstool-ng will use the chosen version of kernel
77 headers for the glibc minimum kernel version supported, which is
78 what gets passed to "--enable-kernel=" when configuring glibc.
80 Enabling this will ensure that no legacy compatibility code for
81 older kernels is built into your C libraries, but it will
82 be unable to run on kernel versions older than whichever kernel
83 headers version you've built the toolchain for.
85 If you know for sure that your toolchain will never need to build
86 applications that will run under a kernel version older than your
87 chosen kernel headers version (CT_KERNEL_VERSION), you can choose
90 config LIBC_GLIBC_MIN_KERNEL_CHOSEN
92 prompt "Minimum kernel version supported"
94 depends on ! LIBC_GLIBC_USE_HEADERS_MIN_KERNEL
96 Specify the earliest Linux kernel version you want glibc to
97 include support for. This does not have to match the kernel
98 headers version used for your toolchain. This controls what is
99 passed to the "--enable-kernel=" option to the glibc configure
102 If you want to be able to statically link programs with your
103 toolchain's C library, make sure this kernel version is lower than
104 all kernels you wish to support to avoid "FATAL: kernel too old"
105 errors. The higher the version you specify, the less legacy code
106 will be built into libc.
108 Most people can leave this at the default value of "2.6.9".
110 config LIBC_GLIBC_MIN_KERNEL
112 default KERNEL_VERSION if LIBC_GLIBC_USE_HEADERS_MIN_KERNEL
113 default LIBC_GLIBC_MIN_KERNEL_CHOSEN if ! LIBC_GLIBC_USE_HEADERS_MIN_KERNEL