config/target.in
author Titus von Boxberg <titus@v9g.de>
Tue Nov 06 17:02:06 2012 +0100 (2012-11-06)
changeset 3103 a8bf927f6e37
parent 2794 561bce585313
child 3140 d9e78e89b3f6
permissions -rw-r--r--
Makefile.in: Use only standard options compatible with BSD install

Don't use options specific to FSF's coreutils install.

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