config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Apr 17 22:24:42 2007 +0000 (2007-04-17)
changeset 41 fd6ad5721f77
child 47 7e2539937b6e
permissions -rw-r--r--
Add the EXPERIMENTAL option to show options marked as such.
Add the four types of toolchains ct-ng is able to build as EXPERIMENTAL, except for CROSS which *is* functional.
Reorder menus accordingly.
     1 menu "Toolchain options"
     2 
     3 comment "General toolchain options"
     4 
     5 config USE_SYSROOT
     6     bool
     7     prompt "Use sysroot'ed toolchain"
     8     default y
     9     help
    10       Use the 'shinny new' sysroot feature of gcc: libraries split between
    11       prefix/target/sys-root/lib and prefix/target/sys-root/usr/lib
    12       
    13       You definitely want to say 'Y' here. Yes you do. I know you do. Say 'Y'.
    14 
    15 config SHARED_LIBS
    16     bool
    17     prompt "Build shared libraries"
    18     default y
    19     help
    20       Say 'y' here, unless you don't want shared libraries.
    21       
    22       You might not want shared librries if you're building for a target that
    23       don't support it (maybe some nommu targets, for example, or bare metal).
    24 
    25 config TARGET_MULTILIB
    26     bool
    27 #    prompt "Enable 'multilib' support (EXPERIMENTAL)"
    28     default n
    29     help
    30       Enable the so-called 'multilib' support.
    31       
    32       With the same toolchain, and on some architectures, you will be able to
    33       build big and little endian binaries, soft- and hard-float, etc...
    34       
    35       See the gcc configure manual at http://gcc.gnu.org/install/configure.html
    36       to see what multilib your target supports.
    37       
    38       It's preferable for now to build two (or more) toolchains, one for each
    39       configuration you need to support (eg. one for thumb and one for ARM,
    40       etc...). You can use the vendor string to diferentiate those toolchains.
    41 
    42 config TARGET_VENDOR
    43     string
    44     prompt "Vendor string"
    45     default "unknown"
    46     help
    47       Vendor part of the machine triplet.
    48       
    49       A triplet is of the form arch-vendor-kernel-system.
    50       You can set the second part, vendor, to whatever you see fit.
    51       Use a single word, or use underscores "_" to separate words.
    52       
    53       Keep the default (unkown) if you don't know better.
    54 
    55 config TARGET_ALIAS
    56     string
    57     prompt "Target alias"
    58     default ""
    59     help
    60       Normaly, you'd call your toolchain component (especially gcc) by
    61       prefixing the target triplet followed by a dash and the component name
    62       (eg. armeb-unknown-linux-uclibc-gcc).
    63       
    64       You can enter a shortcut here. This string will be used to create
    65       symbolic links to the toolchain tools (eg. if you enter "foo-bar" here,
    66       then gcc for your toolchain will also be available as "foo-bar-gcc" along
    67       with the original name).
    68       
    69       You shouldn't need to enter anything here, unless you plan to manually
    70       call the tools (autotools-based ./configure will use the standard name).
    71 
    72 config ARCH
    73     string
    74     default "arm"     if ARCH_ARM
    75     default "mips"    if ARCH_MIPS
    76     default "x86"     if ARCH_x86
    77     default "x86_64"  if ARCH_x86_64
    78 
    79 comment "Toolchain type"
    80 
    81 choice
    82     bool
    83     prompt "Type"
    84     default CROSS
    85 
    86 config NATIVE
    87     bool
    88     prompt "Native (EXPERIMENTAL)"
    89     depends on EXPERIMENTAL
    90     help
    91       Build a native toolchain.
    92       See docs/overview.txt
    93 
    94 config CROSS
    95     bool
    96     prompt "Cross"
    97     help
    98       Build a cross-toolchain.
    99       See docs/overview.txt
   100 
   101 config CROSS_NATIVE
   102     bool
   103     prompt "Croos-native (EXPERIMENTAL)"
   104     depends on EXPERIMENTAL
   105     help
   106       Build a cross-native toolchain.
   107       See docs/overview.txt
   108 
   109 config CANADIAN
   110     bool
   111     prompt "Canadian (EXPERIMENTAL)"
   112     depends on EXPERIMENTAL
   113     default n
   114     help
   115       Build a canadian-toolchain.
   116       See docs/overview.txt
   117 
   118 endchoice
   119 
   120 config BUILD 
   121     string
   122     prompt "Build system triplet"
   123     default ""
   124     help
   125       Canonical name of the machine building the toolchain.
   126       You should leave empty, unless you really now what you're doing.
   127 
   128 config CC_NATIVE
   129     string
   130     prompt "Native gcc"
   131     default "gcc"
   132     help
   133       The native C compiler.
   134       
   135       You can set this to an alternative compiler if you have more than one
   136       installed (eg. gcc is gcc-4.1.1 and you want to use gcc-3.4.6).
   137       
   138       You can leave this empty as well, in which case gcc will be used.
   139 
   140 config HOST
   141     string
   142     prompt "Host system triplet"
   143     default ""
   144     depends on NATIVE || CANADIAN
   145     help
   146       Canonical name of the machine running the toolchain.
   147 
   148 config HOST_CC
   149     string
   150     prompt "Cross-compiler prefix for host system"
   151     default "${CT_HOST}-"
   152     depends on NATIVE || CANADIAN
   153     help
   154       C compiler targeting the host system.
   155 
   156 config TARGET_CC
   157     string
   158     prompt "Cross-compiler prefix for target system"
   159     default "${CT_TARGET}-"
   160     depends on CANADIAN
   161     help
   162       C compiler targeting the target system.
   163 
   164 endmenu