1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
|
# 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_3_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_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"
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_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_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.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
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.
|