config/global.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Feb 17 22:08:06 2008 +0000 (2008-02-17)
changeset 431 8bde4c6ea47a
parent 384 5b30e5c8e25c
child 441 f1326505e3e5
permissions -rw-r--r--
Robert P. J. DAY says:

apparently, the patchset for gcc 4.2.1 applies properly to the
source for gcc 4.2.2 and gcc 4.2.3. so, if you want, you can simply
add support for those last two just by augmenting menuconfig and
adding a couple symlinks for those two directories. seems like a
cheap way to add a couple new versions.
yann@1
     1
# Overall toolchain configuration: paths, jobs, etc...
yann@1
     2
yann@121
     3
# Ah, this option is here to break the dependency tracking, and allow
yann@121
     4
# dependent option to line-up with the options they depend on ,rather
yann@121
     5
# than being indented
yann@244
     6
# Use it to intersperse two config options depending one on the other,
yann@244
     7
# but don't want the second to be indented (for example because you have
yann@244
     8
# a comment between the two to separate them). See DOWNLOAD and EXTRACT
yann@244
     9
# options to see how it is used.
yann@121
    10
config FOOBAR
yann@121
    11
    bool
yann@121
    12
    default n
yann@121
    13
yann@1
    14
menu "Paths and misc options"
yann@1
    15
yann@197
    16
comment "crosstool-NG behavior"
yann@121
    17
yann@244
    18
config OBSOLETE
yann@244
    19
    bool
yann@244
    20
    prompt "Use obsolete features"
yann@244
    21
    default n
yann@244
    22
    help
yann@244
    23
      If you set this to Y, you will be able to select obsolete features.
yann@244
    24
      
yann@244
    25
      Such obsolete features are the use of old kernel headers, old
yann@244
    26
      gcc versions, etc...
yann@244
    27
yann@41
    28
config EXPERIMENTAL
yann@41
    29
    bool
yann@41
    30
    prompt "Try features marked as EXPERIMENTAL"
yann@41
    31
    default n
yann@41
    32
    help
yann@41
    33
      If you set this to Y, then you will be able to try very experimental
yann@41
    34
      features.
yann@41
    35
      
yann@41
    36
      Experimental features can be one of:
yann@41
    37
        - working, in which case you should tell me it is!
yann@41
    38
        - buggy, in which case you could try patching and send me the result
yann@41
    39
        - unfinished, in which case you could try hacking it and send me the result
yann@384
    40
        - non-existant, in which case you could also try hacking it in and send me
yann@384
    41
          the result
yann@41
    42
yann@244
    43
config BROKEN
yann@61
    44
    bool
yann@244
    45
    prompt "Try broken stuff"
yann@61
    46
    default n
yann@244
    47
    depends on EXPERIMENTAL
yann@61
    48
    help
yann@244
    49
      Select this if you want to _debug_ broken stuff.
yann@61
    50
yann@121
    51
config DEBUG_CT
yann@121
    52
    bool
yann@121
    53
    prompt "Debug crosstool-NG"
yann@121
    54
    default n
yann@121
    55
    help
yann@121
    56
      Say 'y' here to get some debugging options
yann@121
    57
yann@121
    58
if DEBUG_CT
yann@121
    59
yann@121
    60
config DEBUG_CT_PAUSE_STEPS
yann@121
    61
    bool
yann@121
    62
    prompt "Pause between every steps"
yann@121
    63
    default n
yann@121
    64
    help
yann@121
    65
      Say 'y' if you intend to attend the build, and want to investigate
yann@121
    66
      the result of each steps before running the next one.
yann@121
    67
yann@121
    68
config DEBUG_CT_SAVE_STEPS
yann@121
    69
    bool
yann@121
    70
    prompt "Save intermediate steps"
yann@121
    71
    default n
yann@121
    72
    help
yann@121
    73
      If you say 'y' here, then you will be able to restart crosstool-NG at
yann@168
    74
      any step.
yann@121
    75
      
yann@121
    76
      It is not currently possible to rstart at any of the debug facility.
yann@168
    77
      They are treated as a whole.
yann@168
    78
yann@168
    79
      See docs/overview.txt for the list of steps.
yann@121
    80
yann@121
    81
config DEBUG_CT_SAVE_STEPS_GZIP
yann@121
    82
    bool
yann@121
    83
    prompt "gzip saved states"
yann@121
    84
    default y
yann@121
    85
    depends on DEBUG_CT_SAVE_STEPS
yann@121
    86
    help
yann@121
    87
      If you are tight on space, then you can ask to gzip the saved states
yann@121
    88
      tarballs. On the other hand, this takes some longer time...
yann@121
    89
      
yann@121
    90
      To lose as less time as possible, the gzip process is done with a low
yann@121
    91
      compression ratio (-3), which gives roughly 70% gain in size. Going
yann@121
    92
      further doesn't gain much, and takes far more time (believe me, I've
yann@121
    93
      got figures here! :-) ).
yann@121
    94
yann@121
    95
endif
yann@121
    96
yann@121
    97
comment "Build behavior"
yann@121
    98
yann@1
    99
config PARALLEL_JOBS
yann@1
   100
    int
yann@1
   101
    prompt "Number of parallel jobs"
yann@1
   102
    default 1
yann@1
   103
    help
yann@1
   104
      Number of jobs make will be allowed to run concurently.
yann@1
   105
      Set this higher than the number of processors you have, but not too high.
yann@1
   106
      A good rule of thumb is twice the number of processors you have.
yann@1
   107
      
yann@1
   108
      Enter 1 (or 0) to have only one job at a time.
yann@1
   109
yann@1
   110
config LOAD
yann@1
   111
    int
yann@1
   112
    prompt "Maximum allowed load"
yann@1
   113
    default 0
yann@1
   114
    help
yann@1
   115
      Specifies that no new jobs should be started if there are others jobs
yann@1
   116
      running and the load average is at least this value.
yann@1
   117
      
yann@1
   118
      Makes sense on SMP machines only.
yann@1
   119
      
yann@1
   120
      Enter 0 to have no limit on the load average.
yann@1
   121
      
yann@1
   122
      Note: only the integer part of the load is allowed here (you can't enter
yann@1
   123
            0.75 for example).
yann@1
   124
yann@1
   125
config NICE
yann@1
   126
    int
yann@1
   127
    prompt "Nice level"
yann@1
   128
    default 0
yann@1
   129
    range 0 19
yann@1
   130
    help
yann@1
   131
      Renices the build process up.
yann@1
   132
yann@1
   133
config USE_PIPES
yann@1
   134
    bool
yann@1
   135
    prompt "Use -pipe"
yann@1
   136
    default y
yann@1
   137
    help
yann@1
   138
      Use gcc's option -pipe to use pipes rather than temp files when building
yann@1
   139
      the toolchain.
yann@1
   140
yann@1
   141
comment "Paths"
yann@1
   142
yann@85
   143
config LOCAL_TARBALLS_DIR
yann@1
   144
    string
yann@85
   145
    prompt "Local tarballs directory"
yann@85
   146
    default ""
yann@1
   147
    help
yann@85
   148
      If you have previously downloaded the tarballs, enter the PATH where
yann@85
   149
      you stored them here.
yann@31
   150
yann@265
   151
config SAVE_TARBALLS
yann@265
   152
    bool
yann@265
   153
    prompt "Save new tarballs"
yann@265
   154
    default n
yann@265
   155
    depends on LOCAL_TARBALLS_DIR != ""
yann@265
   156
    help
yann@425
   157
      If you say 'y' here, new downloaded tarballs will be saved in the
yann@265
   158
      directory you entered above.
yann@265
   159
yann@1
   160
config PREFIX_DIR
yann@1
   161
    string
yann@1
   162
    prompt "Prefix directory"
yann@1
   163
    default "${HOME}/${CT_TARGET}"
yann@1
   164
    help
yann@1
   165
      This is the path the toolchain will run from.
yann@1
   166
yann@1
   167
config INSTALL_DIR
yann@1
   168
    string
yann@1
   169
#    prompt "Install directory"
yann@1
   170
    default "${CT_PREFIX_DIR}"
yann@1
   171
#    help
yann@1
   172
#      This is the path the target will be installed into.
yann@1
   173
#      
yann@1
   174
#      Normally, you would set this to ${CT_PREFIX_DIR}, but if for some reasons
yann@1
   175
#      you can't write there, you can install somewhere else and have a third
yann@1
   176
#      person do the install for you.
yann@1
   177
#      The reason you might also want to install elsewhere is if you are going
yann@1
   178
#      to package your shinny new toolchain for distribution.
yann@1
   179
yann@1
   180
config CUSTOM_PATCH
yann@1
   181
    bool
yann@1
   182
    prompt "Use custom patch directory"
yann@1
   183
    default n
yann@1
   184
    help
yann@1
   185
      If you have custom patches that you want to be applied, say 'Y' here and
yann@1
   186
      enter the path directory below.
yann@1
   187
      
yann@1
   188
      Note that you must ensure that the patch directory is arranged the same
yann@1
   189
      way the official directory is.
yann@1
   190
yann@1
   191
config CUSTOM_PATCH_ONLY
yann@1
   192
    bool
yann@1
   193
    prompt "Only use custom patches"
yann@1
   194
    default n
yann@1
   195
    depends on CUSTOM_PATCH
yann@1
   196
    help
yann@197
   197
      Don't apply patches coming with crosstool-NG, only those patches available
yann@197
   198
      in the directory below.
yann@1
   199
      
yann@197
   200
      If you say 'N' here, then the patches provided with crosstool-NG will be
yann@197
   201
      applied first, and then your patches.
yann@1
   202
yann@1
   203
config CUSTOM_PATCH_DIR
yann@1
   204
    string
yann@1
   205
    prompt "Custom patch directory"
yann@1
   206
    default ""
yann@1
   207
    depends on CUSTOM_PATCH
yann@1
   208
    help
yann@1
   209
      Enter the custom patch directory here.
yann@1
   210
yann@14
   211
config REMOVE_DOCS
yann@14
   212
    bool
yann@14
   213
    prompt "Remove documentation"
yann@14
   214
    default n
yann@14
   215
    help
yann@14
   216
      Remove the installed documentation (man and info pages).
yann@14
   217
      Gains around 8MiB for a uClibc-based, C and C++ compiler.
yann@14
   218
yann@174
   219
config INSTALL_DIR_RO
yann@174
   220
    bool
yann@174
   221
    prompt "Render the toolchain read-only"
yann@174
   222
    default n
yann@174
   223
    help
yann@174
   224
      Render the directory of the toolchain (and its sub-directories)
yann@174
   225
      read-only.
yann@174
   226
      
yann@174
   227
      Usefull for toolchains destined for production.
yann@174
   228
yann@63
   229
comment "Downloading"
yann@1
   230
yann@63
   231
config FORCE_DOWNLOAD
yann@1
   232
    bool
yann@63
   233
    prompt "Force downloads"
yann@1
   234
    default n
yann@1
   235
    help
yann@63
   236
      Force downloading tarballs, even if one already exists.
yann@63
   237
      
yann@63
   238
      Usefull if you suspect a tarball to be damaged.
yann@1
   239
yann@1
   240
config ONLY_DOWNLOAD
yann@1
   241
    bool
yann@63
   242
    prompt "Stop after downloading tarballs"
yann@1
   243
    default n
yann@1
   244
    help
yann@1
   245
      Only download the tarballs. Exit once it done.
yann@1
   246
      
yann@1
   247
      Usefull to pre-retrieve the tarballs before going off-line.
yann@1
   248
yann@121
   249
config FOOBAR
yann@121
   250
yann@244
   251
if ! ONLY_DOWNLOAD
yann@244
   252
yann@63
   253
comment "Extracting"
yann@1
   254
yann@1
   255
config FORCE_EXTRACT
yann@1
   256
    bool
yann@1
   257
    prompt "Force extractions"
yann@1
   258
    default n
yann@1
   259
    help
yann@1
   260
      Force extraction of already exctracted tarballs.
yann@1
   261
      
yann@1
   262
      Usefull if you suspect a previous extract did not complete (eg. broken
yann@1
   263
      tarball), or you added a new set of patches for this component.
yann@1
   264
yann@63
   265
config ONLY_EXTRACT
yann@63
   266
    bool
yann@63
   267
    prompt "Stop after extracting tarballs"
yann@63
   268
    default n
yann@63
   269
    help
yann@63
   270
      Exit after unpacking and patching tarballs.
yann@63
   271
      
yann@63
   272
      Usefull to look at the code before doing the build itself.
yann@63
   273
yann@244
   274
endif # ! ONLY_DOWNLOAD
yann@244
   275
yann@1
   276
comment "Logging"
yann@1
   277
yann@1
   278
choice
yann@1
   279
    bool
yann@1
   280
    prompt "Maximum log level to see:"
yann@252
   281
    default LOG_INFO if !DEBUG_CT
yann@252
   282
    default LOG_DEBUG if DEBUG_CT
yann@1
   283
yann@1
   284
config LOG_ERROR
yann@1
   285
    bool
yann@1
   286
    prompt "ERROR"
yann@1
   287
    help
yann@1
   288
      The build will be silent.
yann@174
   289
      Only if there is an error will you see a message.
yann@1
   290
yann@1
   291
config LOG_WARN
yann@1
   292
    bool
yann@1
   293
    prompt "WARN"
yann@1
   294
    help
yann@1
   295
      The same as above, plus warnings.
yann@1
   296
yann@1
   297
config LOG_INFO
yann@1
   298
    bool
yann@1
   299
    prompt "INFO"
yann@1
   300
    help
yann@1
   301
      The same as above, plus informational messages (main steps).
yann@1
   302
yann@1
   303
config LOG_EXTRA
yann@1
   304
    bool
yann@1
   305
    prompt "EXTRA"
yann@1
   306
    help
yann@1
   307
      The same as above, plus extra messages (sub-steps).
yann@1
   308
yann@1
   309
config LOG_DEBUG
yann@1
   310
    bool
yann@1
   311
    prompt "DEBUG"
yann@1
   312
    help
yann@78
   313
      The same as above, plus lots of crosstool-NG debug information.
yann@78
   314
yann@78
   315
config LOG_ALL
yann@78
   316
    bool
yann@78
   317
    prompt "ALL"
yann@78
   318
    help
yann@78
   319
      The same as above, plus all components build messages (very noisy!).
yann@1
   320
yann@1
   321
endchoice
yann@1
   322
yann@1
   323
config LOG_LEVEL_MAX
yann@1
   324
    string
yann@1
   325
    default "ERROR"   if LOG_ERROR
yann@1
   326
    default "WARN"    if LOG_WARN
yann@1
   327
    default "INFO"    if LOG_INFO
yann@1
   328
    default "EXTRA"   if LOG_EXTRA
yann@1
   329
    default "DEBUG"   if LOG_DEBUG
yann@78
   330
    default "ALL"     if LOG_ALL
yann@1
   331
yann@47
   332
config LOG_SEE_TOOLS_WARN
yann@47
   333
    bool
yann@174
   334
    prompt "Warnings from the tools' builds"
yann@47
   335
    default n
yann@47
   336
    depends on ! LOG_ERROR
yann@47
   337
    help
yann@197
   338
      Treat warnings from the different tools as crosstool-NG warnings.
yann@108
   339
      If you say 'y' here, then those warnings will be prefixed with
yann@108
   340
      '[WARN ]' instead of the default '[ALL  ]'.
yann@47
   341
yann@108
   342
      You can safely say 'n' here. Those warnings will anyway be
yann@108
   343
      recorded in the log file (provided you configured one).
yann@47
   344
yann@197
   345
      Tools error will always be logged as crosstool-NG errors.
yann@174
   346
yann@1
   347
config LOG_PROGRESS_BAR
yann@1
   348
    bool
yann@1
   349
    prompt "Progress bar"
yann@173
   350
    default y
yann@78
   351
    depends on ! LOG_ALL
yann@1
   352
    help
yann@112
   353
      If you say 'y' here, you'll be able to see the elapsed time.
yann@1
   354
      
yann@112
   355
      As a bonus, you'll also get a rotating bar (/-\|) showing you
yann@112
   356
      that the build is not stalled (the bar rotates 1/4 every 10 lines
yann@112
   357
      of components build log).
yann@112
   358
yann@112
   359
      Note that the elapsed time can stall for a little while if a
yann@112
   360
      component has long commands, as the elapsed time is only updated
yann@112
   361
      each line.
yann@1
   362
yann@1
   363
config LOG_TO_FILE
yann@1
   364
    bool
yann@1
   365
    prompt "Log to a file"
yann@1
   366
    default y
yann@1
   367
    help
yann@1
   368
      Save *full* logs to a file. Even log levels you didn't specify above
yann@174
   369
      will be available in this file. The log file will be named build.log
yann@174
   370
      and stored in the toolchain prefix dir (set above).
yann@1
   371
yann@47
   372
      As a bonus, there is a script in tools/extractConfig.sh that is able
yann@47
   373
      to extract the configuration of crosstool-NG from the log file.
yann@47
   374
yann@47
   375
      Definitely, say Y.
yann@47
   376
yann@174
   377
config LOG_FILE_COMPRESS
yann@174
   378
    bool
yann@174
   379
    prompt "Compress the log file"
yann@174
   380
    default n
yann@1
   381
    depends on LOG_TO_FILE
yann@1
   382
    help
yann@174
   383
      Compress the log file once the toolchain is successfully built.
yann@1
   384
yann@1
   385
endmenu