config/target.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Jan 03 23:40:22 2011 +0100 (2011-01-03)
changeset 2267 7af68e6083aa
parent 1976 2d90ec981ba3
child 2413 ac27814977fd
permissions -rw-r--r--
libc-glibc: remove 2.3.6

This is an obsolete version which is no longer used by any sample (the only
user, the ia64 sample, has been removed).

It also makes the code path a bit complex, with twists just to accomodate
that version. Removing the version will make those twists go away, and
will ease commonalisation of glibc and eglibc in the future (hopefully!).

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