config/target.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Nov 30 00:25:22 2011 +0100 (2011-11-30)
changeset 2788 b6faa28e76e0
parent 2772 d4ac8609878e
child 2789 e6b5bd481942
permissions -rw-r--r--
arch: rename the SUPPORT_XXX options

First, 'SUPPORT' should be spelled 'SUPPORTS'.

Second, 'SUPPORT_XXX' really means 'supports --with-xxx', so rename the
affected options accordingly. Update the affected archs to match the new
namings.

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