config/target.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Sep 23 14:48:10 2008 +0000 (2008-09-23)
changeset 872 fd4bf138f08f
parent 850 ef8549b58b6f
child 920 44dd635202a4
permissions -rw-r--r--
Bart De VOS pointed out that removing absolute paths from the libc linker scripts is plainly wrong.
It dates from dawn ages of the original crosstool code, and is not well explained. At that time, binutils might not understand the sysroot stuff, and it was necessary to remove absolute paths in that case.

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