config/global.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue May 08 17:48:32 2007 +0000 (2007-05-08)
changeset 78 c3868084d81a
parent 63 89b41dbffe8d
child 85 ac2845835b13
permissions -rw-r--r--
Huge fixes to glibc build, so that we can build at least (and at last):
- use ports addon even when installing headers,
- use optimisation (-O) when installing headers, to avoid unnecessary warnings (thanks Robert P. J. DAY for pointing this out!),
- lowest kernel version to use is only X.Y.Z, not X.Y.Z.T,
- a bit of preparations for NPTL (RSN I hope),
- fix fixing the linker scripts (changing the backup file is kind of useless and stupid);

Shut uClibc finish step: there really is nothing to do;

Add a patch for glibc-2.3.6 weak aliases handling on some archs (ARM and ALPHA at least);

Did not catch the make errors: fixed the pattern matching in scripts/functions;

Introduce a new log level, ALL:
- send components' build messages there,
- DEBUG log level is destined only for crosstool-NG debug messages,
- migrate sub-actions to use appropriate log levels;

Update the armeb-unknown-linux-gnu sample:
- it builds!
- uses gcc-4.0.4 and glibc-2.3.6,
- updated to latest config options set.
     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 crosstool-NG debug information.
   246 
   247 config LOG_ALL
   248     bool
   249     prompt "ALL"
   250     help
   251       The same as above, plus all components build messages (very noisy!).
   252 
   253 endchoice
   254 
   255 config LOG_LEVEL_MAX
   256     string
   257     default "ERROR"   if LOG_ERROR
   258     default "WARN"    if LOG_WARN
   259     default "INFO"    if LOG_INFO
   260     default "EXTRA"   if LOG_EXTRA
   261     default "DEBUG"   if LOG_DEBUG
   262     default "ALL"     if LOG_ALL
   263 
   264 config LOG_SEE_TOOLS_WARN
   265     bool
   266     prompt "See warnings from the tool builds"
   267     default n
   268     depends on ! LOG_ERROR
   269     help
   270       If you say Y here, then you will have see the warning lines from
   271       the components builds.
   272 
   273       It should suffice to say N here, as those will anyway be visible
   274       in the log file (if you want one).
   275 
   276 config LOG_PROGRESS_BAR
   277     bool
   278     prompt "Progress bar"
   279     default n
   280     depends on ! LOG_ALL
   281     help
   282       This option will print a "rotating bar" (/-\|) below the last log line
   283       to show work is not stalled.
   284       
   285       Available when not in DEBUG log level.
   286 
   287 config LOG_USE_COLORS
   288     bool
   289     prompt "Use colors for logging to console"
   290     default n
   291     help
   292       Use colors to highlight important messages.
   293       ERROR: bright red
   294       WARN : bright yellow
   295       INFO : bright green
   296       EXTRA: dim green
   297       DEBUG: dim white
   298 
   299 config LOG_TO_FILE
   300     bool
   301     prompt "Log to a file"
   302     default y
   303     help
   304       Save *full* logs to a file. Even log levels you didn't specify above
   305       will be available in this file.
   306 
   307       As a bonus, there is a script in tools/extractConfig.sh that is able
   308       to extract the configuration of crosstool-NG from the log file.
   309 
   310       Definitely, say Y.
   311 
   312 config LOG_FILE
   313     string
   314     prompt "Log file"
   315     default "${CT_PREFIX_DIR}/${CT_TARGET}.log"
   316     depends on LOG_TO_FILE
   317     help
   318       File name into which to put logs.
   319 
   320 endmenu