config/target.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Aug 15 14:59:37 2007 +0000 (2007-08-15)
changeset 333 d647d0e6021e
parent 283 defda3b376bf
child 347 10d6514f4f94
permissions -rw-r--r--
Add the possibility to force the number of // jobs without reconfiguring.
     1 # Target definition: architecture, optimisations, etc...
     2 
     3 menu "Target options"
     4 
     5 comment "General target options"
     6 
     7 config ARCH
     8     string
     9     default "arm"     if ARCH_ARM
    10     default "mips"    if ARCH_MIPS
    11     default "x86"     if ARCH_x86
    12     default "x86_64"  if ARCH_x86_64
    13 
    14 choice
    15     bool
    16     prompt "Target architecture:"
    17     default ARCH_x86
    18 
    19 config ARCH_ARM
    20     bool
    21     prompt "arm"
    22     select ARCH_SUPPORTS_BOTH_ENDIAN
    23 
    24 config ARCH_MIPS
    25     bool
    26     prompt "mips"
    27     select ARCH_SUPPORTS_BOTH_ENDIAN
    28 
    29 config ARCH_x86
    30     bool
    31     prompt "x86"
    32 
    33 config ARCH_x86_64
    34     bool
    35     prompt "x86_64"
    36 
    37 endchoice
    38 
    39 config ARCH_SUPPORTS_BOTH_ENDIAN
    40     bool
    41     default n
    42 
    43 choice
    44     bool
    45     prompt "Endianness:"
    46     depends on ARCH_SUPPORTS_BOTH_ENDIAN
    47 
    48 config ARCH_BE
    49     bool
    50     prompt "Big endian"
    51 
    52 config ARCH_LE
    53     bool
    54     prompt "Little endian"
    55 
    56 endchoice
    57 
    58 comment "Target optimisations"
    59 
    60 config ARCH_ARCH
    61     string
    62     prompt "Achitecture level"
    63     default ""
    64     help
    65       GCC uses this name to determine what kind of instructions it can emit
    66       when generating assembly code. This option can be used in conjunction
    67       with or instead of the ARCH_CPU option (above), or a (command-line)
    68       -mcpu= option.
    69       
    70       This is the configuration flag --with-arch=XXXX, and the runtime flag
    71       -march=XXX.
    72       
    73       Pick a value from the gcc manual for your choosen gcc version and your
    74       target CPU.
    75       
    76       Leave blank if you don't know, or if your target architecture does not
    77       offer this option.
    78 
    79 config ARCH_ABI
    80     string
    81     prompt "Generate code for the specific ABI"
    82     default ""
    83     help
    84       Generate code for the given ABI.
    85 
    86       This is the configuration flag --with-abi=XXXX, and the runtime flag
    87       -mabi=XXX.
    88 
    89       Pick a value from the gcc manual for your choosen gcc version and your
    90       target CPU.
    91 
    92       Leave blank if you don't know, or if your target architecutre does not
    93       offer this option.
    94 
    95 config ARCH_CPU
    96     string
    97     prompt "Emit assembly for CPU"
    98     default ""
    99     help
   100       This specifies the name of the target processor. GCC uses this name
   101       to determine what kind of instructions it can emit when generating
   102       assembly code.
   103       
   104       This is the configuration flag --with-cpu=XXXX, and the runtime flag
   105       -mcpu=XXX.
   106 
   107       Pick a value from the gcc manual for your choosen gcc version and your
   108       target CPU.
   109       
   110       Leave blank if you don't know, or if your target architecture does not
   111       offer this option.
   112 
   113 config ARCH_TUNE
   114     string
   115     prompt "Tune for CPU"
   116     default ""
   117     help
   118       This option is very similar to the ARCH_CPU option (above), except
   119       that instead of specifying the actual target processor type, and hence
   120       restricting which instructions can be used, it specifies that GCC should
   121       tune the performance of the code as if the target were of the type
   122       specified in this option, but still choosing the instructions that it
   123       will generate based on the cpu specified by the ARCH_CPU option
   124       (above), or a (command-line) -mcpu= option.
   125       
   126       This is the configuration flag --with-tune=XXXX, and the runtime flag
   127       -mtune=XXX.
   128       
   129       Pick a value from the gcc manual for your choosen gcc version and your
   130       target CPU.
   131       
   132       Leave blank if you don't know, or if your target architecture does not
   133       offer this option.
   134 
   135 config ARCH_FPU
   136     string
   137     prompt "Use specific FPU"
   138     default ""
   139     help
   140       On some targets (eg. ARM), you can specify the kind of FPU to emit
   141       code for.
   142 
   143       This is the configuration flag --with-fpu=XXX, and the runtime flag
   144       -mfpu=XXX.
   145       
   146       See below wether to actually emit FP opcodes, or to emulate them.
   147       
   148       Pick a value from the gcc manual for your choosen gcc version and your
   149       target CPU.
   150       
   151       Leave blank if you don't know, or if your target architecture does not
   152       offer this option.
   153 
   154 choice
   155     bool
   156     prompt "Floating point:"
   157 
   158 config ARCH_FLOAT_HW
   159     bool
   160     prompt "hardware (FPU)"
   161     help
   162       Emit hardware floating point opcodes.
   163       
   164       If you've got a processor with a FPU, then you want that.
   165       If your hardware has no FPU, you still can use HW floating point, but
   166       need to compile support for FPU emulation in your kernel. Needless to
   167       say that emulating the FPU is /slooowwwww/...
   168       
   169       One situation you'd want HW floating point without a FPU is if you get
   170       binary blobs from different vendors that are compiling this way and
   171       can't (don't wan't to) change.
   172 
   173 config ARCH_FLOAT_SW
   174     bool
   175     prompt "software"
   176     help
   177       Do not emit any hardware floating point opcode.
   178       
   179       If your processor has no FPU, then you most probably want this, as it
   180       is faster than emulating the FPU in the kernel.
   181 
   182 endchoice
   183 
   184 config TARGET_CFLAGS
   185     string
   186     prompt "Target CFLAGS"
   187     default ""
   188     help
   189       Used to add specific options when compiling libraries of the toolchain,
   190       that will run on the target (eg. libc.so).
   191       
   192       Note that the options above for CPU, tune, arch and FPU will be
   193       automaticaly used. You don't need to specify them here.
   194       
   195       Leave blank if you don't know better.
   196 
   197 endmenu