config/target.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Jan 06 18:42:41 2010 +0100 (2010-01-06)
changeset 1696 f04fb2d52023
parent 1633 95c28d483690
child 1715 18eb650d191a
permissions -rw-r--r--
complibs/mpfr: add latest version 2.4.2

Note: the MPFR site happens to be down at the time I wrote
this message, and happens to be down quite often.

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