config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Feb 17 22:08:06 2008 +0000 (2008-02-17)
changeset 431 8bde4c6ea47a
parent 335 f0d84f1d4c93
child 530 010a5f732a6f
permissions -rw-r--r--
Robert P. J. DAY says:

apparently, the patchset for gcc 4.2.1 applies properly to the
source for gcc 4.2.2 and gcc 4.2.3. so, if you want, you can simply
add support for those last two just by augmenting menuconfig and
adding a couple symlinks for those two directories. seems like a
cheap way to add a couple new versions.
yann@41
     1
menu "Toolchain options"
yann@41
     2
yann@41
     3
comment "General toolchain options"
yann@41
     4
yann@41
     5
config USE_SYSROOT
yann@41
     6
    bool
yann@41
     7
    prompt "Use sysroot'ed toolchain"
yann@41
     8
    default y
yann@41
     9
    help
yann@41
    10
      Use the 'shinny new' sysroot feature of gcc: libraries split between
yann@41
    11
      prefix/target/sys-root/lib and prefix/target/sys-root/usr/lib
yann@41
    12
      
yann@41
    13
      You definitely want to say 'Y' here. Yes you do. I know you do. Say 'Y'.
yann@41
    14
yann@41
    15
config SHARED_LIBS
yann@41
    16
    bool
yann@41
    17
    prompt "Build shared libraries"
yann@41
    18
    default y
yann@41
    19
    help
yann@41
    20
      Say 'y' here, unless you don't want shared libraries.
yann@41
    21
      
yann@41
    22
      You might not want shared librries if you're building for a target that
yann@41
    23
      don't support it (maybe some nommu targets, for example, or bare metal).
yann@41
    24
yann@144
    25
choice
yann@144
    26
    bool
yann@425
    27
    prompt "Threading implementation to use:"
yann@144
    28
    default THREADS_NPTL           if LIBC_SUPPORT_NPTL
yann@144
    29
    default THREADS_LINUXTHREADS   if LIBC_SUPPORT_LINUXTHREADS && ! LIBC_SUPPORT_NPTL
yann@144
    30
    default THREADS_NONE           if ! LIBC_SUPPORT_LINUXTHREADS && ! LIBC_SUPPORT_NPTL
yann@144
    31
yann@144
    32
config THREADS_NPTL
yann@144
    33
    bool
yann@144
    34
    prompt "nptl"
yann@144
    35
    depends on LIBC_SUPPORT_NPTL
yann@144
    36
yann@144
    37
config THREADS_LINUXTHREADS
yann@144
    38
    bool
yann@144
    39
    prompt "linuxthreads"
yann@144
    40
    depends on LIBC_SUPPORT_LINUXTHREADS
yann@144
    41
yann@144
    42
config THREADS_NONE
yann@144
    43
    bool
yann@144
    44
    prompt "none"
yann@144
    45
yann@144
    46
endchoice
yann@144
    47
yann@144
    48
config THREADS
yann@144
    49
    string
yann@144
    50
    default "nptl"          if THREADS_NPTL
yann@144
    51
    default "linuxthreads"  if THREADS_LINUXTHREADS
yann@144
    52
    default "none"          if THREADS_NONE
yann@144
    53
yann@329
    54
#config TARGET_MULTILIB
yann@329
    55
#    bool
yann@41
    56
#    prompt "Enable 'multilib' support (EXPERIMENTAL)"
yann@329
    57
#    default n
yann@329
    58
#    depends on EXPERIMENTAL
yann@329
    59
#    help
yann@329
    60
#      Enable the so-called 'multilib' support.
yann@329
    61
#      
yann@329
    62
#      With the same toolchain, and on some architectures, you will be able to
yann@329
    63
#      build big and little endian binaries, soft- and hard-float, etc...
yann@329
    64
#      
yann@329
    65
#      See the gcc configure manual at http://gcc.gnu.org/install/configure.html
yann@329
    66
#      to see what multilib your target supports.
yann@329
    67
#      
yann@329
    68
#      It's preferable for now to build two (or more) toolchains, one for each
yann@329
    69
#      configuration you need to support (eg. one for thumb and one for ARM,
yann@329
    70
#      etc...). You can use the vendor string to diferentiate those toolchains.
yann@41
    71
yann@41
    72
config TARGET_VENDOR
yann@41
    73
    string
yann@41
    74
    prompt "Vendor string"
yann@41
    75
    default "unknown"
yann@41
    76
    help
yann@335
    77
      Vendor part of the target tuple.
yann@41
    78
      
yann@335
    79
      A tuple is of the form arch-vendor-kernel-system.
yann@41
    80
      You can set the second part, vendor, to whatever you see fit.
yann@41
    81
      Use a single word, or use underscores "_" to separate words.
yann@41
    82
      
yann@41
    83
      Keep the default (unkown) if you don't know better.
yann@41
    84
yann@321
    85
config TARGET_ALIAS_SED_EXPR
yann@321
    86
    string
yann@321
    87
    prompt "Target sed transform"
yann@321
    88
    default ""
yann@321
    89
    help
yann@321
    90
      Normaly, you'd call your toolchain components (especially gcc) by
yann@335
    91
      prefixing the target tuple followed by a dash and the component name
yann@321
    92
      (eg. armeb-unknown-linux-uclibc-gcc).
yann@321
    93
      
yann@321
    94
      You can enter here a sed expression to be applied to ${CT_TARGET} to
yann@321
    95
      create an alias for your toolchain.
yann@321
    96
      
yann@321
    97
      For example, "s/${CT_TARGET_VENDOR}/foobar/" (without the double quotes)
yann@321
    98
      will create the armeb-foobar-linux-uclibc alias to the above-mentioned
yann@321
    99
      toolchain.
yann@321
   100
      
yann@321
   101
      You shouldn't need to enter anything here, unless you plan to manually
yann@321
   102
      call the tools (autotools-based ./configure will use the standard name).
yann@321
   103
yann@41
   104
config TARGET_ALIAS
yann@41
   105
    string
yann@41
   106
    prompt "Target alias"
yann@41
   107
    default ""
yann@41
   108
    help
yann@321
   109
      Normaly, you'd call your toolchain components (especially gcc) by
yann@335
   110
      prefixing the target tuple followed by a dash and the component name
yann@41
   111
      (eg. armeb-unknown-linux-uclibc-gcc).
yann@41
   112
      
yann@41
   113
      You can enter a shortcut here. This string will be used to create
yann@41
   114
      symbolic links to the toolchain tools (eg. if you enter "foo-bar" here,
yann@41
   115
      then gcc for your toolchain will also be available as "foo-bar-gcc" along
yann@41
   116
      with the original name).
yann@41
   117
      
yann@41
   118
      You shouldn't need to enter anything here, unless you plan to manually
yann@41
   119
      call the tools (autotools-based ./configure will use the standard name).
yann@41
   120
yann@41
   121
comment "Toolchain type"
yann@41
   122
yann@41
   123
choice
yann@41
   124
    bool
yann@41
   125
    prompt "Type"
yann@41
   126
    default CROSS
yann@41
   127
yann@41
   128
config NATIVE
yann@41
   129
    bool
yann@41
   130
    prompt "Native (EXPERIMENTAL)"
yann@41
   131
    depends on EXPERIMENTAL
yann@41
   132
    help
yann@41
   133
      Build a native toolchain.
yann@41
   134
      See docs/overview.txt
yann@41
   135
yann@41
   136
config CROSS
yann@41
   137
    bool
yann@41
   138
    prompt "Cross"
yann@41
   139
    help
yann@41
   140
      Build a cross-toolchain.
yann@41
   141
      See docs/overview.txt
yann@41
   142
yann@41
   143
config CROSS_NATIVE
yann@41
   144
    bool
yann@425
   145
    prompt "Cross-native (EXPERIMENTAL)"
yann@41
   146
    depends on EXPERIMENTAL
yann@41
   147
    help
yann@41
   148
      Build a cross-native toolchain.
yann@41
   149
      See docs/overview.txt
yann@41
   150
yann@41
   151
config CANADIAN
yann@41
   152
    bool
yann@41
   153
    prompt "Canadian (EXPERIMENTAL)"
yann@41
   154
    depends on EXPERIMENTAL
yann@41
   155
    help
yann@41
   156
      Build a canadian-toolchain.
yann@41
   157
      See docs/overview.txt
yann@41
   158
yann@41
   159
endchoice
yann@41
   160
yann@96
   161
config TOOLCHAIN_TYPE
yann@96
   162
    string
yann@96
   163
    default "native"        if NATIVE
yann@96
   164
    default "cross"         if CROSS
yann@96
   165
    default "cross-native"  if CROSS_NATIVE
yann@96
   166
    default "canadian"      if CANADIAN
yann@96
   167
yann@41
   168
config BUILD 
yann@41
   169
    string
yann@335
   170
    prompt "Build system tuple"
yann@41
   171
    default ""
yann@41
   172
    help
yann@41
   173
      Canonical name of the machine building the toolchain.
yann@41
   174
      You should leave empty, unless you really now what you're doing.
yann@41
   175
yann@41
   176
config CC_NATIVE
yann@41
   177
    string
yann@41
   178
    prompt "Native gcc"
yann@41
   179
    default "gcc"
yann@41
   180
    help
yann@41
   181
      The native C compiler.
yann@41
   182
      
yann@41
   183
      You can set this to an alternative compiler if you have more than one
yann@41
   184
      installed (eg. gcc is gcc-4.1.1 and you want to use gcc-3.4.6).
yann@41
   185
      
yann@41
   186
      You can leave this empty as well, in which case gcc will be used.
yann@41
   187
yann@41
   188
config HOST
yann@41
   189
    string
yann@335
   190
    prompt "Host system tuple"
yann@41
   191
    default ""
yann@41
   192
    depends on NATIVE || CANADIAN
yann@41
   193
    help
yann@41
   194
      Canonical name of the machine running the toolchain.
yann@41
   195
yann@41
   196
config HOST_CC
yann@41
   197
    string
yann@41
   198
    prompt "Cross-compiler prefix for host system"
yann@41
   199
    default "${CT_HOST}-"
yann@41
   200
    depends on NATIVE || CANADIAN
yann@41
   201
    help
yann@41
   202
      C compiler targeting the host system.
yann@41
   203
yann@41
   204
config TARGET_CC
yann@41
   205
    string
yann@41
   206
    prompt "Cross-compiler prefix for target system"
yann@41
   207
    default "${CT_TARGET}-"
yann@41
   208
    depends on CANADIAN
yann@41
   209
    help
yann@41
   210
      C compiler targeting the target system.
yann@41
   211
yann@41
   212
endmenu