config/target.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Jun 11 21:47:19 2009 +0000 (2009-06-11)
branch1.4
changeset 1451 25d050084e98
parent 920 44dd635202a4
child 1345 27fec561af53
permissions -rw-r--r--
populate: fix installing dynamic linker 'ld.so'

The dynamic linker, ld.so, needs the execute bit to be set.
Detect tht the library being installed is in fact ld.so and
install it with 0755 instead of 0644.

Fix detecting src == dst.

Use a simpler command to copy src -> dst.

Also change echo to printf, get rid of 'echo -n', which is
highly non-portable.


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