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