yann@1
|
1 |
# Overall toolchain configuration: paths, jobs, etc...
|
yann@1
|
2 |
|
yann@121
|
3 |
# Ah, this option is here to break the dependency tracking, and allow
|
yann@121
|
4 |
# dependent option to line-up with the options they depend on ,rather
|
yann@121
|
5 |
# than being indented
|
yann@121
|
6 |
config FOOBAR
|
yann@121
|
7 |
bool
|
yann@121
|
8 |
default n
|
yann@121
|
9 |
|
yann@1
|
10 |
menu "Paths and misc options"
|
yann@1
|
11 |
|
yann@121
|
12 |
comment "Crosstool behavior"
|
yann@121
|
13 |
|
yann@41
|
14 |
config EXPERIMENTAL
|
yann@41
|
15 |
bool
|
yann@41
|
16 |
prompt "Try features marked as EXPERIMENTAL"
|
yann@41
|
17 |
default n
|
yann@41
|
18 |
help
|
yann@41
|
19 |
If you set this to Y, then you will be able to try very experimental
|
yann@41
|
20 |
features.
|
yann@41
|
21 |
|
yann@41
|
22 |
Experimental features can be one of:
|
yann@41
|
23 |
- working, in which case you should tell me it is!
|
yann@41
|
24 |
- buggy, in which case you could try patching and send me the result
|
yann@41
|
25 |
- unfinished, in which case you could try hacking it and send me the result
|
yann@41
|
26 |
- non-existant, in which case you could also try hacking it in and send the result
|
yann@41
|
27 |
|
yann@61
|
28 |
config OBSOLETE
|
yann@61
|
29 |
bool
|
yann@61
|
30 |
prompt "Use obsolete features"
|
yann@61
|
31 |
default n
|
yann@61
|
32 |
help
|
yann@61
|
33 |
If you set this to Y, you will be able to select obsolete features.
|
yann@61
|
34 |
|
yann@61
|
35 |
Such obsolete features are the use of old kernel headers, old
|
yann@61
|
36 |
gcc versions, etc...
|
yann@61
|
37 |
|
yann@121
|
38 |
config DEBUG_CT
|
yann@121
|
39 |
bool
|
yann@121
|
40 |
prompt "Debug crosstool-NG"
|
yann@121
|
41 |
default n
|
yann@121
|
42 |
help
|
yann@121
|
43 |
Say 'y' here to get some debugging options
|
yann@121
|
44 |
|
yann@121
|
45 |
if DEBUG_CT
|
yann@121
|
46 |
|
yann@121
|
47 |
config DEBUG_CT_PAUSE_STEPS
|
yann@121
|
48 |
bool
|
yann@121
|
49 |
prompt "Pause between every steps"
|
yann@121
|
50 |
default n
|
yann@121
|
51 |
help
|
yann@121
|
52 |
Say 'y' if you intend to attend the build, and want to investigate
|
yann@121
|
53 |
the result of each steps before running the next one.
|
yann@121
|
54 |
|
yann@121
|
55 |
config DEBUG_CT_SAVE_STEPS
|
yann@121
|
56 |
bool
|
yann@121
|
57 |
prompt "Save intermediate steps"
|
yann@121
|
58 |
default n
|
yann@121
|
59 |
help
|
yann@121
|
60 |
If you say 'y' here, then you will be able to restart crosstool-NG at
|
yann@121
|
61 |
any step by typing:
|
yann@121
|
62 |
make RESTART=<step_nane>
|
yann@121
|
63 |
|
yann@121
|
64 |
where step_name is one of:
|
yann@121
|
65 |
- kernel_hdr
|
yann@121
|
66 |
- binutils
|
yann@121
|
67 |
- libc_hdr
|
yann@121
|
68 |
- cc_core
|
yann@121
|
69 |
- libfloat
|
yann@121
|
70 |
- libc
|
yann@121
|
71 |
- cc
|
yann@121
|
72 |
- libc_fin
|
yann@121
|
73 |
- debug
|
yann@121
|
74 |
|
yann@121
|
75 |
It is not currently possible to rstart at any of the debug facility.
|
yann@121
|
76 |
They are treated a s a whole.
|
yann@121
|
77 |
|
yann@121
|
78 |
config DEBUG_CT_SAVE_STEPS_GZIP
|
yann@121
|
79 |
bool
|
yann@121
|
80 |
prompt "gzip saved states"
|
yann@121
|
81 |
default y
|
yann@121
|
82 |
depends on DEBUG_CT_SAVE_STEPS
|
yann@121
|
83 |
help
|
yann@121
|
84 |
If you are tight on space, then you can ask to gzip the saved states
|
yann@121
|
85 |
tarballs. On the other hand, this takes some longer time...
|
yann@121
|
86 |
|
yann@121
|
87 |
To lose as less time as possible, the gzip process is done with a low
|
yann@121
|
88 |
compression ratio (-3), which gives roughly 70% gain in size. Going
|
yann@121
|
89 |
further doesn't gain much, and takes far more time (believe me, I've
|
yann@121
|
90 |
got figures here! :-) ).
|
yann@121
|
91 |
|
yann@121
|
92 |
endif
|
yann@121
|
93 |
|
yann@121
|
94 |
comment "Build behavior"
|
yann@121
|
95 |
|
yann@1
|
96 |
config PARALLEL_JOBS
|
yann@1
|
97 |
int
|
yann@1
|
98 |
prompt "Number of parallel jobs"
|
yann@1
|
99 |
default 1
|
yann@1
|
100 |
help
|
yann@1
|
101 |
Number of jobs make will be allowed to run concurently.
|
yann@1
|
102 |
Set this higher than the number of processors you have, but not too high.
|
yann@1
|
103 |
A good rule of thumb is twice the number of processors you have.
|
yann@1
|
104 |
|
yann@1
|
105 |
Enter 1 (or 0) to have only one job at a time.
|
yann@1
|
106 |
|
yann@1
|
107 |
config LOAD
|
yann@1
|
108 |
int
|
yann@1
|
109 |
prompt "Maximum allowed load"
|
yann@1
|
110 |
default 0
|
yann@1
|
111 |
help
|
yann@1
|
112 |
Specifies that no new jobs should be started if there are others jobs
|
yann@1
|
113 |
running and the load average is at least this value.
|
yann@1
|
114 |
|
yann@1
|
115 |
Makes sense on SMP machines only.
|
yann@1
|
116 |
|
yann@1
|
117 |
Enter 0 to have no limit on the load average.
|
yann@1
|
118 |
|
yann@1
|
119 |
Note: only the integer part of the load is allowed here (you can't enter
|
yann@1
|
120 |
0.75 for example).
|
yann@1
|
121 |
|
yann@1
|
122 |
config NICE
|
yann@1
|
123 |
int
|
yann@1
|
124 |
prompt "Nice level"
|
yann@1
|
125 |
default 0
|
yann@1
|
126 |
range 0 19
|
yann@1
|
127 |
help
|
yann@1
|
128 |
Renices the build process up.
|
yann@1
|
129 |
|
yann@1
|
130 |
config USE_PIPES
|
yann@1
|
131 |
bool
|
yann@1
|
132 |
prompt "Use -pipe"
|
yann@1
|
133 |
default y
|
yann@1
|
134 |
help
|
yann@1
|
135 |
Use gcc's option -pipe to use pipes rather than temp files when building
|
yann@1
|
136 |
the toolchain.
|
yann@1
|
137 |
|
yann@1
|
138 |
comment "Paths"
|
yann@1
|
139 |
|
yann@85
|
140 |
config LOCAL_TARBALLS_DIR
|
yann@1
|
141 |
string
|
yann@85
|
142 |
prompt "Local tarballs directory"
|
yann@85
|
143 |
default ""
|
yann@1
|
144 |
help
|
yann@85
|
145 |
If you have previously downloaded the tarballs, enter the PATH where
|
yann@85
|
146 |
you stored them here.
|
yann@31
|
147 |
|
yann@1
|
148 |
config PREFIX_DIR
|
yann@1
|
149 |
string
|
yann@1
|
150 |
prompt "Prefix directory"
|
yann@1
|
151 |
default "${HOME}/${CT_TARGET}"
|
yann@1
|
152 |
help
|
yann@1
|
153 |
This is the path the toolchain will run from.
|
yann@1
|
154 |
|
yann@1
|
155 |
config INSTALL_DIR
|
yann@1
|
156 |
string
|
yann@1
|
157 |
# prompt "Install directory"
|
yann@1
|
158 |
default "${CT_PREFIX_DIR}"
|
yann@1
|
159 |
# help
|
yann@1
|
160 |
# This is the path the target will be installed into.
|
yann@1
|
161 |
#
|
yann@1
|
162 |
# Normally, you would set this to ${CT_PREFIX_DIR}, but if for some reasons
|
yann@1
|
163 |
# you can't write there, you can install somewhere else and have a third
|
yann@1
|
164 |
# person do the install for you.
|
yann@1
|
165 |
# The reason you might also want to install elsewhere is if you are going
|
yann@1
|
166 |
# to package your shinny new toolchain for distribution.
|
yann@1
|
167 |
|
yann@1
|
168 |
config CUSTOM_PATCH
|
yann@1
|
169 |
bool
|
yann@1
|
170 |
prompt "Use custom patch directory"
|
yann@1
|
171 |
default n
|
yann@1
|
172 |
help
|
yann@1
|
173 |
If you have custom patches that you want to be applied, say 'Y' here and
|
yann@1
|
174 |
enter the path directory below.
|
yann@1
|
175 |
|
yann@1
|
176 |
Note that you must ensure that the patch directory is arranged the same
|
yann@1
|
177 |
way the official directory is.
|
yann@1
|
178 |
|
yann@1
|
179 |
config CUSTOM_PATCH_ONLY
|
yann@1
|
180 |
bool
|
yann@1
|
181 |
prompt "Only use custom patches"
|
yann@1
|
182 |
default n
|
yann@1
|
183 |
depends on CUSTOM_PATCH
|
yann@1
|
184 |
help
|
yann@1
|
185 |
Don't apply patches coming with CT-NG, only those patches available in
|
yann@1
|
186 |
the directory below.
|
yann@1
|
187 |
|
yann@1
|
188 |
If you say 'N' here, then the patches provided with CT-NG will be applied
|
yann@1
|
189 |
first, and then your patches.
|
yann@1
|
190 |
|
yann@1
|
191 |
config CUSTOM_PATCH_DIR
|
yann@1
|
192 |
string
|
yann@1
|
193 |
prompt "Custom patch directory"
|
yann@1
|
194 |
default ""
|
yann@1
|
195 |
depends on CUSTOM_PATCH
|
yann@1
|
196 |
help
|
yann@1
|
197 |
Enter the custom patch directory here.
|
yann@1
|
198 |
|
yann@14
|
199 |
config REMOVE_DOCS
|
yann@14
|
200 |
bool
|
yann@14
|
201 |
prompt "Remove documentation"
|
yann@14
|
202 |
default n
|
yann@14
|
203 |
help
|
yann@14
|
204 |
Remove the installed documentation (man and info pages).
|
yann@14
|
205 |
Gains around 8MiB for a uClibc-based, C and C++ compiler.
|
yann@14
|
206 |
|
yann@63
|
207 |
comment "Downloading"
|
yann@1
|
208 |
|
yann@63
|
209 |
config FORCE_DOWNLOAD
|
yann@1
|
210 |
bool
|
yann@63
|
211 |
prompt "Force downloads"
|
yann@1
|
212 |
default n
|
yann@1
|
213 |
help
|
yann@63
|
214 |
Force downloading tarballs, even if one already exists.
|
yann@63
|
215 |
|
yann@63
|
216 |
Usefull if you suspect a tarball to be damaged.
|
yann@1
|
217 |
|
yann@1
|
218 |
config ONLY_DOWNLOAD
|
yann@1
|
219 |
bool
|
yann@63
|
220 |
prompt "Stop after downloading tarballs"
|
yann@1
|
221 |
default n
|
yann@1
|
222 |
help
|
yann@1
|
223 |
Only download the tarballs. Exit once it done.
|
yann@1
|
224 |
|
yann@1
|
225 |
Usefull to pre-retrieve the tarballs before going off-line.
|
yann@1
|
226 |
|
yann@121
|
227 |
config FOOBAR
|
yann@121
|
228 |
|
yann@63
|
229 |
comment "Extracting"
|
yann@63
|
230 |
depends on ! ONLY_DOWNLOAD
|
yann@1
|
231 |
|
yann@1
|
232 |
config FORCE_EXTRACT
|
yann@1
|
233 |
bool
|
yann@1
|
234 |
prompt "Force extractions"
|
yann@1
|
235 |
depends on ! ONLY_DOWNLOAD
|
yann@1
|
236 |
default n
|
yann@1
|
237 |
help
|
yann@1
|
238 |
Force extraction of already exctracted tarballs.
|
yann@1
|
239 |
|
yann@1
|
240 |
Usefull if you suspect a previous extract did not complete (eg. broken
|
yann@1
|
241 |
tarball), or you added a new set of patches for this component.
|
yann@1
|
242 |
|
yann@63
|
243 |
config ONLY_EXTRACT
|
yann@63
|
244 |
bool
|
yann@63
|
245 |
prompt "Stop after extracting tarballs"
|
yann@63
|
246 |
depends on ! ONLY_DOWNLOAD
|
yann@63
|
247 |
default n
|
yann@63
|
248 |
help
|
yann@63
|
249 |
Exit after unpacking and patching tarballs.
|
yann@63
|
250 |
|
yann@63
|
251 |
Usefull to look at the code before doing the build itself.
|
yann@63
|
252 |
|
yann@1
|
253 |
comment "Logging"
|
yann@1
|
254 |
|
yann@1
|
255 |
choice
|
yann@1
|
256 |
bool
|
yann@1
|
257 |
prompt "Maximum log level to see:"
|
yann@1
|
258 |
default LOG_INFO
|
yann@1
|
259 |
|
yann@1
|
260 |
config LOG_ERROR
|
yann@1
|
261 |
bool
|
yann@1
|
262 |
prompt "ERROR"
|
yann@1
|
263 |
help
|
yann@1
|
264 |
The build will be silent.
|
yann@1
|
265 |
Only if there is an error will you see a mesage.
|
yann@1
|
266 |
|
yann@1
|
267 |
config LOG_WARN
|
yann@1
|
268 |
bool
|
yann@1
|
269 |
prompt "WARN"
|
yann@1
|
270 |
help
|
yann@1
|
271 |
The same as above, plus warnings.
|
yann@1
|
272 |
|
yann@1
|
273 |
config LOG_INFO
|
yann@1
|
274 |
bool
|
yann@1
|
275 |
prompt "INFO"
|
yann@1
|
276 |
help
|
yann@1
|
277 |
The same as above, plus informational messages (main steps).
|
yann@1
|
278 |
|
yann@1
|
279 |
config LOG_EXTRA
|
yann@1
|
280 |
bool
|
yann@1
|
281 |
prompt "EXTRA"
|
yann@1
|
282 |
help
|
yann@1
|
283 |
The same as above, plus extra messages (sub-steps).
|
yann@1
|
284 |
|
yann@1
|
285 |
config LOG_DEBUG
|
yann@1
|
286 |
bool
|
yann@1
|
287 |
prompt "DEBUG"
|
yann@1
|
288 |
help
|
yann@78
|
289 |
The same as above, plus lots of crosstool-NG debug information.
|
yann@78
|
290 |
|
yann@78
|
291 |
config LOG_ALL
|
yann@78
|
292 |
bool
|
yann@78
|
293 |
prompt "ALL"
|
yann@78
|
294 |
help
|
yann@78
|
295 |
The same as above, plus all components build messages (very noisy!).
|
yann@1
|
296 |
|
yann@1
|
297 |
endchoice
|
yann@1
|
298 |
|
yann@1
|
299 |
config LOG_LEVEL_MAX
|
yann@1
|
300 |
string
|
yann@1
|
301 |
default "ERROR" if LOG_ERROR
|
yann@1
|
302 |
default "WARN" if LOG_WARN
|
yann@1
|
303 |
default "INFO" if LOG_INFO
|
yann@1
|
304 |
default "EXTRA" if LOG_EXTRA
|
yann@1
|
305 |
default "DEBUG" if LOG_DEBUG
|
yann@78
|
306 |
default "ALL" if LOG_ALL
|
yann@1
|
307 |
|
yann@47
|
308 |
config LOG_SEE_TOOLS_WARN
|
yann@47
|
309 |
bool
|
yann@108
|
310 |
prompt "Warnings from the tool builds as CT warnings"
|
yann@47
|
311 |
default n
|
yann@47
|
312 |
depends on ! LOG_ERROR
|
yann@47
|
313 |
help
|
yann@108
|
314 |
Treat warnings fron the different tools as crosstool warnings.
|
yann@108
|
315 |
If you say 'y' here, then those warnings will be prefixed with
|
yann@108
|
316 |
'[WARN ]' instead of the default '[ALL ]'.
|
yann@47
|
317 |
|
yann@108
|
318 |
You can safely say 'n' here. Those warnings will anyway be
|
yann@108
|
319 |
recorded in the log file (provided you configured one).
|
yann@47
|
320 |
|
yann@1
|
321 |
config LOG_PROGRESS_BAR
|
yann@1
|
322 |
bool
|
yann@1
|
323 |
prompt "Progress bar"
|
yann@1
|
324 |
default n
|
yann@78
|
325 |
depends on ! LOG_ALL
|
yann@1
|
326 |
help
|
yann@112
|
327 |
If you say 'y' here, you'll be able to see the elapsed time.
|
yann@1
|
328 |
|
yann@112
|
329 |
As a bonus, you'll also get a rotating bar (/-\|) showing you
|
yann@112
|
330 |
that the build is not stalled (the bar rotates 1/4 every 10 lines
|
yann@112
|
331 |
of components build log).
|
yann@112
|
332 |
|
yann@112
|
333 |
Note that the elapsed time can stall for a little while if a
|
yann@112
|
334 |
component has long commands, as the elapsed time is only updated
|
yann@112
|
335 |
each line.
|
yann@1
|
336 |
|
yann@1
|
337 |
config LOG_TO_FILE
|
yann@1
|
338 |
bool
|
yann@1
|
339 |
prompt "Log to a file"
|
yann@1
|
340 |
default y
|
yann@1
|
341 |
help
|
yann@1
|
342 |
Save *full* logs to a file. Even log levels you didn't specify above
|
yann@1
|
343 |
will be available in this file.
|
yann@1
|
344 |
|
yann@47
|
345 |
As a bonus, there is a script in tools/extractConfig.sh that is able
|
yann@47
|
346 |
to extract the configuration of crosstool-NG from the log file.
|
yann@47
|
347 |
|
yann@47
|
348 |
Definitely, say Y.
|
yann@47
|
349 |
|
yann@1
|
350 |
config LOG_FILE
|
yann@1
|
351 |
string
|
yann@1
|
352 |
prompt "Log file"
|
yann@1
|
353 |
default "${CT_PREFIX_DIR}/${CT_TARGET}.log"
|
yann@1
|
354 |
depends on LOG_TO_FILE
|
yann@1
|
355 |
help
|
yann@1
|
356 |
File name into which to put logs.
|
yann@1
|
357 |
|
yann@1
|
358 |
endmenu
|