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