config/global.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 15 17:00:30 2007 +0000 (2007-07-15)
changeset 265 4d5beae7cb87
parent 252 ff95210bd9bd
child 384 5b30e5c8e25c
permissions -rw-r--r--
Add an option to save downloaded tarballs to local tarballs directory.
Sanitise CT_GetFile.
Change some messages (Copying -> Retrieving).
     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 SAVE_TARBALLS
   151     bool
   152     prompt "Save new tarballs"
   153     default n
   154     depends on LOCAL_TARBALLS_DIR != ""
   155     help
   156       If you say 'y' here, new doanloaded tarballs will be saved in the
   157       directory you entered above.
   158 
   159 config PREFIX_DIR
   160     string
   161     prompt "Prefix directory"
   162     default "${HOME}/${CT_TARGET}"
   163     help
   164       This is the path the toolchain will run from.
   165 
   166 config INSTALL_DIR
   167     string
   168 #    prompt "Install directory"
   169     default "${CT_PREFIX_DIR}"
   170 #    help
   171 #      This is the path the target will be installed into.
   172 #      
   173 #      Normally, you would set this to ${CT_PREFIX_DIR}, but if for some reasons
   174 #      you can't write there, you can install somewhere else and have a third
   175 #      person do the install for you.
   176 #      The reason you might also want to install elsewhere is if you are going
   177 #      to package your shinny new toolchain for distribution.
   178 
   179 config CUSTOM_PATCH
   180     bool
   181     prompt "Use custom patch directory"
   182     default n
   183     help
   184       If you have custom patches that you want to be applied, say 'Y' here and
   185       enter the path directory below.
   186       
   187       Note that you must ensure that the patch directory is arranged the same
   188       way the official directory is.
   189 
   190 config CUSTOM_PATCH_ONLY
   191     bool
   192     prompt "Only use custom patches"
   193     default n
   194     depends on CUSTOM_PATCH
   195     help
   196       Don't apply patches coming with crosstool-NG, only those patches available
   197       in the directory below.
   198       
   199       If you say 'N' here, then the patches provided with crosstool-NG will be
   200       applied first, and then your patches.
   201 
   202 config CUSTOM_PATCH_DIR
   203     string
   204     prompt "Custom patch directory"
   205     default ""
   206     depends on CUSTOM_PATCH
   207     help
   208       Enter the custom patch directory here.
   209 
   210 config REMOVE_DOCS
   211     bool
   212     prompt "Remove documentation"
   213     default n
   214     help
   215       Remove the installed documentation (man and info pages).
   216       Gains around 8MiB for a uClibc-based, C and C++ compiler.
   217 
   218 config INSTALL_DIR_RO
   219     bool
   220     prompt "Render the toolchain read-only"
   221     default n
   222     help
   223       Render the directory of the toolchain (and its sub-directories)
   224       read-only.
   225       
   226       Usefull for toolchains destined for production.
   227 
   228 comment "Downloading"
   229 
   230 config FORCE_DOWNLOAD
   231     bool
   232     prompt "Force downloads"
   233     default n
   234     help
   235       Force downloading tarballs, even if one already exists.
   236       
   237       Usefull if you suspect a tarball to be damaged.
   238 
   239 config ONLY_DOWNLOAD
   240     bool
   241     prompt "Stop after downloading tarballs"
   242     default n
   243     help
   244       Only download the tarballs. Exit once it done.
   245       
   246       Usefull to pre-retrieve the tarballs before going off-line.
   247 
   248 config FOOBAR
   249 
   250 if ! ONLY_DOWNLOAD
   251 
   252 comment "Extracting"
   253 
   254 config FORCE_EXTRACT
   255     bool
   256     prompt "Force extractions"
   257     default n
   258     help
   259       Force extraction of already exctracted tarballs.
   260       
   261       Usefull if you suspect a previous extract did not complete (eg. broken
   262       tarball), or you added a new set of patches for this component.
   263 
   264 config ONLY_EXTRACT
   265     bool
   266     prompt "Stop after extracting tarballs"
   267     default n
   268     help
   269       Exit after unpacking and patching tarballs.
   270       
   271       Usefull to look at the code before doing the build itself.
   272 
   273 endif # ! ONLY_DOWNLOAD
   274 
   275 comment "Logging"
   276 
   277 choice
   278     bool
   279     prompt "Maximum log level to see:"
   280     default LOG_INFO if !DEBUG_CT
   281     default LOG_DEBUG if DEBUG_CT
   282 
   283 config LOG_ERROR
   284     bool
   285     prompt "ERROR"
   286     help
   287       The build will be silent.
   288       Only if there is an error will you see a message.
   289 
   290 config LOG_WARN
   291     bool
   292     prompt "WARN"
   293     help
   294       The same as above, plus warnings.
   295 
   296 config LOG_INFO
   297     bool
   298     prompt "INFO"
   299     help
   300       The same as above, plus informational messages (main steps).
   301 
   302 config LOG_EXTRA
   303     bool
   304     prompt "EXTRA"
   305     help
   306       The same as above, plus extra messages (sub-steps).
   307 
   308 config LOG_DEBUG
   309     bool
   310     prompt "DEBUG"
   311     help
   312       The same as above, plus lots of crosstool-NG debug information.
   313 
   314 config LOG_ALL
   315     bool
   316     prompt "ALL"
   317     help
   318       The same as above, plus all components build messages (very noisy!).
   319 
   320 endchoice
   321 
   322 config LOG_LEVEL_MAX
   323     string
   324     default "ERROR"   if LOG_ERROR
   325     default "WARN"    if LOG_WARN
   326     default "INFO"    if LOG_INFO
   327     default "EXTRA"   if LOG_EXTRA
   328     default "DEBUG"   if LOG_DEBUG
   329     default "ALL"     if LOG_ALL
   330 
   331 config LOG_SEE_TOOLS_WARN
   332     bool
   333     prompt "Warnings from the tools' builds"
   334     default n
   335     depends on ! LOG_ERROR
   336     help
   337       Treat warnings from the different tools as crosstool-NG warnings.
   338       If you say 'y' here, then those warnings will be prefixed with
   339       '[WARN ]' instead of the default '[ALL  ]'.
   340 
   341       You can safely say 'n' here. Those warnings will anyway be
   342       recorded in the log file (provided you configured one).
   343 
   344       Tools error will always be logged as crosstool-NG errors.
   345 
   346 config LOG_PROGRESS_BAR
   347     bool
   348     prompt "Progress bar"
   349     default y
   350     depends on ! LOG_ALL
   351     help
   352       If you say 'y' here, you'll be able to see the elapsed time.
   353       
   354       As a bonus, you'll also get a rotating bar (/-\|) showing you
   355       that the build is not stalled (the bar rotates 1/4 every 10 lines
   356       of components build log).
   357 
   358       Note that the elapsed time can stall for a little while if a
   359       component has long commands, as the elapsed time is only updated
   360       each line.
   361 
   362 config LOG_TO_FILE
   363     bool
   364     prompt "Log to a file"
   365     default y
   366     help
   367       Save *full* logs to a file. Even log levels you didn't specify above
   368       will be available in this file. The log file will be named build.log
   369       and stored in the toolchain prefix dir (set above).
   370 
   371       As a bonus, there is a script in tools/extractConfig.sh that is able
   372       to extract the configuration of crosstool-NG from the log file.
   373 
   374       Definitely, say Y.
   375 
   376 config LOG_FILE_COMPRESS
   377     bool
   378     prompt "Compress the log file"
   379     default n
   380     depends on LOG_TO_FILE
   381     help
   382       Compress the log file once the toolchain is successfully built.
   383 
   384 endmenu