Add an option to use a SOCKS 4/5 proxy to connect to the internet.
As for the HTTP proxy, this is completetly untested, as I have no such proxy at home.
scripts/crosstool.sh | 45 31 14 0 +++++++++++++++++--------
config/global.in | 95 81 14 0 +++++++++++++++++++++++++++++++++++++++++++--------
2 files changed, 112 insertions(+), 28 deletions(-)
1 # Overall toolchain configuration: paths, jobs, etc...
3 # Ah, this option is here to break the dependency tracking, and allow
4 # dependent option to line-up with the options they depend on ,rather
6 # Use it to intersperse two config options depending one on the other,
7 # but don't want the second to be indented (for example because you have
8 # a comment between the two to separate them). See DOWNLOAD and EXTRACT
9 # options to see how it is used.
14 menu "Paths and misc options"
16 comment "crosstool-NG behavior"
20 prompt "Use obsolete features"
23 If you set this to Y, you will be able to select obsolete features.
25 Such obsolete features are the use of old kernel headers, old
30 prompt "Try features marked as EXPERIMENTAL"
33 If you set this to Y, then you will be able to try very experimental
36 Experimental features can be one of:
37 - working, in which case you should tell me it is!
38 - buggy, in which case you could try patching and send me the result
39 - unfinished, in which case you could try hacking it and send me the result
40 - non-existant, in which case you could also try hacking it in and send me
45 prompt "Try broken stuff"
47 depends on EXPERIMENTAL
49 Select this if you want to _debug_ broken stuff.
53 prompt "Debug crosstool-NG"
56 Say 'y' here to get some debugging options
60 config DEBUG_CT_PAUSE_STEPS
62 prompt "Pause between every steps"
65 Say 'y' if you intend to attend the build, and want to investigate
66 the result of each steps before running the next one.
68 config DEBUG_CT_SAVE_STEPS
70 prompt "Save intermediate steps"
73 If you say 'y' here, then you will be able to restart crosstool-NG at
76 It is not currently possible to rstart at any of the debug facility.
77 They are treated as a whole.
79 See docs/overview.txt for the list of steps.
81 config DEBUG_CT_SAVE_STEPS_GZIP
83 prompt "gzip saved states"
85 depends on DEBUG_CT_SAVE_STEPS
87 If you are tight on space, then you can ask to gzip the saved states
88 tarballs. On the other hand, this takes some longer time...
90 To lose as less time as possible, the gzip process is done with a low
91 compression ratio (-3), which gives roughly 70% gain in size. Going
92 further doesn't gain much, and takes far more time (believe me, I've
93 got figures here! :-) ).
97 comment "Build behavior"
101 prompt "Number of parallel jobs"
104 Number of jobs make will be allowed to run concurently.
105 Set this higher than the number of processors you have, but not too high.
106 A good rule of thumb is twice the number of processors you have.
108 Enter 1 (or 0) to have only one job at a time.
112 prompt "Maximum allowed load"
115 Specifies that no new jobs should be started if there are others jobs
116 running and the load average is at least this value.
118 Makes sense on SMP machines only.
120 Enter 0 to have no limit on the load average.
122 Note: only the integer part of the load is allowed here (you can't enter
131 Renices the build process up.
138 Use gcc's option -pipe to use pipes rather than temp files when building
143 config LOCAL_TARBALLS_DIR
145 prompt "Local tarballs directory"
148 If you have previously downloaded the tarballs, enter the PATH where
149 you stored them here.
153 prompt "Save new tarballs"
155 depends on LOCAL_TARBALLS_DIR != ""
157 If you say 'y' here, new downloaded tarballs will be saved in the
158 directory you entered above.
162 prompt "Prefix directory"
163 default "${HOME}/${CT_TARGET}"
165 This is the path the toolchain will run from.
169 # prompt "Install directory"
170 default "${CT_PREFIX_DIR}"
172 # This is the path the target will be installed into.
174 # Normally, you would set this to ${CT_PREFIX_DIR}, but if for some reasons
175 # you can't write there, you can install somewhere else and have a third
176 # person do the install for you.
177 # The reason you might also want to install elsewhere is if you are going
178 # to package your shinny new toolchain for distribution.
182 prompt "Use custom patch directory"
185 If you have custom patches that you want to be applied, say 'Y' here and
186 enter the path directory below.
188 Note that you must ensure that the patch directory is arranged the same
189 way the official directory is.
191 config CUSTOM_PATCH_ONLY
193 prompt "Only use custom patches"
195 depends on CUSTOM_PATCH
197 Don't apply patches coming with crosstool-NG, only those patches available
198 in the directory below.
200 If you say 'N' here, then the patches provided with crosstool-NG will be
201 applied first, and then your patches.
203 config CUSTOM_PATCH_DIR
205 prompt "Custom patch directory"
207 depends on CUSTOM_PATCH
209 Enter the custom patch directory here.
213 prompt "Remove documentation"
216 Remove the installed documentation (man and info pages).
217 Gains around 8MiB for a uClibc-based, C and C++ compiler.
219 config INSTALL_DIR_RO
221 prompt "Render the toolchain read-only"
224 Render the directory of the toolchain (and its sub-directories)
227 Usefull for toolchains destined for production.
229 comment "Downloading"
231 config FORCE_DOWNLOAD
233 prompt "Force downloads"
236 Force downloading tarballs, even if one already exists.
238 Usefull if you suspect a tarball to be damaged.
242 prompt "Stop after downloading tarballs"
245 Only download the tarballs. Exit once it done.
247 Usefull to pre-retrieve the tarballs before going off-line.
254 config PROXY_TYPE_NONE
258 Select this option if you have a direct connection to the internet,
259 or if you already set the environment adequately.
261 config PROXY_TYPE_HTTP
265 Use an HTTP proxy to connect to to the internet.
266 Only the http and ftp protocols will be tunneled through this
269 Alternatively to setting this option, you can set and export the
270 following variables in your environment:
271 ftp_proxy=http://user:passwd@proxy.server:port/
272 http_proxy=http://user:passwd@proxy.server:port/
273 https_proxy=http://user:passwd@proxy.server:port/
275 # Haha! Here is an interesting feature/bug of mconf!
276 # The following config entries will be shown out-side the
278 # To add a third entry in the choice menu, add it after the
279 # if...endif conditional below, and so on for a fourth entry...
299 endif # USE_HTTP_PROXY
301 config PROXY_TYPE_SOCKS
303 prompt "SOCKS 4/5 proxy"
305 Use a Socks 4/5 proxy to connect to the internet.
306 All protocols can get tunneled through this kind of proxy (depending
307 on your proxy configuration, so;e do not allow all protocols, but
308 chances are that protocols needed by crosstool-NG are allowed).
310 Alternatively to setting this option, you can set and export the
311 following variable in your environment:
312 LD_PRELOAD=/path/to/your/tsocks-library.so
314 In any case, wether you set this option or you export the aforementionned
315 variable, you will _have_ to configure the /etc/tsocks.conf file
316 accordingly to your network setup.
318 This option makes use of the tsocks library. You will have to have tsocks
319 installed on your system, of course.
321 If you think you do not know what tsocks is, or how to configure it,
322 chances are that you do not need to set this option.
329 default PROXY_TYPE_SOCKS_5
331 config PROXY_TYPE_SOCKS_5
335 config PROXY_TYPE_SOCKS_4
358 endif # USE_SOCKS_PROXY
364 default "none" if PROXY_TYPE_NONE
365 default "HTTP" if PROXY_TYPE_HTTP
366 default "socks5" if PROXY_TYPE_SOCKS_5
367 default "socks4" if PROXY_TYPE_SOCKS_4
369 # Force restore indentation
378 prompt "Force extractions"
381 Force extraction of already exctracted tarballs.
383 Usefull if you suspect a previous extract did not complete (eg. broken
384 tarball), or you added a new set of patches for this component.
388 prompt "Stop after extracting tarballs"
391 Exit after unpacking and patching tarballs.
393 Usefull to look at the code before doing the build itself.
395 endif # ! ONLY_DOWNLOAD
401 prompt "Maximum log level to see:"
402 default LOG_INFO if !DEBUG_CT
403 default LOG_DEBUG if DEBUG_CT
409 The build will be silent.
410 Only if there is an error will you see a message.
416 The same as above, plus warnings.
422 The same as above, plus informational messages (main steps).
428 The same as above, plus extra messages (sub-steps).
434 The same as above, plus lots of crosstool-NG debug information.
440 The same as above, plus all components build messages (very noisy!).
446 default "ERROR" if LOG_ERROR
447 default "WARN" if LOG_WARN
448 default "INFO" if LOG_INFO
449 default "EXTRA" if LOG_EXTRA
450 default "DEBUG" if LOG_DEBUG
451 default "ALL" if LOG_ALL
453 config LOG_SEE_TOOLS_WARN
455 prompt "Warnings from the tools' builds"
457 depends on ! LOG_ERROR
459 Treat warnings from the different tools as crosstool-NG warnings.
460 If you say 'y' here, then those warnings will be prefixed with
461 '[WARN ]' instead of the default '[ALL ]'.
463 You can safely say 'n' here. Those warnings will anyway be
464 recorded in the log file (provided you configured one).
466 Tools error will always be logged as crosstool-NG errors.
468 config LOG_PROGRESS_BAR
470 prompt "Progress bar"
474 If you say 'y' here, you'll be able to see the elapsed time.
476 As a bonus, you'll also get a rotating bar (/-\|) showing you
477 that the build is not stalled (the bar rotates 1/4 every 10 lines
478 of components build log).
480 Note that the elapsed time can stall for a little while if a
481 component has long commands, as the elapsed time is only updated
486 prompt "Log to a file"
489 Save *full* logs to a file. Even log levels you didn't specify above
490 will be available in this file. The log file will be named build.log
491 and stored in the toolchain prefix dir (set above).
493 As a bonus, there is a script in tools/extractConfig.sh that is able
494 to extract the configuration of crosstool-NG from the log file.
498 config LOG_FILE_COMPRESS
500 prompt "Compress the log file"
502 depends on LOG_TO_FILE
504 Compress the log file once the toolchain is successfully built.