crosstool-ng/config/toolchain.in

339 lines
9.5 KiB
Plaintext
Raw Normal View History

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 SYSROOT_DIR_PREFIX
string
prompt "sysroot prefix dir (READ HELP)"
depends on USE_SYSROOT
default ""
help
*
* Unless you realy know you need that, leave it empty!
*
This string will be interpreted as a directory component to be added
to the sysroot path, just before the actual sysroot directory.
In fact, the sysroot path is constructed as:
${CT_PREFIX_DIR}/${CT_TARGET}/${CT_SYSROOT_DIR_PREFIX}/sys-root
config SHARED_LIBS
bool
prompt "Build shared libraries"
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(-)
2008-09-14 16:21:07 +00:00
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).
comment "Tuple completion and aliasing"
config TARGET_VENDOR
string
prompt "Tuple's 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.
Use neither dash nor space, as it breaks things.
Keep the default (unkown) if you don't know better.
config TARGET_ALIAS_SED_EXPR
string
prompt "Tuple's 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 "Tuple's 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 (NO CODE!) (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 (NO CODE!) (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
comment "Build system"
config BUILD
string
prompt "| Tuple (READ HELP!)"
default ""
help
Canonical name of the machine building the toolchain.
You should leave empty, unless you really now what you're doing.
config BUILD_PREFIX
string
prompt "| Tools prefix (READ HELP!)"
default ""
help
If you have your *build system* tools in a weird location, and/or
they have an unusual prefix, enter it here.
Usually, you should leave that empty!
Eg.:
If your *build* gcc is /opt/build-tools/bin/weird-gcc then you
should enter:
/opt/build-tools/bin/weird-
If your *build* gcc is /opt/build-tools/bin/weird-gcc and
/opt/build-tools/bin is in your PATH, you should enter:
weird-
If your *build* gcc is /opt/build-tools/bin/gcc then you
should enter (do not forget to add the trailing '/'):
/opt/build-tools/bin/
config BUILD_SUFFIX
string
prompt "| Tools suffix (READ HELP!)"
default ""
help
If your *build system* tools have an unusual suffix, enter it
here.
Usually, you should leave that empty!
Eg.:
If your 'default' gcc is gcc 4.3.1, but you also have gcc-3.4.2
installed as gcc-3.4, then you should enter:
-3.4
It can happen that some of the tools have a suffix, when others
don't, eg. you can have 'gcc-3.4' and 'ar'. crosstool-NG accounts
for that by checking the tools without the suffix in case it can
not find some of the tool.
if CANADIAN
comment "Host system"
config HOST
string
prompt "| Tuple (READ HELP!)"
default ""
help
Canonical name of the machine running the toolchain.
config HOST_PREFIX
string
prompt "| Tools prefix (READ HELP!)"
default ""
help
If you have your *host system* tools in a weird location, and/or
they have an unusual prefix, enter it here.
Usually, you should leave that empty!
Eg.:
If your *host* gcc is /opt/host-tools/bin/weird-gcc then you
should enter:
/opt/host-tools/bin/weird-
If your *host* gcc is /opt/host-tools/bin/weird-gcc and
/opt/host-tools/bin is in your PATH, you should enter:
weird-
If your *host* gcc is /opt/host-tools/bin/gcc then you
should enter (do not forget to add the trailing '/'):
/opt/host-tools/bin/
config HOST_SUFFIX
string
prompt "| Tools suffix (READ HELP!)"
default ""
help
If your *host system* tools have an unusual suffix, enter it
here.
Usually, you should leave that empty!
Eg.:
If your 'default' gcc is gcc 4.3.1, but you also have gcc-3.4.2
installed as gcc-3.4, then you should enter:
-3.4
It can happen that some of the tools have a suffix, when others
don't, eg. you can have 'gcc-3.4' and 'ar'. crosstool-NG accounts
for that by checking the tools without the suffix in case it can
not find some of the tool.
endif # CANADIAN
if CROSS_NATIVE || CANADIAN
comment "Target system"
config TARGET_PREFIX
string
prompt "| Tools prefix (READ HELP!)"
default ""
help
If you have your *target system* tools in a weird location, and/or
they have an unusual prefix, enter it here.
Usually, you should leave that empty!
Eg.:
If your *target* gcc is /opt/target-tools/bin/weird-gcc then you
should enter:
/opt/target-tools/bin/weird-
If your *target* gcc is /opt/target-tools/bin/weird-gcc and
/opt/target-tools/bin is in your PATH, you should enter:
weird-
If your *target* gcc is /opt/target-tools/bin/gcc then you
should enter (do not forget to add the trailing '/'):
/opt/target-tools/bin/
config TARGET_SUFFIX
string
prompt "| Tools suffix (READ HELP!)"
default ""
help
If your *target system* tools have an unusual suffix, enter it
here.
Usually, you should leave that empty!
Eg.:
If your 'default' gcc is gcc 4.3.1, but you also have gcc-3.4.2
installed as gcc-3.4, then you should enter:
-3.4
It can happen that some of the tools have a suffix, when others
don't, eg. you can have 'gcc-3.4' and 'ar'. crosstool-NG accounts
for that by checking the tools without the suffix in case it can
not find some of the tool.
endif # CROSS_NATIVE || CANADIAN
# Kept as a separate if block, even if it could go into the above block,
# because it seems better. No real reason, only that it seems right...
if CANADIAN
comment "Host specifics"
choice
bool
prompt "| Install tools wrapper as:"
depends on WRAPPER_NEEDED
default TOOLS_WRAPPER_SHELL
config TOOLS_WRAPPER_SCRIPT
bool
prompt "shell script"
help
If your host has a shell, then you should say 'Y' here, to use
a (very very simple) shell script as wrapper.
See docs/overview.txt, section "Tools wrapper".
config TOOLS_WRAPPER_EXEC
bool
prompt "executable"
help
If your host lacks a shell, then you should say 'Y' here, to use
an executable.
See docs/overview.txt, section "Tools wrapper".
endchoice
config TOOLS_WRAPPER
string
default "script" if TOOLS_WRAPPER_SCRIPT
default "exec" if TOOLS_WRAPPER_EXEC
endif # CROSS_NATIVE || CANADIAN
endmenu