config/target.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Aug 30 19:33:48 2009 +0200 (2009-08-30)
changeset 1497 1b90f0b34c80
parent 1038 33f695f7773a
child 1586 1fbb4a9d94fc
permissions -rw-r--r--
config: move down companion libraries sub-menu

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