config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Sep 11 17:14:28 2007 +0000 (2007-09-11)
changeset 372 f635b165bf18
parent 329 419d959441ed
child 425 548b7aa23385
permissions -rw-r--r--
make-3.80 does not have $(lastword ...). Fix this when ct-ng calls itself: don't try to be smart, we just _know_ where ct-ng is at configure time!
Fis a latent bug in handling the number parallel jobs.
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@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@41
   145
    prompt "Croos-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