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