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