crosstool-ng/config/libc/newlib.in

221 lines
5.6 KiB
Plaintext
Raw Normal View History

# 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_5_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_V_2_5_0
bool
prompt "2.5.0.20170323"
select LIBC_NEWLIB_2_5
config LIBC_NEWLIB_V_2_4_0
bool
prompt "2.4.0.20161025"
select LIBC_NEWLIB_2_4
config LIBC_NEWLIB_V_2_3_0
bool
prompt "2.3.0.20160226"
select LIBC_NEWLIB_2_3
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.20151023"
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"
2010-01-10 16:32:32 +00:00
config LIBC_NEWLIB_V_1_18_0
bool
prompt "1.18.0"
2010-01-10 16:32:32 +00:00
config LIBC_NEWLIB_V_1_17_0
bool
prompt "1.17.0"
endchoice
endif # ! LIBC_NEWLIB_CUSTOM
config LIBC_NEWLIB_2_5
bool
select LIBC_NEWLIB_2_5_or_later
config LIBC_NEWLIB_2_4
bool
select LIBC_NEWLIB_2_4_or_later
config LIBC_NEWLIB_2_3
bool
select LIBC_NEWLIB_2_3_or_later
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_5_or_later
bool
select LIBC_NEWLIB_2_4_or_later
config LIBC_NEWLIB_2_4_or_later
bool
select LIBC_NEWLIB_2_3_or_later
config LIBC_NEWLIB_2_3_or_later
bool
select LIBC_NEWLIB_2_2_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 "2.5.0.20170323" if LIBC_NEWLIB_V_2_5_0
default "2.4.0.20161025" if LIBC_NEWLIB_V_2_4_0
default "2.3.0.20160226" if LIBC_NEWLIB_V_2_3_0
default "linaro-2.2.0-2015.01" if LIBC_NEWLIB_LINARO_V_2_2_0
default "2.2.0.20151023" 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
2010-01-10 16:32:32 +00:00
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.