config/global.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jun 17 14:51:37 2007 +0000 (2007-06-17)
changeset 174 75f3f975e2ad
parent 173 8665ee5dcf8f
child 197 9383bf4a2e2e
permissions -rw-r--r--
The log file is no longer configurable: it is always "${CT_PREFIX_DIR}/build.log".
Add an option to compress the log file upon successfull build.
Make rendering the toolchain read-only optional.
A few eye-candy fixes.
     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-ng 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.
    62       
    63       It is not currently possible to rstart at any of the debug facility.
    64       They are treated as a whole.
    65 
    66       See docs/overview.txt for the list of steps.
    67 
    68 config DEBUG_CT_SAVE_STEPS_GZIP
    69     bool
    70     prompt "gzip saved states"
    71     default y
    72     depends on DEBUG_CT_SAVE_STEPS
    73     help
    74       If you are tight on space, then you can ask to gzip the saved states
    75       tarballs. On the other hand, this takes some longer time...
    76       
    77       To lose as less time as possible, the gzip process is done with a low
    78       compression ratio (-3), which gives roughly 70% gain in size. Going
    79       further doesn't gain much, and takes far more time (believe me, I've
    80       got figures here! :-) ).
    81 
    82 endif
    83 
    84 comment "Build behavior"
    85 
    86 config PARALLEL_JOBS
    87     int
    88     prompt "Number of parallel jobs"
    89     default 1
    90     help
    91       Number of jobs make will be allowed to run concurently.
    92       Set this higher than the number of processors you have, but not too high.
    93       A good rule of thumb is twice the number of processors you have.
    94       
    95       Enter 1 (or 0) to have only one job at a time.
    96 
    97 config LOAD
    98     int
    99     prompt "Maximum allowed load"
   100     default 0
   101     help
   102       Specifies that no new jobs should be started if there are others jobs
   103       running and the load average is at least this value.
   104       
   105       Makes sense on SMP machines only.
   106       
   107       Enter 0 to have no limit on the load average.
   108       
   109       Note: only the integer part of the load is allowed here (you can't enter
   110             0.75 for example).
   111 
   112 config NICE
   113     int
   114     prompt "Nice level"
   115     default 0
   116     range 0 19
   117     help
   118       Renices the build process up.
   119 
   120 config USE_PIPES
   121     bool
   122     prompt "Use -pipe"
   123     default y
   124     help
   125       Use gcc's option -pipe to use pipes rather than temp files when building
   126       the toolchain.
   127 
   128 comment "Paths"
   129 
   130 config LOCAL_TARBALLS_DIR
   131     string
   132     prompt "Local tarballs directory"
   133     default ""
   134     help
   135       If you have previously downloaded the tarballs, enter the PATH where
   136       you stored them here.
   137 
   138 config PREFIX_DIR
   139     string
   140     prompt "Prefix directory"
   141     default "${HOME}/${CT_TARGET}"
   142     help
   143       This is the path the toolchain will run from.
   144 
   145 config INSTALL_DIR
   146     string
   147 #    prompt "Install directory"
   148     default "${CT_PREFIX_DIR}"
   149 #    help
   150 #      This is the path the target will be installed into.
   151 #      
   152 #      Normally, you would set this to ${CT_PREFIX_DIR}, but if for some reasons
   153 #      you can't write there, you can install somewhere else and have a third
   154 #      person do the install for you.
   155 #      The reason you might also want to install elsewhere is if you are going
   156 #      to package your shinny new toolchain for distribution.
   157 
   158 config CUSTOM_PATCH
   159     bool
   160     prompt "Use custom patch directory"
   161     default n
   162     help
   163       If you have custom patches that you want to be applied, say 'Y' here and
   164       enter the path directory below.
   165       
   166       Note that you must ensure that the patch directory is arranged the same
   167       way the official directory is.
   168 
   169 config CUSTOM_PATCH_ONLY
   170     bool
   171     prompt "Only use custom patches"
   172     default n
   173     depends on CUSTOM_PATCH
   174     help
   175       Don't apply patches coming with CT-NG, only those patches available in
   176       the directory below.
   177       
   178       If you say 'N' here, then the patches provided with CT-NG will be applied
   179       first, and then your patches.
   180 
   181 config CUSTOM_PATCH_DIR
   182     string
   183     prompt "Custom patch directory"
   184     default ""
   185     depends on CUSTOM_PATCH
   186     help
   187       Enter the custom patch directory here.
   188 
   189 config REMOVE_DOCS
   190     bool
   191     prompt "Remove documentation"
   192     default n
   193     help
   194       Remove the installed documentation (man and info pages).
   195       Gains around 8MiB for a uClibc-based, C and C++ compiler.
   196 
   197 config INSTALL_DIR_RO
   198     bool
   199     prompt "Render the toolchain read-only"
   200     default n
   201     help
   202       Render the directory of the toolchain (and its sub-directories)
   203       read-only.
   204       
   205       Usefull for toolchains destined for production.
   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 message.
   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 tools' builds"
   311     default n
   312     depends on ! LOG_ERROR
   313     help
   314       Treat warnings from the different tools as crosstool-ng 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       Tools error will always be logged as crosstool-ng errors.
   322 
   323 config LOG_PROGRESS_BAR
   324     bool
   325     prompt "Progress bar"
   326     default y
   327     depends on ! LOG_ALL
   328     help
   329       If you say 'y' here, you'll be able to see the elapsed time.
   330       
   331       As a bonus, you'll also get a rotating bar (/-\|) showing you
   332       that the build is not stalled (the bar rotates 1/4 every 10 lines
   333       of components build log).
   334 
   335       Note that the elapsed time can stall for a little while if a
   336       component has long commands, as the elapsed time is only updated
   337       each line.
   338 
   339 config LOG_TO_FILE
   340     bool
   341     prompt "Log to a file"
   342     default y
   343     help
   344       Save *full* logs to a file. Even log levels you didn't specify above
   345       will be available in this file. The log file will be named build.log
   346       and stored in the toolchain prefix dir (set above).
   347 
   348       As a bonus, there is a script in tools/extractConfig.sh that is able
   349       to extract the configuration of crosstool-NG from the log file.
   350 
   351       Definitely, say Y.
   352 
   353 config LOG_FILE_COMPRESS
   354     bool
   355     prompt "Compress the log file"
   356     default n
   357     depends on LOG_TO_FILE
   358     help
   359       Compress the log file once the toolchain is successfully built.
   360 
   361 endmenu