config/global.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon May 07 16:10:17 2007 +0000 (2007-05-07)
changeset 65 312fe9ff8370
parent 61 1207acb66003
child 78 c3868084d81a
permissions -rw-r--r--
Don't print directories as we descend into them.
     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"
   166 
   167 config FORCE_DOWNLOAD
   168     bool
   169     prompt "Force downloads"
   170     default n
   171     help
   172       Force downloading tarballs, even if one already exists.
   173       
   174       Usefull if you suspect a tarball to be damaged.
   175 
   176 config ONLY_DOWNLOAD
   177     bool
   178     prompt "Stop after downloading tarballs"
   179     default n
   180     help
   181       Only download the tarballs. Exit once it done.
   182       
   183       Usefull to pre-retrieve the tarballs before going off-line.
   184 
   185 comment "Extracting"
   186     depends on ! ONLY_DOWNLOAD
   187 
   188 config FORCE_EXTRACT
   189     bool
   190     prompt "Force extractions"
   191     depends on ! ONLY_DOWNLOAD
   192     default n
   193     help
   194       Force extraction of already exctracted tarballs.
   195       
   196       Usefull if you suspect a previous extract did not complete (eg. broken
   197       tarball), or you added a new set of patches for this component.
   198 
   199 config ONLY_EXTRACT
   200     bool
   201     prompt "Stop after extracting tarballs"
   202     depends on ! ONLY_DOWNLOAD
   203     default n
   204     help
   205       Exit after unpacking and patching tarballs.
   206       
   207       Usefull to look at the code before doing the build itself.
   208 
   209 comment "Logging"
   210 
   211 choice
   212     bool
   213     prompt "Maximum log level to see:"
   214     default LOG_INFO
   215 
   216 config LOG_ERROR
   217     bool
   218     prompt "ERROR"
   219     help
   220       The build will be silent.
   221       Only if there is an error will you see a mesage.
   222 
   223 config LOG_WARN
   224     bool
   225     prompt "WARN"
   226     help
   227       The same as above, plus warnings.
   228 
   229 config LOG_INFO
   230     bool
   231     prompt "INFO"
   232     help
   233       The same as above, plus informational messages (main steps).
   234 
   235 config LOG_EXTRA
   236     bool
   237     prompt "EXTRA"
   238     help
   239       The same as above, plus extra messages (sub-steps).
   240 
   241 config LOG_DEBUG
   242     bool
   243     prompt "DEBUG"
   244     help
   245       The same as above, plus lots of debug information, of which each
   246       component's build messages (very noisy!).
   247 
   248 endchoice
   249 
   250 config LOG_LEVEL_MAX
   251     string
   252     default "ERROR"   if LOG_ERROR
   253     default "WARN"    if LOG_WARN
   254     default "INFO"    if LOG_INFO
   255     default "EXTRA"   if LOG_EXTRA
   256     default "DEBUG"   if LOG_DEBUG
   257 
   258 config LOG_SEE_TOOLS_WARN
   259     bool
   260     prompt "See warnings from the tool builds"
   261     default n
   262     depends on ! LOG_ERROR
   263     help
   264       If you say Y here, then you will have see the warning lines from
   265       the components builds.
   266 
   267       It should suffice to say N here, as those will anyway be visible
   268       in the log file (if you want one).
   269 
   270 config LOG_PROGRESS_BAR
   271     bool
   272     prompt "Progress bar"
   273     default n
   274     depends on ! LOG_DEBUG
   275     help
   276       This option will print a "rotating bar" (/-\|) below the last log line
   277       to show work is not stalled.
   278       
   279       Available when not in DEBUG log level.
   280 
   281 config LOG_USE_COLORS
   282     bool
   283     prompt "Use colors for logging to console"
   284     default n
   285     help
   286       Use colors to highlight important messages.
   287       ERROR: bright red
   288       WARN : bright yellow
   289       INFO : bright green
   290       EXTRA: dim green
   291       DEBUG: dim white
   292 
   293 config LOG_TO_FILE
   294     bool
   295     prompt "Log to a file"
   296     default y
   297     help
   298       Save *full* logs to a file. Even log levels you didn't specify above
   299       will be available in this file.
   300 
   301       As a bonus, there is a script in tools/extractConfig.sh that is able
   302       to extract the configuration of crosstool-NG from the log file.
   303 
   304       Definitely, say Y.
   305 
   306 config LOG_FILE
   307     string
   308     prompt "Log file"
   309     default "${CT_PREFIX_DIR}/${CT_TARGET}.log"
   310     depends on LOG_TO_FILE
   311     help
   312       File name into which to put logs.
   313 
   314 endmenu