config/target.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu May 21 19:00:55 2009 +0000 (2009-05-21)
branchgcc-4.4
changeset 1368 ec1cffe6d30b
parent 1038 33f695f7773a
child 1586 1fbb4a9d94fc
permissions -rw-r--r--
/devel/gcc-4.4:
- trivial spelling fix in TODO

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