config/global.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun May 06 13:42:10 2007 +0000 (2007-05-06)
changeset 61 1207acb66003
parent 47 7e2539937b6e
child 63 89b41dbffe8d
permissions -rw-r--r--
Introduce an OBSOLETE config option, to mask-out legacy stuff.
     1 # Overall toolchain configuration: paths, jobs, etc...
     2 
     3 menu "Paths and misc options"
     4 
     5 config EXPERIMENTAL
     6     bool
     7     prompt "Try features marked as EXPERIMENTAL"
     8     default n
     9     help
    10       If you set this to Y, then you will be able to try very experimental
    11       features.
    12       
    13       Experimental features can be one of:
    14         - working, in which case you should tell me it is!
    15         - buggy, in which case you could try patching and send me the result
    16         - unfinished, in which case you could try hacking it and send me the result
    17         - non-existant, in which case you could also try hacking it in and send the result
    18 
    19 config OBSOLETE
    20     bool
    21     prompt "Use obsolete features"
    22     default n
    23     help
    24       If you set this to Y, you will be able to select obsolete features.
    25       
    26       Such obsolete features are the use of old kernel headers, old
    27       gcc versions, etc...
    28 
    29 config PARALLEL_JOBS
    30     int
    31     prompt "Number of parallel jobs"
    32     default 1
    33     help
    34       Number of jobs make will be allowed to run concurently.
    35       Set this higher than the number of processors you have, but not too high.
    36       A good rule of thumb is twice the number of processors you have.
    37       
    38       Enter 1 (or 0) to have only one job at a time.
    39 
    40 config LOAD
    41     int
    42     prompt "Maximum allowed load"
    43     default 0
    44     help
    45       Specifies that no new jobs should be started if there are others jobs
    46       running and the load average is at least this value.
    47       
    48       Makes sense on SMP machines only.
    49       
    50       Enter 0 to have no limit on the load average.
    51       
    52       Note: only the integer part of the load is allowed here (you can't enter
    53             0.75 for example).
    54 
    55 config NICE
    56     int
    57     prompt "Nice level"
    58     default 0
    59     range 0 19
    60     help
    61       Renices the build process up.
    62 
    63 config USE_PIPES
    64     bool
    65     prompt "Use -pipe"
    66     default y
    67     help
    68       Use gcc's option -pipe to use pipes rather than temp files when building
    69       the toolchain.
    70 
    71 comment "Paths"
    72 
    73 config TARBALLS_DIR
    74     string
    75     prompt "Tarballs directory"
    76     default "${CT_TOP_DIR}/build/tarballs"
    77     help
    78       This is the directory into which tarballs are going to be stored once
    79       they are downloaded (or otherwise retrieved).
    80 
    81 config SRC_DIR
    82     string
    83     prompt "Extract directory"
    84     default "${CT_TOP_DIR}/build/${CT_TARGET}/${CT_CC}-${CT_CC_VERSION}-${CT_LIBC}-${CT_LIBC_VERSION}/src"
    85     help
    86       This is the directory into which tarballs will be extracted.
    87       
    88       If you will build multiple toolchains, you should arrange to have one
    89       SRC_DIR for each toolchain, as different targets may require different
    90       patches to be applied.
    91 
    92       You should not need to change this from the default.
    93 
    94 config BUILD_DIR
    95     string
    96     prompt "Build directory"
    97     default "${CT_TOP_DIR}/build/${CT_TARGET}/${CT_CC}-${CT_CC_VERSION}-${CT_LIBC}-${CT_LIBC_VERSION}/build"
    98     help
    99       This is the directory into which builds will occur.
   100       
   101       Once again, arrange for one build directory for each toolchain you build,
   102       to avoid collision.
   103 
   104       You should not need to change this from the default.
   105 
   106 config PREFIX_DIR
   107     string
   108     prompt "Prefix directory"
   109     default "${HOME}/${CT_TARGET}"
   110     help
   111       This is the path the toolchain will run from.
   112 
   113 config INSTALL_DIR
   114     string
   115 #    prompt "Install directory"
   116     default "${CT_PREFIX_DIR}"
   117 #    help
   118 #      This is the path the target will be installed into.
   119 #      
   120 #      Normally, you would set this to ${CT_PREFIX_DIR}, but if for some reasons
   121 #      you can't write there, you can install somewhere else and have a third
   122 #      person do the install for you.
   123 #      The reason you might also want to install elsewhere is if you are going
   124 #      to package your shinny new toolchain for distribution.
   125 
   126 config CUSTOM_PATCH
   127     bool
   128     prompt "Use custom patch directory"
   129     default n
   130     help
   131       If you have custom patches that you want to be applied, say 'Y' here and
   132       enter the path directory below.
   133       
   134       Note that you must ensure that the patch directory is arranged the same
   135       way the official directory is.
   136 
   137 config CUSTOM_PATCH_ONLY
   138     bool
   139     prompt "Only use custom patches"
   140     default n
   141     depends on CUSTOM_PATCH
   142     help
   143       Don't apply patches coming with CT-NG, only those patches available in
   144       the directory below.
   145       
   146       If you say 'N' here, then the patches provided with CT-NG will be applied
   147       first, and then your patches.
   148 
   149 config CUSTOM_PATCH_DIR
   150     string
   151     prompt "Custom patch directory"
   152     default ""
   153     depends on CUSTOM_PATCH
   154     help
   155       Enter the custom patch directory here.
   156 
   157 config REMOVE_DOCS
   158     bool
   159     prompt "Remove documentation"
   160     default n
   161     help
   162       Remove the installed documentation (man and info pages).
   163       Gains around 8MiB for a uClibc-based, C and C++ compiler.
   164 
   165 comment "Downloading and extracting"
   166 
   167 config NO_DOWNLOAD
   168     bool
   169     prompt "Avoid downloads"
   170     default n
   171     help
   172       Avoid downloading anything. Bail out if a tarball is missing.
   173 
   174 config ONLY_DOWNLOAD
   175     bool
   176     prompt "Only download tarballs"
   177     default n
   178     depends on ! NO_DOWNLOAD
   179     help
   180       Only download the tarballs. Exit once it done.
   181       
   182       Usefull to pre-retrieve the tarballs before going off-line.
   183 
   184 config FORCE_DOWNLOAD
   185     bool
   186     prompt "Force downloads"
   187     default n
   188     depends on ! NO_DOWNLOAD
   189     help
   190       Force downloading tarballs, even if one already exists.
   191       Usefull if you suspect a tarball to be damaged.
   192 
   193 config FORCE_EXTRACT
   194     bool
   195     prompt "Force extractions"
   196     depends on ! ONLY_DOWNLOAD
   197     default n
   198     help
   199       Force extraction of already exctracted tarballs.
   200       
   201       Usefull if you suspect a previous extract did not complete (eg. broken
   202       tarball), or you added a new set of patches for this component.
   203 
   204 comment "Logging"
   205 
   206 choice
   207     bool
   208     prompt "Maximum log level to see:"
   209     default LOG_INFO
   210 
   211 config LOG_ERROR
   212     bool
   213     prompt "ERROR"
   214     help
   215       The build will be silent.
   216       Only if there is an error will you see a mesage.
   217 
   218 config LOG_WARN
   219     bool
   220     prompt "WARN"
   221     help
   222       The same as above, plus warnings.
   223 
   224 config LOG_INFO
   225     bool
   226     prompt "INFO"
   227     help
   228       The same as above, plus informational messages (main steps).
   229 
   230 config LOG_EXTRA
   231     bool
   232     prompt "EXTRA"
   233     help
   234       The same as above, plus extra messages (sub-steps).
   235 
   236 config LOG_DEBUG
   237     bool
   238     prompt "DEBUG"
   239     help
   240       The same as above, plus lots of debug information, of which each
   241       component's build messages (very noisy!).
   242 
   243 endchoice
   244 
   245 config LOG_LEVEL_MAX
   246     string
   247     default "ERROR"   if LOG_ERROR
   248     default "WARN"    if LOG_WARN
   249     default "INFO"    if LOG_INFO
   250     default "EXTRA"   if LOG_EXTRA
   251     default "DEBUG"   if LOG_DEBUG
   252 
   253 config LOG_SEE_TOOLS_WARN
   254     bool
   255     prompt "See warnings from the tool builds"
   256     default n
   257     depends on ! LOG_ERROR
   258     help
   259       If you say Y here, then you will have see the warning lines from
   260       the components builds.
   261 
   262       It should suffice to say N here, as those will anyway be visible
   263       in the log file (if you want one).
   264 
   265 config LOG_PROGRESS_BAR
   266     bool
   267     prompt "Progress bar"
   268     default n
   269     depends on ! LOG_DEBUG
   270     help
   271       This option will print a "rotating bar" (/-\|) below the last log line
   272       to show work is not stalled.
   273       
   274       Available when not in DEBUG log level.
   275 
   276 config LOG_USE_COLORS
   277     bool
   278     prompt "Use colors for logging to console"
   279     default n
   280     help
   281       Use colors to highlight important messages.
   282       ERROR: bright red
   283       WARN : bright yellow
   284       INFO : bright green
   285       EXTRA: dim green
   286       DEBUG: dim white
   287 
   288 config LOG_TO_FILE
   289     bool
   290     prompt "Log to a file"
   291     default y
   292     help
   293       Save *full* logs to a file. Even log levels you didn't specify above
   294       will be available in this file.
   295 
   296       As a bonus, there is a script in tools/extractConfig.sh that is able
   297       to extract the configuration of crosstool-NG from the log file.
   298 
   299       Definitely, say Y.
   300 
   301 config LOG_FILE
   302     string
   303     prompt "Log file"
   304     default "${CT_PREFIX_DIR}/${CT_TARGET}.log"
   305     depends on LOG_TO_FILE
   306     help
   307       File name into which to put logs.
   308 
   309 endmenu