config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Aug 11 10:55:38 2007 +0000 (2007-08-11)
changeset 322 3f14c769a4dc
parent 144 27a0abfd46d1
child 329 419d959441ed
permissions -rw-r--r--
When adding a new experimental/obsolete version, mark it as so in the prompt.
     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 choice
    26     bool
    27     prompt "Threading implentation to use:"
    28     default THREADS_NPTL           if LIBC_SUPPORT_NPTL
    29     default THREADS_LINUXTHREADS   if LIBC_SUPPORT_LINUXTHREADS && ! LIBC_SUPPORT_NPTL
    30     default THREADS_NONE           if ! LIBC_SUPPORT_LINUXTHREADS && ! LIBC_SUPPORT_NPTL
    31 
    32 config THREADS_NPTL
    33     bool
    34     prompt "nptl"
    35     depends on LIBC_SUPPORT_NPTL
    36 
    37 config THREADS_LINUXTHREADS
    38     bool
    39     prompt "linuxthreads"
    40     depends on LIBC_SUPPORT_LINUXTHREADS
    41 
    42 config THREADS_NONE
    43     bool
    44     prompt "none"
    45 
    46 endchoice
    47 
    48 config THREADS
    49     string
    50     default "nptl"          if THREADS_NPTL
    51     default "linuxthreads"  if THREADS_LINUXTHREADS
    52     default "none"          if THREADS_NONE
    53 
    54 config TARGET_MULTILIB
    55     bool
    56 #    prompt "Enable 'multilib' support (EXPERIMENTAL)"
    57     default n
    58     help
    59       Enable the so-called 'multilib' support.
    60       
    61       With the same toolchain, and on some architectures, you will be able to
    62       build big and little endian binaries, soft- and hard-float, etc...
    63       
    64       See the gcc configure manual at http://gcc.gnu.org/install/configure.html
    65       to see what multilib your target supports.
    66       
    67       It's preferable for now to build two (or more) toolchains, one for each
    68       configuration you need to support (eg. one for thumb and one for ARM,
    69       etc...). You can use the vendor string to diferentiate those toolchains.
    70 
    71 config TARGET_VENDOR
    72     string
    73     prompt "Vendor string"
    74     default "unknown"
    75     help
    76       Vendor part of the machine triplet.
    77       
    78       A triplet is of the form arch-vendor-kernel-system.
    79       You can set the second part, vendor, to whatever you see fit.
    80       Use a single word, or use underscores "_" to separate words.
    81       
    82       Keep the default (unkown) if you don't know better.
    83 
    84 config TARGET_ALIAS_SED_EXPR
    85     string
    86     prompt "Target sed transform"
    87     default ""
    88     help
    89       Normaly, you'd call your toolchain components (especially gcc) by
    90       prefixing the target triplet followed by a dash and the component name
    91       (eg. armeb-unknown-linux-uclibc-gcc).
    92       
    93       You can enter here a sed expression to be applied to ${CT_TARGET} to
    94       create an alias for your toolchain.
    95       
    96       For example, "s/${CT_TARGET_VENDOR}/foobar/" (without the double quotes)
    97       will create the armeb-foobar-linux-uclibc alias to the above-mentioned
    98       toolchain.
    99       
   100       You shouldn't need to enter anything here, unless you plan to manually
   101       call the tools (autotools-based ./configure will use the standard name).
   102 
   103 config TARGET_ALIAS
   104     string
   105     prompt "Target alias"
   106     default ""
   107     help
   108       Normaly, you'd call your toolchain components (especially gcc) by
   109       prefixing the target triplet followed by a dash and the component name
   110       (eg. armeb-unknown-linux-uclibc-gcc).
   111       
   112       You can enter a shortcut here. This string will be used to create
   113       symbolic links to the toolchain tools (eg. if you enter "foo-bar" here,
   114       then gcc for your toolchain will also be available as "foo-bar-gcc" along
   115       with the original name).
   116       
   117       You shouldn't need to enter anything here, unless you plan to manually
   118       call the tools (autotools-based ./configure will use the standard name).
   119 
   120 comment "Toolchain type"
   121 
   122 choice
   123     bool
   124     prompt "Type"
   125     default CROSS
   126 
   127 config NATIVE
   128     bool
   129     prompt "Native (EXPERIMENTAL)"
   130     depends on EXPERIMENTAL
   131     help
   132       Build a native toolchain.
   133       See docs/overview.txt
   134 
   135 config CROSS
   136     bool
   137     prompt "Cross"
   138     help
   139       Build a cross-toolchain.
   140       See docs/overview.txt
   141 
   142 config CROSS_NATIVE
   143     bool
   144     prompt "Croos-native (EXPERIMENTAL)"
   145     depends on EXPERIMENTAL
   146     help
   147       Build a cross-native toolchain.
   148       See docs/overview.txt
   149 
   150 config CANADIAN
   151     bool
   152     prompt "Canadian (EXPERIMENTAL)"
   153     depends on EXPERIMENTAL
   154     help
   155       Build a canadian-toolchain.
   156       See docs/overview.txt
   157 
   158 endchoice
   159 
   160 config TOOLCHAIN_TYPE
   161     string
   162     default "native"        if NATIVE
   163     default "cross"         if CROSS
   164     default "cross-native"  if CROSS_NATIVE
   165     default "canadian"      if CANADIAN
   166 
   167 config BUILD 
   168     string
   169     prompt "Build system triplet"
   170     default ""
   171     help
   172       Canonical name of the machine building the toolchain.
   173       You should leave empty, unless you really now what you're doing.
   174 
   175 config CC_NATIVE
   176     string
   177     prompt "Native gcc"
   178     default "gcc"
   179     help
   180       The native C compiler.
   181       
   182       You can set this to an alternative compiler if you have more than one
   183       installed (eg. gcc is gcc-4.1.1 and you want to use gcc-3.4.6).
   184       
   185       You can leave this empty as well, in which case gcc will be used.
   186 
   187 config HOST
   188     string
   189     prompt "Host system triplet"
   190     default ""
   191     depends on NATIVE || CANADIAN
   192     help
   193       Canonical name of the machine running the toolchain.
   194 
   195 config HOST_CC
   196     string
   197     prompt "Cross-compiler prefix for host system"
   198     default "${CT_HOST}-"
   199     depends on NATIVE || CANADIAN
   200     help
   201       C compiler targeting the host system.
   202 
   203 config TARGET_CC
   204     string
   205     prompt "Cross-compiler prefix for target system"
   206     default "${CT_TARGET}-"
   207     depends on CANADIAN
   208     help
   209       C compiler targeting the target system.
   210 
   211 endmenu