summaryrefslogtreecommitdiff
path: root/config/libc
diff options
context:
space:
mode:
Diffstat (limited to 'config/libc')
-rw-r--r--config/libc/mingw.in39
-rw-r--r--config/libc/musl.in12
-rw-r--r--config/libc/newlib.in37
-rw-r--r--config/libc/newlib.in.2104
-rw-r--r--config/libc/uClibc.in7
5 files changed, 179 insertions, 20 deletions
diff --git a/config/libc/mingw.in b/config/libc/mingw.in
index 45b6971..6c33d2f 100644
--- a/config/libc/mingw.in
+++ b/config/libc/mingw.in
@@ -16,29 +16,36 @@ choice
bool
prompt "Windows API version"
-config WINAPI_V_DEVEL
- bool
- prompt "devel"
- depends on EXPERIMENTAL
-
# Don't remove next line
# CT_INSERT_VERSION_BELOW
+config WINAPI_V_5_0_1
+ bool
+ prompt "5.0.1"
+
+config WINAPI_V_5_0_0
+ bool
+ prompt "5.0.0 (OBSOLETE)"
+ depends on OBSOLETE
+
config WINAPI_V_4_0_4
bool
prompt "4.0.4"
config WINAPI_V_4_0_2
bool
- prompt "4.0.2"
+ prompt "4.0.2 (OBSOLETE)"
+ depends on OBSOLETE
config WINAPI_V_4_0_1
bool
- prompt "4.0.1"
+ prompt "4.0.1 (OBSOLETE)"
+ depends on OBSOLETE
config WINAPI_V_4_0_0
bool
- prompt "4.0.0"
+ prompt "4.0.0 (OBSOLETE)"
+ depends on OBSOLETE
config WINAPI_V_3_1_0
bool
@@ -46,20 +53,28 @@ config WINAPI_V_3_1_0
config WINAPI_V_3_0_0
bool
- prompt "3.0.0"
+ prompt "3.0.0 (OBSOLETE)"
+ depends on OBSOLETE
config WINAPI_V_2_0_8
bool
- prompt "2.0.8"
+ prompt "2.0.8 (OBSOLETE)"
+ depends on OBSOLETE
config WINAPI_V_2_0_7
bool
- prompt "2.0.7"
+ prompt "2.0.7 (OBSOLETE)"
+ depends on OBSOLETE
config WINAPI_V_select
bool
prompt "Other version"
+config WINAPI_V_DEVEL
+ bool
+ prompt "devel"
+ depends on EXPERIMENTAL
+
endchoice
config WINAPI_VERSION
@@ -68,6 +83,8 @@ config WINAPI_VERSION
default "devel" if WINAPI_V_DEVEL
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
+ default "5.0.1" if WINAPI_V_5_0_1
+ default "5.0.0" if WINAPI_V_5_0_0
default "4.0.4" if WINAPI_V_4_0_4
default "4.0.2" if WINAPI_V_4_0_2
default "4.0.1" if WINAPI_V_4_0_1
diff --git a/config/libc/musl.in b/config/libc/musl.in
index 3e0b5a1..5ea166f 100644
--- a/config/libc/musl.in
+++ b/config/libc/musl.in
@@ -53,17 +53,23 @@ choice
# Don't remove next line
# CT_INSERT_VERSION_BELOW
-config LIBC_MUSL_V_1_1
+config LIBC_MUSL_V_1_1_16
bool
- prompt "1.1.15 (Mainline)"
+ prompt "1.1.16"
depends on EXPERIMENTAL
+config LIBC_MUSL_V_1_1_15
+ bool
+ prompt "1.1.15 (OBSOLETE)"
+ depends on EXPERIMENTAL && OBSOLETE
+
endchoice
config LIBC_VERSION
string
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
- default "1.1.15" if LIBC_MUSL_V_1_1
+ default "1.1.16" if LIBC_MUSL_V_1_1_16
+ default "1.1.15" if LIBC_MUSL_V_1_1_15
endif # ! LIBC_MUSL_CUSTOM
diff --git a/config/libc/newlib.in b/config/libc/newlib.in
index a201551..166130f 100644
--- a/config/libc/newlib.in
+++ b/config/libc/newlib.in
@@ -17,7 +17,7 @@ config LIBC_NEWLIB_CUSTOM
bool
prompt "Custom newlib"
depends on EXPERIMENTAL
- select LIBC_NEWLIB_2_3_or_later
+ 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.
@@ -54,15 +54,15 @@ config CC_NEWLIB_SHOW_LINARO
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
@@ -70,6 +70,15 @@ choice
prompt "newlib version"
# Don't remove next line
# CT_INSERT_VERSION_BELOW
+config LIBC_NEWLIB_V_2_5_0
+ bool
+ prompt "2.5.0"
+ 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
@@ -123,6 +132,14 @@ 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
@@ -139,6 +156,14 @@ 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
@@ -162,6 +187,8 @@ config LIBC_VERSION
string
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
+ default "2.5.0" 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
@@ -189,5 +216,5 @@ config LIBC_NEWLIB_TARGET_CFLAGS
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.
diff --git a/config/libc/newlib.in.2 b/config/libc/newlib.in.2
index 48e5503..927cce8 100644
--- a/config/libc/newlib.in.2
+++ b/config/libc/newlib.in.2
@@ -26,6 +26,41 @@ config LIBC_NEWLIB_IO_LDBL
help
Enable support for IOs on long doubles.
+config LIBC_NEWLIB_IO_POS_ARGS
+ bool
+ prompt "Enable printf-family positional arg support"
+ help
+ Enable printf-family positional arg support.
+
+config LIBC_NEWLIB_FVWRITE_IN_STREAMIO
+ bool
+ prompt "Vector buffer mechanism to support stream IO buffering"
+ default y
+ help
+ NEWLIB implements the vector buffer mechanism to support stream IO
+ buffering required by C standard. This feature is possibly
+ unnecessary for embedded systems which won't change file buffering
+ with functions like `setbuf' or `setvbuf'. The buffering mechanism
+ still acts as default for STDIN/STDOUT/STDERR even if this option
+ is specified.
+
+config LIBC_NEWLIB_UNBUF_STREAM_OPT
+ bool
+ prompt "Optimize fprintf to unbuffered unix file"
+ default y
+ help
+ NEWLIB does optimization when `fprintf to write only unbuffered unix
+ file'. It creates a temorary buffer to do the optimization that
+ increases stack consumption by about `BUFSIZ' bytes. Disabling this option
+ disables the optimization and saves size of text and stack.
+
+config LIBC_NEWLIB_FSEEK_OPTIMIZATION
+ bool
+ prompt "Fseek optimisation"
+ default y
+ help
+ Disabling fseek optimisation can decrease code size.
+
config LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS
bool
prompt "Disable the syscalls supplied with newlib"
@@ -35,15 +70,82 @@ config LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS
_write... If you plan to port newlib to a new
platform/board, say Yes.
+config LIBC_NEWLIB_REGISTER_FINI
+ bool
+ prompt "Enable finalization function registration using atexit"
+ help
+ Enable finalization function registration using atexit.
+
+config LIBC_NEWLIB_ATEXIT_DYNAMIC_ALLOC
+ bool
+ prompt "Enable dynamic allocation of atexit entries"
+ default y
+ help
+ Enable dynamic allocation of atexit entries.
+
+config LIBC_NEWLIB_GLOBAL_ATEXIT
+ bool
+ prompt "Enable atexit data structure as global variable"
+ help
+ Enable atexit data structure as global variable. By doing so it is
+ move out of _reent structure, and can be garbage collected if atexit
+ is not referenced.
+
+config LIBC_NEWLIB_LITE_EXIT
+ bool
+ prompt "Enable lite exit"
+ help
+ Enable lite exit, a size-reduced implementation of exit that doesn't
+ invoke clean-up functions such as _fini or global destructors.
+
+config LIBC_NEWLIB_REENT_SMALL
+ bool
+ prompt "Enable small reentrant struct support"
+ help
+ Enable small reentrant struct support.
+
+config LIBC_NEWLIB_MULTITHREAD
+ bool
+ prompt "Enable support for multiple threads"
+ default y
+ help
+ Enable support for multiple threads.
+
+config LIBC_NEWLIB_EXTRA_SECTIONS
+ bool
+ prompt "Place each function & data element in their own section"
+ help
+ Place each function & data symbol in their own section. This allows
+ the linker to garbage collect unused symbols at link time.
+
+config LIBC_NEWLIB_WIDE_ORIENT
+ bool
+ prompt "Allow wide C99 stream orientation"
+ default y
+ help
+ C99 states that each stream has an orientation, wide or byte. This
+ feature is possibly unnecessary for embedded systems which only do
+ byte input/output operations on stream. Disabling this feature can
+ decrease code size.
+
config LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE
bool
prompt "Optimize newlib for size"
default y
help
Pass --enable-target-optspace to newlib configure.
-
+
This will compile newlib with -Os.
+config LIBC_NEWLIB_LTO
+ bool
+ prompt "Enable Link Time Optimization"
+ help
+ Builds the libraries with -flto to enable more aggressive link time
+ optimization. You will need to add -flto-partition=one to your
+ application's link line to keep the RETURN assembler macro together
+ with it's consumers.
+
config LIBC_NEWLIB_NANO_MALLOC
bool
prompt "Enable Nano Malloc"
diff --git a/config/libc/uClibc.in b/config/libc/uClibc.in
index c6b8576..43457c5 100644
--- a/config/libc/uClibc.in
+++ b/config/libc/uClibc.in
@@ -81,9 +81,15 @@ choice
# Don't remove next line
# CT_INSERT_VERSION_BELOW
+config LIBC_UCLIBC_NG_V_1_0_21
+ bool
+ prompt "1.0.21"
+ select LIBC_UCLIBC_NG_1_0_15_or_later
+
config LIBC_UCLIBC_NG_V_1_0_20
bool
prompt "1.0.20"
+ depends on OBSOLETE
select LIBC_UCLIBC_NG_1_0_15_or_later
config LIBC_UCLIBC_V_0_9_33_2
@@ -97,6 +103,7 @@ config LIBC_VERSION
string
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
+ default "1.0.21" if LIBC_UCLIBC_NG_V_1_0_21
default "1.0.20" if LIBC_UCLIBC_NG_V_1_0_20
default "0.9.33.2" if LIBC_UCLIBC_V_0_9_33_2