config/target.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Aug 02 18:28:10 2011 +0200 (2011-08-02)
changeset 2590 b64cfb67944e
parent 2484 d1a8c2ae7946
child 2737 b5179235b925
permissions -rw-r--r--
scripts/functions: svn retrieval first tries the mirror for tarballs

The svn download helper looks for the local tarballs dir to see if it
can find a pre-downloaded tarball, and if it does not find it, does
the actual fetch to upstream via svn.

In the process, it does not even try to get a tarball from the local
mirror, which can be useful if the mirror has been pre-populated
manually (or with a previously downloaded tree).

Fake a tarball get with the standard tarball-download helper, but
without specifying any upstream URL, which makes the helper directly
try the LAN mirror.

Of course, if no mirror is specified, no URL wil be available, and
the standard svn retrieval will kick in.

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