mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-19 21:07:54 +00:00
799672a641
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(-)
167 lines
4.5 KiB
Plaintext
167 lines
4.5 KiB
Plaintext
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"
|
|
depends on ! BARE_METAL
|
|
default y
|
|
help
|
|
Say 'y' here, unless you don't want shared libraries.
|
|
|
|
You might not want shared libraries if you're building for a target that
|
|
don't support it (maybe some nommu targets, for example, or bare metal).
|
|
|
|
config TARGET_VENDOR
|
|
string
|
|
prompt "Vendor string"
|
|
default "unknown"
|
|
help
|
|
Vendor part of the target tuple.
|
|
|
|
A tuple 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_SED_EXPR
|
|
string
|
|
prompt "Target sed transform"
|
|
default ""
|
|
help
|
|
Normaly, you'd call your toolchain components (especially gcc) by
|
|
prefixing the target tuple followed by a dash and the component name
|
|
(eg. armeb-unknown-linux-uclibc-gcc).
|
|
|
|
You can enter here a sed expression to be applied to ${CT_TARGET} to
|
|
create an alias for your toolchain.
|
|
|
|
For example, "s/${CT_TARGET_VENDOR}/foobar/" (without the double quotes)
|
|
will create the armeb-foobar-linux-uclibc alias to the above-mentioned
|
|
toolchain.
|
|
|
|
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 TARGET_ALIAS
|
|
string
|
|
prompt "Target alias"
|
|
default ""
|
|
help
|
|
Normaly, you'd call your toolchain components (especially gcc) by
|
|
prefixing the target tuple 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).
|
|
|
|
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 "Cross-native (EXPERIMENTAL)"
|
|
depends on EXPERIMENTAL
|
|
help
|
|
Build a cross-native toolchain.
|
|
See docs/overview.txt
|
|
|
|
config CANADIAN
|
|
bool
|
|
prompt "Canadian (EXPERIMENTAL)"
|
|
depends on EXPERIMENTAL
|
|
help
|
|
Build a canadian-toolchain.
|
|
See docs/overview.txt
|
|
|
|
endchoice
|
|
|
|
config TOOLCHAIN_TYPE
|
|
string
|
|
default "native" if NATIVE
|
|
default "cross" if CROSS
|
|
default "cross-native" if CROSS_NATIVE
|
|
default "canadian" if CANADIAN
|
|
|
|
config BUILD
|
|
string
|
|
prompt "Build system tuple"
|
|
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 tuple"
|
|
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
|