1.1 --- a/config/global.in Thu Apr 17 18:07:26 2008 +0000
1.2 +++ b/config/global.in Thu Apr 17 20:02:07 2008 +0000
1.3 @@ -1,506 +1,11 @@
1.4 # Overall toolchain configuration: paths, jobs, etc...
1.5
1.6 -# Ah, this option is here to break the dependency tracking, and allow
1.7 -# dependent option to line-up with the options they depend on ,rather
1.8 -# than being indented
1.9 -# Use it to intersperse two config options depending one on the other,
1.10 -# but don't want the second to be indented (for example because you have
1.11 -# a comment between the two to separate them). See DOWNLOAD and EXTRACT
1.12 -# options to see how it is used.
1.13 -config FOOBAR
1.14 - bool
1.15 - default n
1.16 -
1.17 menu "Paths and misc options"
1.18
1.19 -comment "crosstool-NG behavior"
1.20 -
1.21 -config OBSOLETE
1.22 - bool
1.23 - prompt "Use obsolete features"
1.24 - default n
1.25 - help
1.26 - If you set this to Y, you will be able to select obsolete features.
1.27 -
1.28 - Such obsolete features are the use of old kernel headers, old
1.29 - gcc versions, etc...
1.30 -
1.31 -config EXPERIMENTAL
1.32 - bool
1.33 - prompt "Try features marked as EXPERIMENTAL"
1.34 - default n
1.35 - help
1.36 - If you set this to Y, then you will be able to try very experimental
1.37 - features.
1.38 -
1.39 - Experimental features can be one of:
1.40 - - working, in which case you should tell me it is!
1.41 - - buggy, in which case you could try patching and send me the result
1.42 - - unfinished, in which case you could try hacking it and send me the result
1.43 - - non-existant, in which case you could also try hacking it in and send me
1.44 - the result
1.45 -
1.46 -config BROKEN
1.47 - bool
1.48 - prompt "Try broken stuff"
1.49 - default n
1.50 - depends on EXPERIMENTAL
1.51 - help
1.52 - Select this if you want to _debug_ broken stuff.
1.53 -
1.54 -config DEBUG_CT
1.55 - bool
1.56 - prompt "Debug crosstool-NG"
1.57 - default n
1.58 - help
1.59 - Say 'y' here to get some debugging options
1.60 -
1.61 -if DEBUG_CT
1.62 -
1.63 -config DEBUG_CT_PAUSE_STEPS
1.64 - bool
1.65 - prompt "Pause between every steps"
1.66 - default n
1.67 - help
1.68 - Say 'y' if you intend to attend the build, and want to investigate
1.69 - the result of each steps before running the next one.
1.70 -
1.71 -config DEBUG_CT_SAVE_STEPS
1.72 - bool
1.73 - prompt "Save intermediate steps"
1.74 - default n
1.75 - help
1.76 - If you say 'y' here, then you will be able to restart crosstool-NG at
1.77 - any step.
1.78 -
1.79 - It is not currently possible to rstart at any of the debug facility.
1.80 - They are treated as a whole.
1.81 -
1.82 - See docs/overview.txt for the list of steps.
1.83 -
1.84 -config DEBUG_CT_SAVE_STEPS_GZIP
1.85 - bool
1.86 - prompt "gzip saved states"
1.87 - default y
1.88 - depends on DEBUG_CT_SAVE_STEPS
1.89 - help
1.90 - If you are tight on space, then you can ask to gzip the saved states
1.91 - tarballs. On the other hand, this takes some longer time...
1.92 -
1.93 - To lose as less time as possible, the gzip process is done with a low
1.94 - compression ratio (-3), which gives roughly 70% gain in size. Going
1.95 - further doesn't gain much, and takes far more time (believe me, I've
1.96 - got figures here! :-) ).
1.97 -
1.98 -endif
1.99 -
1.100 -comment "Build behavior"
1.101 -
1.102 -config PARALLEL_JOBS
1.103 - int
1.104 - prompt "Number of parallel jobs"
1.105 - default 1
1.106 - help
1.107 - Number of jobs make will be allowed to run concurently.
1.108 - Set this higher than the number of processors you have, but not too high.
1.109 - A good rule of thumb is twice the number of processors you have.
1.110 -
1.111 - Enter 1 (or 0) to have only one job at a time.
1.112 -
1.113 -config LOAD
1.114 - int
1.115 - prompt "Maximum allowed load"
1.116 - default 0
1.117 - help
1.118 - Specifies that no new jobs should be started if there are others jobs
1.119 - running and the load average is at least this value.
1.120 -
1.121 - Makes sense on SMP machines only.
1.122 -
1.123 - Enter 0 to have no limit on the load average.
1.124 -
1.125 - Note: only the integer part of the load is allowed here (you can't enter
1.126 - 0.75 for example).
1.127 -
1.128 -config NICE
1.129 - int
1.130 - prompt "Nice level"
1.131 - default 0
1.132 - range 0 19
1.133 - help
1.134 - Renices the build process up.
1.135 -
1.136 -config USE_PIPES
1.137 - bool
1.138 - prompt "Use -pipe"
1.139 - default y
1.140 - help
1.141 - Use gcc's option -pipe to use pipes rather than temp files when building
1.142 - the toolchain.
1.143 -
1.144 -comment "Paths"
1.145 -
1.146 -config LOCAL_TARBALLS_DIR
1.147 - string
1.148 - prompt "Local tarballs directory"
1.149 - default ""
1.150 - help
1.151 - If you have previously downloaded the tarballs, enter the PATH where
1.152 - you stored them here.
1.153 -
1.154 -config SAVE_TARBALLS
1.155 - bool
1.156 - prompt "Save new tarballs"
1.157 - default n
1.158 - depends on LOCAL_TARBALLS_DIR != ""
1.159 - help
1.160 - If you say 'y' here, new downloaded tarballs will be saved in the
1.161 - directory you entered above.
1.162 -
1.163 -config PREFIX_DIR
1.164 - string
1.165 - prompt "Prefix directory"
1.166 - default "${HOME}/${CT_TARGET}"
1.167 - help
1.168 - This is the path the toolchain will run from.
1.169 -
1.170 -config INSTALL_DIR
1.171 - string
1.172 -# prompt "Install directory"
1.173 - default "${CT_PREFIX_DIR}"
1.174 -# help
1.175 -# This is the path the target will be installed into.
1.176 -#
1.177 -# Normally, you would set this to ${CT_PREFIX_DIR}, but if for some reasons
1.178 -# you can't write there, you can install somewhere else and have a third
1.179 -# person do the install for you.
1.180 -# The reason you might also want to install elsewhere is if you are going
1.181 -# to package your shinny new toolchain for distribution.
1.182 -
1.183 -config CUSTOM_PATCH
1.184 - bool
1.185 - prompt "Use custom patch directory"
1.186 - default n
1.187 - help
1.188 - If you have custom patches that you want to be applied, say 'Y' here and
1.189 - enter the path directory below.
1.190 -
1.191 - Note that you must ensure that the patch directory is arranged the same
1.192 - way the official directory is.
1.193 -
1.194 -config CUSTOM_PATCH_ONLY
1.195 - bool
1.196 - prompt "Only use custom patches"
1.197 - default n
1.198 - depends on CUSTOM_PATCH
1.199 - help
1.200 - Don't apply patches coming with crosstool-NG, only those patches available
1.201 - in the directory below.
1.202 -
1.203 - If you say 'N' here, then the patches provided with crosstool-NG will be
1.204 - applied first, and then your patches.
1.205 -
1.206 -config CUSTOM_PATCH_DIR
1.207 - string
1.208 - prompt "Custom patch directory"
1.209 - default ""
1.210 - depends on CUSTOM_PATCH
1.211 - help
1.212 - Enter the custom patch directory here.
1.213 -
1.214 -config REMOVE_DOCS
1.215 - bool
1.216 - prompt "Remove documentation"
1.217 - default n
1.218 - help
1.219 - Remove the installed documentation (man and info pages).
1.220 - Gains around 8MiB for a uClibc-based, C and C++ compiler.
1.221 -
1.222 -config INSTALL_DIR_RO
1.223 - bool
1.224 - prompt "Render the toolchain read-only"
1.225 - default n
1.226 - help
1.227 - Render the directory of the toolchain (and its sub-directories)
1.228 - read-only.
1.229 -
1.230 - Usefull for toolchains destined for production.
1.231 -
1.232 -comment "Downloading"
1.233 -
1.234 -config FORCE_DOWNLOAD
1.235 - bool
1.236 - prompt "Force downloads"
1.237 - default n
1.238 - help
1.239 - Force downloading tarballs, even if one already exists.
1.240 -
1.241 - Usefull if you suspect a tarball to be damaged.
1.242 -
1.243 -config ONLY_DOWNLOAD
1.244 - bool
1.245 - prompt "Stop after downloading tarballs"
1.246 - default n
1.247 - help
1.248 - Only download the tarballs. Exit once it done.
1.249 -
1.250 - Usefull to pre-retrieve the tarballs before going off-line.
1.251 -
1.252 -choice
1.253 - bool
1.254 - prompt "Proxy type"
1.255 - default USE_NO_PROXY
1.256 -
1.257 -config PROXY_TYPE_NONE
1.258 - bool
1.259 - prompt "No proxy"
1.260 - help
1.261 - Select this option if you have a direct connection to the internet,
1.262 - or if you already set the environment adequately.
1.263 -
1.264 -config PROXY_TYPE_HTTP
1.265 - bool
1.266 - prompt "HTTP proxy"
1.267 - help
1.268 - Use an HTTP proxy to connect to to the internet.
1.269 - Only the http and ftp protocols will be tunneled through this
1.270 - proxy.
1.271 -
1.272 - Alternatively to setting this option, you can set and export the
1.273 - following variables in your environment:
1.274 - ftp_proxy=http://user:passwd@proxy.server:port/
1.275 - http_proxy=http://user:passwd@proxy.server:port/
1.276 - https_proxy=http://user:passwd@proxy.server:port/
1.277 -
1.278 -# Haha! Here is an interesting feature/bug of mconf!
1.279 -# The following config entries will be shown out-side the
1.280 -# choice menu!
1.281 -# To add a third entry in the choice menu, add it after the
1.282 -# if...endif conditional below, and so on for a fourth entry...
1.283 -if PROXY_TYPE_HTTP
1.284 -
1.285 -config PROXY_HOST
1.286 - string
1.287 - prompt "hostname/IP"
1.288 -
1.289 -config PROXY_PORT
1.290 - int
1.291 - prompt "port"
1.292 - default 0
1.293 -
1.294 -config PROXY_USER
1.295 - string
1.296 - prompt "user name"
1.297 -
1.298 -config PROXY_PASS
1.299 - string
1.300 - prompt "password"
1.301 -
1.302 -endif # USE_HTTP_PROXY
1.303 -
1.304 -config PROXY_TYPE_SOCKS
1.305 - bool
1.306 - prompt "SOCKS 4/5 proxy"
1.307 - help
1.308 - Use a Socks 4/5 proxy to connect to the internet.
1.309 - All protocols can get tunneled through this kind of proxy (depending
1.310 - on your proxy configuration, so;e do not allow all protocols, but
1.311 - chances are that protocols needed by crosstool-NG are allowed).
1.312 -
1.313 - Alternatively to setting this option, you can set and export the
1.314 - following variable in your environment:
1.315 - LD_PRELOAD=/path/to/your/tsocks-library.so
1.316 -
1.317 - In any case, wether you set this option or you export the aforementionned
1.318 - variable, you will _have_ to configure the /etc/tsocks.conf file
1.319 - accordingly to your network setup.
1.320 -
1.321 - This option makes use of the tsocks library. You will have to have tsocks
1.322 - installed on your system, of course.
1.323 -
1.324 - If you think you do not know what tsocks is, or how to configure it,
1.325 - chances are that you do not need to set this option.
1.326 -
1.327 -if PROXY_TYPE_SOCKS
1.328 -
1.329 -choice
1.330 - bool
1.331 - prompt "type"
1.332 - default PROXY_TYPE_SOCKS_5
1.333 -
1.334 -config PROXY_TYPE_SOCKS_5
1.335 - bool
1.336 - prompt "SOCKS 5"
1.337 -
1.338 -config PROXY_TYPE_SOCKS_4
1.339 - bool
1.340 - prompt "SOCKS 4"
1.341 -
1.342 -endchoice
1.343 -
1.344 -config PROXY_HOST
1.345 - string
1.346 - prompt "hostname/IP"
1.347 -
1.348 -config PROXY_PORT
1.349 - int
1.350 - prompt "port"
1.351 - default 0
1.352 -
1.353 -config PROXY_USER
1.354 - string
1.355 - prompt "user name"
1.356 -
1.357 -config PROXY_PASS
1.358 - string
1.359 - prompt "password"
1.360 -
1.361 -endif # USE_SOCKS_PROXY
1.362 -
1.363 -endchoice
1.364 -
1.365 -config PROXY_TYPE
1.366 - string
1.367 - default "none" if PROXY_TYPE_NONE
1.368 - default "HTTP" if PROXY_TYPE_HTTP
1.369 - default "socks5" if PROXY_TYPE_SOCKS_5
1.370 - default "socks4" if PROXY_TYPE_SOCKS_4
1.371 -
1.372 -# Force restore indentation
1.373 -config FOOBAR
1.374 -
1.375 -if ! ONLY_DOWNLOAD
1.376 -
1.377 -comment "Extracting"
1.378 -
1.379 -config FORCE_EXTRACT
1.380 - bool
1.381 - prompt "Force extractions"
1.382 - default n
1.383 - help
1.384 - Force extraction of already exctracted tarballs.
1.385 -
1.386 - Usefull if you suspect a previous extract did not complete (eg. broken
1.387 - tarball), or you added a new set of patches for this component.
1.388 -
1.389 -config ONLY_EXTRACT
1.390 - bool
1.391 - prompt "Stop after extracting tarballs"
1.392 - default n
1.393 - help
1.394 - Exit after unpacking and patching tarballs.
1.395 -
1.396 - Usefull to look at the code before doing the build itself.
1.397 -
1.398 -endif # ! ONLY_DOWNLOAD
1.399 -
1.400 -comment "Logging"
1.401 -
1.402 -choice
1.403 - bool
1.404 - prompt "Maximum log level to see:"
1.405 - default LOG_INFO if !DEBUG_CT
1.406 - default LOG_DEBUG if DEBUG_CT
1.407 -
1.408 -config LOG_ERROR
1.409 - bool
1.410 - prompt "ERROR"
1.411 - help
1.412 - The build will be silent.
1.413 - Only if there is an error will you see a message.
1.414 -
1.415 -config LOG_WARN
1.416 - bool
1.417 - prompt "WARN"
1.418 - help
1.419 - The same as above, plus warnings.
1.420 -
1.421 -config LOG_INFO
1.422 - bool
1.423 - prompt "INFO"
1.424 - help
1.425 - The same as above, plus informational messages (main steps).
1.426 -
1.427 -config LOG_EXTRA
1.428 - bool
1.429 - prompt "EXTRA"
1.430 - help
1.431 - The same as above, plus extra messages (sub-steps).
1.432 -
1.433 -config LOG_DEBUG
1.434 - bool
1.435 - prompt "DEBUG"
1.436 - help
1.437 - The same as above, plus lots of crosstool-NG debug information.
1.438 -
1.439 -config LOG_ALL
1.440 - bool
1.441 - prompt "ALL"
1.442 - help
1.443 - The same as above, plus all components build messages (very noisy!).
1.444 -
1.445 -endchoice
1.446 -
1.447 -config LOG_LEVEL_MAX
1.448 - string
1.449 - default "ERROR" if LOG_ERROR
1.450 - default "WARN" if LOG_WARN
1.451 - default "INFO" if LOG_INFO
1.452 - default "EXTRA" if LOG_EXTRA
1.453 - default "DEBUG" if LOG_DEBUG
1.454 - default "ALL" if LOG_ALL
1.455 -
1.456 -config LOG_SEE_TOOLS_WARN
1.457 - bool
1.458 - prompt "Warnings from the tools' builds"
1.459 - default n
1.460 - depends on ! LOG_ERROR
1.461 - help
1.462 - Treat warnings from the different tools as crosstool-NG warnings.
1.463 - If you say 'y' here, then those warnings will be prefixed with
1.464 - '[WARN ]' instead of the default '[ALL ]'.
1.465 -
1.466 - You can safely say 'n' here. Those warnings will anyway be
1.467 - recorded in the log file (provided you configured one).
1.468 -
1.469 - Tools error will always be logged as crosstool-NG errors.
1.470 -
1.471 -config LOG_PROGRESS_BAR
1.472 - bool
1.473 - prompt "Progress bar"
1.474 - default y
1.475 - depends on ! LOG_ALL
1.476 - help
1.477 - If you say 'y' here, you'll be able to see the elapsed time.
1.478 -
1.479 - As a bonus, you'll also get a rotating bar (/-\|) showing you
1.480 - that the build is not stalled (the bar rotates 1/4 every 10 lines
1.481 - of components build log).
1.482 -
1.483 - Note that the elapsed time can stall for a little while if a
1.484 - component has long commands, as the elapsed time is only updated
1.485 - each line.
1.486 -
1.487 -config LOG_TO_FILE
1.488 - bool
1.489 - prompt "Log to a file"
1.490 - default y
1.491 - help
1.492 - Save *full* logs to a file. Even log levels you didn't specify above
1.493 - will be available in this file. The log file will be named build.log
1.494 - and stored in the toolchain prefix dir (set above).
1.495 -
1.496 - As a bonus, there is a script in tools/extractConfig.sh that is able
1.497 - to extract the configuration of crosstool-NG from the log file.
1.498 -
1.499 - Definitely, say Y.
1.500 -
1.501 -config LOG_FILE_COMPRESS
1.502 - bool
1.503 - prompt "Compress the log file"
1.504 - default n
1.505 - depends on LOG_TO_FILE
1.506 - help
1.507 - Compress the log file once the toolchain is successfully built.
1.508 +source "config/ct-behave.in"
1.509 +source "config/download_extract.in"
1.510 +source "config/build-behave.in"
1.511 +source "config/paths.in"
1.512 +source "config/logging.in"
1.513
1.514 endmenu