2007-04-17 22:24:42 +00:00
|
|
|
menu "Toolchain options"
|
|
|
|
|
|
|
|
comment "General toolchain options"
|
|
|
|
|
2011-01-25 21:14:52 +00:00
|
|
|
config FORCE_SYSROOT
|
|
|
|
bool
|
|
|
|
default y if !OBSOLETE
|
|
|
|
select USE_SYSROOT
|
|
|
|
|
2007-04-17 22:24:42 +00:00
|
|
|
config USE_SYSROOT
|
|
|
|
bool
|
|
|
|
prompt "Use sysroot'ed toolchain"
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Use the 'shinny new' sysroot feature of gcc: libraries split between
|
2011-01-25 19:31:16 +00:00
|
|
|
prefix/target/sysroot/lib and prefix/target/sysroot/usr/lib
|
2007-04-17 22:24:42 +00:00
|
|
|
|
|
|
|
You definitely want to say 'Y' here. Yes you do. I know you do. Say 'Y'.
|
|
|
|
|
2011-01-25 19:31:16 +00:00
|
|
|
config SYSROOT_NAME
|
|
|
|
string
|
2011-04-20 17:21:39 +00:00
|
|
|
prompt "sysroot directory name" if ! BACKEND
|
2011-01-25 19:31:16 +00:00
|
|
|
depends on USE_SYSROOT
|
|
|
|
default "sysroot"
|
|
|
|
help
|
|
|
|
Enter the base name of the sysroot directory. Usually, this simply
|
|
|
|
is 'sysroot' (the default) or 'sys-root'.
|
|
|
|
|
|
|
|
You are free to enter anything here, except for spaces, and '/'
|
2011-07-17 14:53:40 +00:00
|
|
|
(see SYSROOT_DIR_PREFIX, below). If you leave this empty, then the
|
2011-01-25 19:31:16 +00:00
|
|
|
default 'sysroot' is used.
|
|
|
|
|
2009-03-03 17:41:59 +00:00
|
|
|
config SYSROOT_DIR_PREFIX
|
|
|
|
string
|
2010-03-29 10:04:27 +00:00
|
|
|
prompt "sysroot prefix dir (READ HELP)" if ! BACKEND
|
2009-03-03 17:41:59 +00:00
|
|
|
depends on USE_SYSROOT
|
|
|
|
default ""
|
|
|
|
help
|
|
|
|
*
|
2011-07-17 14:53:40 +00:00
|
|
|
* Unless you really know you need that, leave it empty!
|
2009-03-03 17:41:59 +00:00
|
|
|
*
|
|
|
|
|
|
|
|
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:
|
2011-01-25 19:31:16 +00:00
|
|
|
${CT_PREFIX_DIR}/${CT_TARGET}/${CT_SYSROOT_DIR_PREFIX}/${CT_SYSROOT_NAME}
|
2009-03-03 17:41:59 +00:00
|
|
|
|
2011-06-02 17:50:12 +00:00
|
|
|
# In case we need to add more conditions to enable static
|
|
|
|
# toolchain, we'll be adding them here
|
|
|
|
config STATIC_TOOLCHAIN_POSSIBLE
|
|
|
|
bool
|
|
|
|
default y
|
2011-06-27 19:03:40 +00:00
|
|
|
depends on CONFIGURE_static_link_ok
|
2011-06-02 17:50:12 +00:00
|
|
|
depends on CONFIGURE_has_static_libstdcxx
|
|
|
|
# Add new deps here! :-)
|
|
|
|
|
2010-12-09 17:54:37 +00:00
|
|
|
config STATIC_TOOLCHAIN
|
|
|
|
bool
|
|
|
|
prompt "Build Static Toolchain (EXPERIMENTAL)"
|
|
|
|
depends on EXPERIMENTAL
|
2011-06-02 17:50:12 +00:00
|
|
|
depends on STATIC_TOOLCHAIN_POSSIBLE
|
2010-12-09 17:54:37 +00:00
|
|
|
help
|
|
|
|
Build static host binaries.
|
|
|
|
|
|
|
|
If you wish to move the toolchain to another host, and you are not
|
|
|
|
confident that this host has the required versions of system libs, then
|
2011-07-17 14:53:40 +00:00
|
|
|
you can say 'Y' here, and all the host tools will be linked statically.
|
2010-12-09 17:54:37 +00:00
|
|
|
|
2010-12-09 17:55:15 +00:00
|
|
|
The impacted tools are:
|
2010-12-09 17:55:33 +00:00
|
|
|
- the GNU binutils
|
2010-12-09 17:55:15 +00:00
|
|
|
- the cross-gdb
|
|
|
|
|
2010-12-09 17:54:37 +00:00
|
|
|
The default is 'N', to build dynamicaly-linked host binaries.
|
|
|
|
|
|
|
|
NOTE: this has no connection to whether the target libraries will be
|
|
|
|
dynamic or static. This only applies to the tools themselves.
|
|
|
|
|
2011-05-31 18:12:35 +00:00
|
|
|
config TOOLCHAIN_PKGVERSION
|
|
|
|
string
|
|
|
|
prompt "Toolchain ID string"
|
2011-06-03 15:21:56 +00:00
|
|
|
default ""
|
2011-05-31 18:12:35 +00:00
|
|
|
help
|
|
|
|
Specify a string that identifies your package. You may wish to include
|
|
|
|
a build number or build date. This version string will be included in
|
2011-05-31 19:03:03 +00:00
|
|
|
the output of gcc --version, and also in binutils, eglibc, gdb and
|
|
|
|
gdbserver.
|
2011-05-31 18:12:35 +00:00
|
|
|
|
2011-06-03 15:21:56 +00:00
|
|
|
If this string is left empty, the actual package version will be:
|
|
|
|
"crosstool-NG ${CT_VERSION}"
|
|
|
|
Otherwise, it will be:
|
|
|
|
"crosstool-NG ${CT_VERSION} - ${CT_TOOLCHAIN_PKGVERSION}"
|
|
|
|
|
2011-05-31 18:12:35 +00:00
|
|
|
This is passed to the configure flag --with-pkgversion.
|
|
|
|
|
|
|
|
config TOOLCHAIN_BUGURL
|
|
|
|
string
|
|
|
|
prompt "Toolchain bug URL"
|
|
|
|
default ""
|
|
|
|
help
|
|
|
|
Specify the URL that users should visit if they wish to report a bug.
|
|
|
|
|
2009-03-03 17:50:53 +00:00
|
|
|
comment "Tuple completion and aliasing"
|
|
|
|
|
2007-04-17 22:24:42 +00:00
|
|
|
config TARGET_VENDOR
|
|
|
|
string
|
2009-03-03 17:50:53 +00:00
|
|
|
prompt "Tuple's vendor string"
|
2007-04-17 22:24:42 +00:00
|
|
|
default "unknown"
|
|
|
|
help
|
2007-08-15 16:18:35 +00:00
|
|
|
Vendor part of the target tuple.
|
2007-04-17 22:24:42 +00:00
|
|
|
|
2007-08-15 16:18:35 +00:00
|
|
|
A tuple is of the form arch-vendor-kernel-system.
|
2007-04-17 22:24:42 +00:00
|
|
|
You can set the second part, vendor, to whatever you see fit.
|
|
|
|
Use a single word, or use underscores "_" to separate words.
|
2008-12-09 22:02:20 +00:00
|
|
|
Use neither dash nor space, as it breaks things.
|
2007-04-17 22:24:42 +00:00
|
|
|
|
2010-01-07 22:05:30 +00:00
|
|
|
Keep the default (unknown) if you don't know better.
|
2007-04-17 22:24:42 +00:00
|
|
|
|
2007-08-07 19:40:38 +00:00
|
|
|
config TARGET_ALIAS_SED_EXPR
|
|
|
|
string
|
2009-03-03 17:50:53 +00:00
|
|
|
prompt "Tuple's sed transform"
|
2007-08-07 19:40:38 +00:00
|
|
|
default ""
|
|
|
|
help
|
2011-07-17 14:53:40 +00:00
|
|
|
Normally, you'd call your toolchain components (especially gcc) by
|
2007-08-15 16:18:35 +00:00
|
|
|
prefixing the target tuple followed by a dash and the component name
|
2007-08-07 19:40:38 +00:00
|
|
|
(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).
|
|
|
|
|
2007-04-17 22:24:42 +00:00
|
|
|
config TARGET_ALIAS
|
|
|
|
string
|
2009-03-03 17:50:53 +00:00
|
|
|
prompt "Tuple's alias"
|
2007-04-17 22:24:42 +00:00
|
|
|
default ""
|
|
|
|
help
|
2011-07-17 14:53:40 +00:00
|
|
|
Normally, you'd call your toolchain components (especially gcc) by
|
2007-08-15 16:18:35 +00:00
|
|
|
prefixing the target tuple followed by a dash and the component name
|
2007-04-17 22:24:42 +00:00
|
|
|
(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
|
2008-11-13 18:22:23 +00:00
|
|
|
prompt "Native (NO CODE!) (EXPERIMENTAL)"
|
2007-04-17 22:24:42 +00:00
|
|
|
depends on EXPERIMENTAL
|
|
|
|
help
|
|
|
|
Build a native toolchain.
|
2010-12-21 23:34:56 +00:00
|
|
|
See: "docs/6 - Toolchain types.txt"
|
2007-04-17 22:24:42 +00:00
|
|
|
|
|
|
|
config CROSS
|
|
|
|
bool
|
|
|
|
prompt "Cross"
|
|
|
|
help
|
|
|
|
Build a cross-toolchain.
|
2010-12-21 23:34:56 +00:00
|
|
|
See: "docs/6 - Toolchain types.txt"
|
2007-04-17 22:24:42 +00:00
|
|
|
|
|
|
|
config CROSS_NATIVE
|
|
|
|
bool
|
2008-11-13 18:22:23 +00:00
|
|
|
prompt "Cross-native (NO CODE!) (EXPERIMENTAL)"
|
2007-04-17 22:24:42 +00:00
|
|
|
depends on EXPERIMENTAL
|
|
|
|
help
|
|
|
|
Build a cross-native toolchain.
|
2010-12-21 23:34:56 +00:00
|
|
|
See: "docs/6 - Toolchain types.txt"
|
2007-04-17 22:24:42 +00:00
|
|
|
|
|
|
|
config CANADIAN
|
|
|
|
bool
|
2009-06-26 17:09:22 +00:00
|
|
|
prompt "Canadian (EXPERIMENTAL)"
|
2007-04-17 22:24:42 +00:00
|
|
|
depends on EXPERIMENTAL
|
|
|
|
help
|
|
|
|
Build a canadian-toolchain.
|
2010-12-21 23:34:56 +00:00
|
|
|
See: "docs/6 - Toolchain types.txt"
|
2007-04-17 22:24:42 +00:00
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
2007-05-17 16:22:51 +00:00
|
|
|
config TOOLCHAIN_TYPE
|
|
|
|
string
|
|
|
|
default "native" if NATIVE
|
|
|
|
default "cross" if CROSS
|
|
|
|
default "cross-native" if CROSS_NATIVE
|
|
|
|
default "canadian" if CANADIAN
|
|
|
|
|
2008-11-13 18:22:23 +00:00
|
|
|
comment "Build system"
|
|
|
|
|
2011-05-31 14:27:39 +00:00
|
|
|
config BUILD
|
2007-04-17 22:24:42 +00:00
|
|
|
string
|
2008-11-13 18:22:23 +00:00
|
|
|
prompt "| Tuple (READ HELP!)"
|
2007-04-17 22:24:42 +00:00
|
|
|
default ""
|
|
|
|
help
|
|
|
|
Canonical name of the machine building the toolchain.
|
|
|
|
You should leave empty, unless you really now what you're doing.
|
|
|
|
|
2008-11-13 18:22:23 +00:00
|
|
|
config BUILD_PREFIX
|
2007-04-17 22:24:42 +00:00
|
|
|
string
|
2008-11-13 18:22:23 +00:00
|
|
|
prompt "| Tools prefix (READ HELP!)"
|
|
|
|
default ""
|
2007-04-17 22:24:42 +00:00
|
|
|
help
|
2008-11-13 18:22:23 +00:00
|
|
|
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!
|
2007-04-17 22:24:42 +00:00
|
|
|
|
2008-11-13 18:22:23 +00:00
|
|
|
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
|
2007-04-17 22:24:42 +00:00
|
|
|
|
2008-11-13 18:22:23 +00:00
|
|
|
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"
|
2007-04-17 22:24:42 +00:00
|
|
|
|
|
|
|
config HOST
|
|
|
|
string
|
2008-11-13 18:22:23 +00:00
|
|
|
prompt "| Tuple (READ HELP!)"
|
2007-04-17 22:24:42 +00:00
|
|
|
default ""
|
|
|
|
help
|
|
|
|
Canonical name of the machine running the toolchain.
|
|
|
|
|
2008-11-13 18:22:23 +00:00
|
|
|
config HOST_PREFIX
|
2007-04-17 22:24:42 +00:00
|
|
|
string
|
2008-11-13 18:22:23 +00:00
|
|
|
prompt "| Tools prefix (READ HELP!)"
|
|
|
|
default ""
|
2007-04-17 22:24:42 +00:00
|
|
|
help
|
2008-11-13 18:22:23 +00:00
|
|
|
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/
|
2007-04-17 22:24:42 +00:00
|
|
|
|
2008-11-13 18:22:23 +00:00
|
|
|
config HOST_SUFFIX
|
2007-04-17 22:24:42 +00:00
|
|
|
string
|
2008-11-13 18:22:23 +00:00
|
|
|
prompt "| Tools suffix (READ HELP!)"
|
|
|
|
default ""
|
2007-04-17 22:24:42 +00:00
|
|
|
help
|
2008-11-13 18:22:23 +00:00
|
|
|
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
|
2007-04-17 22:24:42 +00:00
|
|
|
|
|
|
|
endmenu
|