config/target.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Thu Jan 16 23:22:19 2014 +0100 (2014-01-16)
changeset 3280 31d303a49013
parent 3150 1d6fd9bde73c
child 3310 6fb47591d19d
permissions -rw-r--r--
configure: s/don't/do not/

The autoconf manual suggests not to use ' in messages.

I don't why they do, but it breaks syntax-highlighting.

Just remove the lone quote we have.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
yann@1
     1
# Target definition: architecture, optimisations, etc...
yann@1
     2
yann@1
     3
menu "Target options"
yann@1
     4
yann@47
     5
config ARCH
yann@47
     6
    string
yann@628
     7
yann@628
     8
# Pre-declare target optimisation variables
yann@1345
     9
config ARCH_SUPPORTS_BOTH_MMU
yann@1345
    10
config ARCH_SUPPORTS_BOTH_ENDIAN
yann@1633
    11
config ARCH_SUPPORTS_32
yann@1633
    12
config ARCH_SUPPORTS_64
yann@2788
    13
config ARCH_SUPPORTS_WITH_ARCH
yann@2788
    14
config ARCH_SUPPORTS_WITH_ABI
yann@2788
    15
config ARCH_SUPPORTS_WITH_CPU
yann@2788
    16
config ARCH_SUPPORTS_WITH_TUNE
yann@2789
    17
config ARCH_SUPPORTS_WITH_FLOAT
yann@2788
    18
config ARCH_SUPPORTS_WITH_FPU
yann@2788
    19
config ARCH_SUPPORTS_SOFTFP
yann@1345
    20
yann@1345
    21
config ARCH_DEFAULT_HAS_MMU
yann@628
    22
config ARCH_DEFAULT_BE
yann@628
    23
config ARCH_DEFAULT_LE
yann@1633
    24
config ARCH_DEFAULT_32
yann@1633
    25
config ARCH_DEFAULT_64
yann@1345
    26
yann@633
    27
config ARCH_ARCH
yann@633
    28
config ARCH_ABI
yann@633
    29
config ARCH_CPU
yann@633
    30
config ARCH_TUNE
yann@633
    31
config ARCH_FPU
yann@633
    32
config ARCH_BE
yann@633
    33
config ARCH_LE
yann@1638
    34
config ARCH_32
yann@1638
    35
config ARCH_64
yann@1715
    36
config ARCH_BITNESS
yann@628
    37
config ARCH_FLOAT_HW
yann@628
    38
config ARCH_FLOAT_SW
yann@628
    39
config TARGET_CFLAGS
yann@791
    40
config TARGET_LDFLAGS
yann@628
    41
yann@1870
    42
source "config.gen/arch.in"
yann@1
    43
w@3169
    44
config ARCH_SUFFIX
w@3169
    45
    string
w@3169
    46
    prompt "Suffix to the arch-part"
w@3169
    47
    help
w@3169
    48
      Some architectures have multiple variants and being able to specify
w@3169
    49
      the variant instead of the arch is quite convenient. This is commonly
w@3169
    50
      seen for instance when "armv5tel-" is used as a prefix instead of the
w@3169
    51
      more generic "arm-", or with "alphaev6-" instead of "alpha-".
w@3169
    52
      
w@3169
    53
      Whatever you enter here will be appended to the architecture-part of the
w@3169
    54
      tuple, just before the first '-'. It will override any architecture-
w@3169
    55
      specific suffix that crosstool-NG may compute.
w@3169
    56
      
w@3169
    57
      If you are not sure about what this is, leave it blank.
w@3169
    58
yann@1345
    59
#--------------------------------------
yann@2413
    60
comment "Generic target options"
yann@2413
    61
yann@2815
    62
#--------------------------------------
yann@2815
    63
config MULTILIB
yann@2815
    64
    bool
yann@3150
    65
    prompt "Build a multilib toolchain (READ HELP!!!)"
yann@2815
    66
    help
yann@2815
    67
      If you say 'y' here, then the toolchain will also contain the C library
yann@2815
    68
      optimised for some variants of the selected architecture, besides the
yann@2815
    69
      default settings.
yann@2815
    70
      
yann@2815
    71
      This means the build time of the C library will be in O(nb_variants).
yann@2815
    72
      
yann@2815
    73
      The list of variants is dependent on the architecture, and is hard-coded
yann@2815
    74
      in gcc, so it is not possible to say what variants to support, only
yann@2815
    75
      whether hard-coded variants should be supported or not.
yann@3150
    76
      
yann@3150
    77
      NOTE: The multilib feature in crosstool-NG is not well-tested.
yann@3150
    78
            Use at your own risk, and report success and/or failure.
yann@2815
    79
yann@2815
    80
#--------------------------------------
yann@1345
    81
config ARCH_SUPPORTS_BOTH_MMU
yann@1345
    82
    bool
yann@1345
    83
yann@1345
    84
config ARCH_DEFAULT_HAS_MMU
yann@1345
    85
    bool
yann@1345
    86
yann@1345
    87
config ARCH_USE_MMU
yann@1345
    88
    bool
yann@1345
    89
    prompt "Use the MMU" if ARCH_SUPPORTS_BOTH_MMU
yann@1345
    90
    default y if ARCH_DEFAULT_HAS_MMU
yann@1586
    91
    help
yann@1586
    92
      If your architecture has an MMU and you want to use it,
yann@1586
    93
      say 'Y' here.
yann@1586
    94
      
yann@1586
    95
      OTOH, if you don't want to use the MMU, or your arch
yann@1586
    96
      lacks an MMU, say 'N' here.
yann@1586
    97
      
yann@1586
    98
      Note that some architectures (eg. ARM) has variants that
yann@1586
    99
      lacks an MMU (eg. ARM Cortex-M3), while other variants
yann@1586
   100
      have one (eg. ARM Cortex-A8).
yann@1345
   101
yann@1345
   102
#--------------------------------------
yann@136
   103
config ARCH_SUPPORTS_BOTH_ENDIAN
yann@35
   104
    bool
yann@35
   105
yann@347
   106
config ARCH_DEFAULT_BE
yann@347
   107
    bool
yann@347
   108
yann@347
   109
config ARCH_DEFAULT_LE
yann@347
   110
    bool
yann@347
   111
yann@1
   112
choice
yann@1
   113
    bool
yann@1
   114
    prompt "Endianness:"
yann@136
   115
    depends on ARCH_SUPPORTS_BOTH_ENDIAN
yann@347
   116
    default ARCH_BE if ARCH_DEFAULT_BE
yann@347
   117
    default ARCH_LE if ARCH_DEFAULT_LE
yann@1
   118
yann@1
   119
config ARCH_BE
yann@1
   120
    bool
yann@1
   121
    prompt "Big endian"
yann@1
   122
yann@1
   123
config ARCH_LE
yann@1
   124
    bool
yann@1
   125
    prompt "Little endian"
yann@1
   126
yann@1
   127
endchoice
yann@1
   128
yann@2772
   129
config ARCH_ENDIAN
yann@2772
   130
    string
yann@2772
   131
    depends on ARCH_SUPPORTS_BOTH_ENDIAN
yann@2772
   132
    default "big"       if ARCH_BE
yann@2772
   133
    default "little"    if ARCH_LE
yann@2772
   134
yann@1345
   135
#--------------------------------------
yann@1633
   136
config ARCH_SUPPORTS_32
yann@1633
   137
    bool
yann@1633
   138
yann@1633
   139
config ARCH_SUPPORTS_64
yann@1633
   140
    bool
yann@1633
   141
yann@1633
   142
config ARCH_DEFAULT_32
yann@1633
   143
    bool
yann@1633
   144
yann@1633
   145
config ARCH_DEFAULT_64
yann@1633
   146
    bool
yann@1633
   147
yann@1715
   148
config ARCH_BITNESS
yann@1715
   149
    int
yann@1715
   150
    default "32"    if ARCH_32
yann@1715
   151
    default "64"    if ARCH_64
yann@1715
   152
yann@1633
   153
choice
yann@1633
   154
    bool
yann@1633
   155
    prompt "Bitness:"
yann@1638
   156
    default ARCH_32 if ARCH_DEFAULT_32
yann@1638
   157
    default ARCH_64 if ARCH_DEFAULT_64
yann@1633
   158
yann@1638
   159
config ARCH_32
yann@1633
   160
    bool
yann@1633
   161
    prompt "32-bit"
yann@1633
   162
    depends on ARCH_SUPPORTS_32
yann@1633
   163
yann@1638
   164
config ARCH_64
yann@1633
   165
    bool
yann@1633
   166
    prompt "64-bit"
yann@1633
   167
    depends on ARCH_SUPPORTS_64
yann@1633
   168
yann@1633
   169
endchoice
yann@1633
   170
yann@1633
   171
#--------------------------------------
yann@1
   172
comment "Target optimisations"
yann@1
   173
yann@2788
   174
config ARCH_SUPPORTS_WITH_ARCH
yann@631
   175
    bool
yann@631
   176
yann@2788
   177
config ARCH_SUPPORTS_WITH_ABI
yann@631
   178
    bool
yann@631
   179
yann@2788
   180
config ARCH_SUPPORTS_WITH_CPU
yann@631
   181
    bool
yann@631
   182
yann@2788
   183
config ARCH_SUPPORTS_WITH_TUNE
yann@631
   184
    bool
yann@631
   185
yann@2789
   186
config ARCH_SUPPORTS_WITH_FLOAT
yann@2789
   187
    bool
yann@2789
   188
yann@2788
   189
config ARCH_SUPPORTS_WITH_FPU
yann@631
   190
    bool
yann@631
   191
yann@2788
   192
config ARCH_SUPPORTS_SOFTFP
michael@2739
   193
    bool
michael@2739
   194
yann@47
   195
config ARCH_ARCH
yann@47
   196
    string
yann@425
   197
    prompt "Architecture level"
yann@2788
   198
    depends on ARCH_SUPPORTS_WITH_ARCH
yann@47
   199
    default ""
yann@47
   200
    help
yann@47
   201
      GCC uses this name to determine what kind of instructions it can emit
yann@47
   202
      when generating assembly code. This option can be used in conjunction
yann@47
   203
      with or instead of the ARCH_CPU option (above), or a (command-line)
yann@47
   204
      -mcpu= option.
yann@47
   205
      
yann@47
   206
      This is the configuration flag --with-arch=XXXX, and the runtime flag
yann@47
   207
      -march=XXX.
yann@47
   208
      
yann@47
   209
      Pick a value from the gcc manual for your choosen gcc version and your
yann@47
   210
      target CPU.
yann@47
   211
      
yann@47
   212
      Leave blank if you don't know, or if your target architecture does not
yann@47
   213
      offer this option.
yann@47
   214
yann@45
   215
config ARCH_ABI
yann@45
   216
    string
yann@45
   217
    prompt "Generate code for the specific ABI"
yann@2788
   218
    depends on ARCH_SUPPORTS_WITH_ABI
yann@45
   219
    default ""
yann@45
   220
    help
yann@45
   221
      Generate code for the given ABI.
yann@45
   222
yann@47
   223
      This is the configuration flag --with-abi=XXXX, and the runtime flag
yann@47
   224
      -mabi=XXX.
yann@47
   225
yann@45
   226
      Pick a value from the gcc manual for your choosen gcc version and your
yann@45
   227
      target CPU.
yann@45
   228
antony@2564
   229
      Leave blank if you don't know, or if your target architecture does not
yann@45
   230
      offer this option.
yann@45
   231
yann@1
   232
config ARCH_CPU
yann@1
   233
    string
yann@1
   234
    prompt "Emit assembly for CPU"
yann@2788
   235
    depends on ARCH_SUPPORTS_WITH_CPU
yann@1
   236
    default ""
yann@1
   237
    help
yann@283
   238
      This specifies the name of the target processor. GCC uses this name
yann@1
   239
      to determine what kind of instructions it can emit when generating
yann@1
   240
      assembly code.
yann@1
   241
      
yann@47
   242
      This is the configuration flag --with-cpu=XXXX, and the runtime flag
yann@47
   243
      -mcpu=XXX.
yann@47
   244
yann@1
   245
      Pick a value from the gcc manual for your choosen gcc version and your
yann@1
   246
      target CPU.
yann@1
   247
      
yann@1
   248
      Leave blank if you don't know, or if your target architecture does not
yann@1
   249
      offer this option.
yann@1
   250
yann@1
   251
config ARCH_TUNE
yann@1
   252
    string
yann@1
   253
    prompt "Tune for CPU"
yann@2788
   254
    depends on ARCH_SUPPORTS_WITH_TUNE
yann@1
   255
    default ""
yann@1
   256
    help
yann@1
   257
      This option is very similar to the ARCH_CPU option (above), except
yann@1
   258
      that instead of specifying the actual target processor type, and hence
yann@1
   259
      restricting which instructions can be used, it specifies that GCC should
yann@1
   260
      tune the performance of the code as if the target were of the type
yann@1
   261
      specified in this option, but still choosing the instructions that it
yann@1
   262
      will generate based on the cpu specified by the ARCH_CPU option
yann@1
   263
      (above), or a (command-line) -mcpu= option.
yann@1
   264
      
yann@47
   265
      This is the configuration flag --with-tune=XXXX, and the runtime flag
yann@47
   266
      -mtune=XXX.
yann@1
   267
      
yann@1
   268
      Pick a value from the gcc manual for your choosen gcc version and your
yann@1
   269
      target CPU.
yann@1
   270
      
yann@1
   271
      Leave blank if you don't know, or if your target architecture does not
yann@1
   272
      offer this option.
yann@1
   273
yann@1
   274
config ARCH_FPU
yann@1
   275
    string
yann@47
   276
    prompt "Use specific FPU"
yann@2788
   277
    depends on ARCH_SUPPORTS_WITH_FPU
yann@1
   278
    default ""
yann@1
   279
    help
yann@1
   280
      On some targets (eg. ARM), you can specify the kind of FPU to emit
yann@1
   281
      code for.
yann@47
   282
yann@47
   283
      This is the configuration flag --with-fpu=XXX, and the runtime flag
yann@47
   284
      -mfpu=XXX.
yann@1
   285
      
yann@1
   286
      See below wether to actually emit FP opcodes, or to emulate them.
yann@1
   287
      
yann@1
   288
      Pick a value from the gcc manual for your choosen gcc version and your
yann@1
   289
      target CPU.
yann@1
   290
      
yann@1
   291
      Leave blank if you don't know, or if your target architecture does not
yann@1
   292
      offer this option.
yann@1
   293
yann@1
   294
choice
yann@1
   295
    bool
yann@1
   296
    prompt "Floating point:"
yann@2794
   297
    depends on ARCH_SUPPORTS_WITH_FLOAT
yann@1
   298
yann@1
   299
config ARCH_FLOAT_HW
yann@1
   300
    bool
yann@1
   301
    prompt "hardware (FPU)"
yann@1
   302
    help
yann@1
   303
      Emit hardware floating point opcodes.
yann@1
   304
      
yann@1
   305
      If you've got a processor with a FPU, then you want that.
yann@1
   306
      If your hardware has no FPU, you still can use HW floating point, but
yann@1
   307
      need to compile support for FPU emulation in your kernel. Needless to
yann@1
   308
      say that emulating the FPU is /slooowwwww/...
yann@1
   309
      
yann@1
   310
      One situation you'd want HW floating point without a FPU is if you get
yann@1
   311
      binary blobs from different vendors that are compiling this way and
yann@1
   312
      can't (don't wan't to) change.
yann@1
   313
michael@2739
   314
config ARCH_FLOAT_SOFTFP
michael@2739
   315
    bool
yann@3140
   316
    prompt "softfp (FPU)"
yann@2788
   317
    depends on ARCH_SUPPORTS_SOFTFP
michael@2739
   318
    help
michael@2739
   319
      Emit hardware floating point opcodes but use the software
michael@2739
   320
      floating point calling convention.
michael@2739
   321
michael@2739
   322
      Architectures such as ARM use different registers for passing
michael@2739
   323
      floating point values depending on if they're in software mode
michael@2739
   324
      or hardware mode.  softfp emits FPU instructions but uses the
michael@2739
   325
      software FP calling convention allowing softfp code to
michael@2739
   326
      interoperate with legacy software only code.
michael@2739
   327
michael@2739
   328
      If in doubt, use 'software' or 'hardware' mode instead.
michael@2739
   329
yann@3140
   330
config ARCH_FLOAT_SW
yann@3140
   331
    bool
yann@3140
   332
    prompt "software (no FPU)"
yann@3140
   333
    help
yann@3140
   334
      Do not emit any hardware floating point opcode.
yann@3140
   335
      
yann@3140
   336
      If your processor has no FPU, then you most probably want this, as it
yann@3140
   337
      is faster than emulating the FPU in the kernel.
yann@3140
   338
yann@1
   339
endchoice
yann@1
   340
yann@1
   341
config TARGET_CFLAGS
yann@1
   342
    string
yann@41
   343
    prompt "Target CFLAGS"
yann@1
   344
    default ""
yann@1
   345
    help
yann@1
   346
      Used to add specific options when compiling libraries of the toolchain,
yann@1
   347
      that will run on the target (eg. libc.so).
yann@1
   348
      
yann@531
   349
      Note that the options above for ARCH, ABI, CPU, TUNE and FPU will be
antony@2564
   350
      automatically used. You don't need to specify them here.
yann@1
   351
      
yann@1
   352
      Leave blank if you don't know better.
yann@1
   353
yann@767
   354
config TARGET_LDFLAGS
yann@767
   355
    string
yann@767
   356
    prompt "Target LDFLAGS"
yann@767
   357
    default ""
yann@767
   358
    help
yann@767
   359
      Used to add specific options when linking libraries of the toolchain,
yann@767
   360
      that will run on your target.
yann@767
   361
      
yann@767
   362
      Leave blank if you don't know better.
yann@767
   363
michael@2737
   364
config ARCH_FLOAT
michael@2737
   365
    string
yann@2794
   366
    default ""       if ! ARCH_SUPPORTS_WITH_FLOAT
michael@2737
   367
    default "hard"   if ARCH_FLOAT_HW
michael@2737
   368
    default "soft"   if ARCH_FLOAT_SW
michael@2739
   369
    default "softfp" if ARCH_FLOAT_SOFTFP
michael@2737
   370
yann@2413
   371
source "config.gen/arch.in.2"
yann@2413
   372
yann@1
   373
endmenu