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