mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-24 15:06:42 +00:00
514f1546d7
This commit sort of unifies the kconfigs to handle custom files and directories. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
180 lines
4.7 KiB
Plaintext
180 lines
4.7 KiB
Plaintext
# newlib options
|
|
|
|
## depends on BARE_METAL
|
|
##
|
|
## select LIBC_SUPPORT_THREADS_NONE
|
|
## select CC_CORE_PASSES_NEEDED if CANADIAN
|
|
## select CC_CORE_PASS_2_NEEDED if ! CANADIAN
|
|
##
|
|
## help Newlib is a C library intended for use on embedded systems. It is a
|
|
## help conglomeration of several library parts, all under free software
|
|
## help licenses that make them easily usable on embedded products. Newlib
|
|
## help is only available in source form. It can be compiled for a wide
|
|
## help array of processors, and will usually work on any architecture with
|
|
## help the addition of a few low-level routines.
|
|
#
|
|
config LIBC_NEWLIB_CUSTOM
|
|
bool
|
|
prompt "Custom newlib"
|
|
depends on EXPERIMENTAL
|
|
select LIBC_NEWLIB_2_2_or_later
|
|
help
|
|
The choosen newlib version shall be not downloaded. Instead use
|
|
a custom location to get the source.
|
|
|
|
if LIBC_NEWLIB_CUSTOM
|
|
|
|
config LIBC_NEWLIB_CUSTOM_LOCATION
|
|
string
|
|
prompt "Full path to custom newlib source"
|
|
help
|
|
Enter the path to the directory or tarball of your source for newlib.
|
|
|
|
If the path is a tarball, it should extract to: <name>-<version>/
|
|
where the name is this component, newlib, and the version is set
|
|
below in the custom version string.
|
|
|
|
config LIBC_NEWLIB_CUSTOM_VERSION
|
|
string
|
|
prompt "Custom NEWLIB version"
|
|
help
|
|
Enter the version number for your custom newlib.
|
|
|
|
config LIBC_VERSION
|
|
string
|
|
default LIBC_NEWLIB_CUSTOM_VERSION
|
|
|
|
endif # LIBC_NEWLIB_CUSTOM
|
|
|
|
if ! LIBC_NEWLIB_CUSTOM
|
|
|
|
config CC_NEWLIB_SHOW_LINARO
|
|
bool
|
|
prompt "Show Linaro versions"
|
|
help
|
|
Linaro is maintaining some advanced/more stable/experimental versions
|
|
of newlib, especially for the ARM architecture.
|
|
|
|
Those versions have not been blessed by the newlib comunity (nor have they
|
|
been cursed either!), but they look to be pretty much stable, and even
|
|
more stable than the upstream versions. YMMV...
|
|
|
|
If you do not know what this Linaro stuff is, then simply say 'n' here,
|
|
and rest in peace. OTOH, if you know what you are doing, you will be
|
|
able to use and enjoy :-) the Linaro versions by saying 'y' here.
|
|
|
|
Linaro: http://www.linaro.org/
|
|
|
|
choice
|
|
bool
|
|
prompt "newlib version"
|
|
# Don't remove next line
|
|
# CT_INSERT_VERSION_BELOW
|
|
|
|
config LIBC_NEWLIB_LINARO_V_2_2_0
|
|
bool
|
|
prompt "Linaro 2.2.0-2015.01"
|
|
depends on CC_NEWLIB_SHOW_LINARO
|
|
select LIBC_NEWLIB_2_2
|
|
|
|
config LIBC_NEWLIB_V_2_2_0
|
|
bool
|
|
prompt "2.2.0"
|
|
select LIBC_NEWLIB_2_2
|
|
|
|
config LIBC_NEWLIB_LINARO_V_2_1_0
|
|
bool
|
|
prompt "Linaro 2.1.0-2014.09"
|
|
depends on CC_NEWLIB_SHOW_LINARO
|
|
select LIBC_NEWLIB_2_1
|
|
|
|
config LIBC_NEWLIB_V_2_1_0
|
|
bool
|
|
prompt "2.1.0"
|
|
select LIBC_NEWLIB_2_1
|
|
|
|
config LIBC_NEWLIB_V_2_0_0
|
|
bool
|
|
prompt "2.0.0"
|
|
select LIBC_NEWLIB_2_0
|
|
|
|
config LIBC_NEWLIB_V_1_20_0
|
|
bool
|
|
prompt "1.20.0"
|
|
|
|
config LIBC_NEWLIB_V_1_19_0
|
|
bool
|
|
prompt "1.19.0"
|
|
|
|
config LIBC_NEWLIB_V_1_18_0
|
|
bool
|
|
prompt "1.18.0"
|
|
|
|
config LIBC_NEWLIB_V_1_17_0
|
|
bool
|
|
prompt "1.17.0"
|
|
|
|
endchoice
|
|
|
|
endif # ! LIBC_NEWLIB_CUSTOM
|
|
|
|
config LIBC_NEWLIB_2_2
|
|
bool
|
|
select LIBC_NEWLIB_2_2_or_later
|
|
|
|
config LIBC_NEWLIB_2_1
|
|
bool
|
|
select LIBC_NEWLIB_2_1_or_later
|
|
|
|
config LIBC_NEWLIB_2_0
|
|
bool
|
|
select LIBC_NEWLIB_2_0_or_later
|
|
|
|
config LIBC_NEWLIB_2_2_or_later
|
|
bool
|
|
select LIBC_NEWLIB_2_1_or_later
|
|
|
|
config LIBC_NEWLIB_2_1_or_later
|
|
bool
|
|
select LIBC_NEWLIB_2_0_or_later
|
|
|
|
# maybe older versions of newlib will support it too, but this
|
|
# needs to be checked
|
|
config LIBC_NEWLIB_2_0_or_later
|
|
bool
|
|
select LIBC_PROVIDES_CXA_ATEXIT
|
|
|
|
if ! LIBC_NEWLIB_CUSTOM
|
|
config LIBC_VERSION
|
|
string
|
|
# Don't remove next line
|
|
# CT_INSERT_VERSION_STRING_BELOW
|
|
default "linaro-2.2.0-2015.01" if LIBC_NEWLIB_LINARO_V_2_2_0
|
|
default "2.2.0" if LIBC_NEWLIB_V_2_2_0
|
|
default "linaro-2.1.0-2014.09" if LIBC_NEWLIB_LINARO_V_2_1_0
|
|
default "2.1.0" if LIBC_NEWLIB_V_2_1_0
|
|
default "2.0.0" if LIBC_NEWLIB_V_2_0_0
|
|
default "1.20.0" if LIBC_NEWLIB_V_1_20_0
|
|
default "1.19.0" if LIBC_NEWLIB_V_1_19_0
|
|
default "1.18.0" if LIBC_NEWLIB_V_1_18_0
|
|
default "1.17.0" if LIBC_NEWLIB_V_1_17_0
|
|
help
|
|
Enter the tag you want to use.
|
|
Leave empty to use the 'head' of the repository.
|
|
|
|
endif # ! LIBC_NEWLIB_CUSTOM
|
|
|
|
config LIBC_NEWLIB_TARGET_CFLAGS
|
|
string
|
|
prompt "Target CFLAGS for newlib"
|
|
default ""
|
|
help
|
|
Used to add specific options when compiling the target libraries
|
|
(eg. -ffunction-sections -fdata-sections), which can't be defined
|
|
in global TARGET_CFLAGS, because they shall be not used for the
|
|
gcc target libraries.
|
|
Note: Both TARGET_CFLAGS and LIBC_NEWLIB_TARGET_CFLAGS are used
|
|
to compile the libraries.
|
|
|
|
Leave blank if you don't know better.
|