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