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