config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 27 16:35:37 2008 +0000 (2008-07-27)
changeset 740 d26d8cc7c460
parent 425 548b7aa23385
child 802 4c6b50e0021a
permissions -rw-r--r--
Fix building x86_64 on x86_64 (and hopefully all other *64 archs on the same *64):
- symlink all lib64/ dirs to the corresponding lib/ dir
Also, prevent gcc from installing some of its target libs outside of the sys-root, in the first place.
Thanks to Laurent DUFRECHOU for reporting the bug and testing the fix.

/trunk/scripts/build/cc_gcc.sh | 26 0 26 0 --------------------------
/trunk/scripts/crosstool.sh | 14 14 0 0 ++++++++++++++
2 files changed, 14 insertions(+), 26 deletions(-)
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@41
    54
config TARGET_VENDOR
yann@41
    55
    string
yann@41
    56
    prompt "Vendor string"
yann@41
    57
    default "unknown"
yann@41
    58
    help
yann@335
    59
      Vendor part of the target tuple.
yann@41
    60
      
yann@335
    61
      A tuple is of the form arch-vendor-kernel-system.
yann@41
    62
      You can set the second part, vendor, to whatever you see fit.
yann@41
    63
      Use a single word, or use underscores "_" to separate words.
yann@41
    64
      
yann@41
    65
      Keep the default (unkown) if you don't know better.
yann@41
    66
yann@321
    67
config TARGET_ALIAS_SED_EXPR
yann@321
    68
    string
yann@321
    69
    prompt "Target sed transform"
yann@321
    70
    default ""
yann@321
    71
    help
yann@321
    72
      Normaly, you'd call your toolchain components (especially gcc) by
yann@335
    73
      prefixing the target tuple followed by a dash and the component name
yann@321
    74
      (eg. armeb-unknown-linux-uclibc-gcc).
yann@321
    75
      
yann@321
    76
      You can enter here a sed expression to be applied to ${CT_TARGET} to
yann@321
    77
      create an alias for your toolchain.
yann@321
    78
      
yann@321
    79
      For example, "s/${CT_TARGET_VENDOR}/foobar/" (without the double quotes)
yann@321
    80
      will create the armeb-foobar-linux-uclibc alias to the above-mentioned
yann@321
    81
      toolchain.
yann@321
    82
      
yann@321
    83
      You shouldn't need to enter anything here, unless you plan to manually
yann@321
    84
      call the tools (autotools-based ./configure will use the standard name).
yann@321
    85
yann@41
    86
config TARGET_ALIAS
yann@41
    87
    string
yann@41
    88
    prompt "Target alias"
yann@41
    89
    default ""
yann@41
    90
    help
yann@321
    91
      Normaly, you'd call your toolchain components (especially gcc) by
yann@335
    92
      prefixing the target tuple followed by a dash and the component name
yann@41
    93
      (eg. armeb-unknown-linux-uclibc-gcc).
yann@41
    94
      
yann@41
    95
      You can enter a shortcut here. This string will be used to create
yann@41
    96
      symbolic links to the toolchain tools (eg. if you enter "foo-bar" here,
yann@41
    97
      then gcc for your toolchain will also be available as "foo-bar-gcc" along
yann@41
    98
      with the original name).
yann@41
    99
      
yann@41
   100
      You shouldn't need to enter anything here, unless you plan to manually
yann@41
   101
      call the tools (autotools-based ./configure will use the standard name).
yann@41
   102
yann@41
   103
comment "Toolchain type"
yann@41
   104
yann@41
   105
choice
yann@41
   106
    bool
yann@41
   107
    prompt "Type"
yann@41
   108
    default CROSS
yann@41
   109
yann@41
   110
config NATIVE
yann@41
   111
    bool
yann@41
   112
    prompt "Native (EXPERIMENTAL)"
yann@41
   113
    depends on EXPERIMENTAL
yann@41
   114
    help
yann@41
   115
      Build a native toolchain.
yann@41
   116
      See docs/overview.txt
yann@41
   117
yann@41
   118
config CROSS
yann@41
   119
    bool
yann@41
   120
    prompt "Cross"
yann@41
   121
    help
yann@41
   122
      Build a cross-toolchain.
yann@41
   123
      See docs/overview.txt
yann@41
   124
yann@41
   125
config CROSS_NATIVE
yann@41
   126
    bool
yann@425
   127
    prompt "Cross-native (EXPERIMENTAL)"
yann@41
   128
    depends on EXPERIMENTAL
yann@41
   129
    help
yann@41
   130
      Build a cross-native toolchain.
yann@41
   131
      See docs/overview.txt
yann@41
   132
yann@41
   133
config CANADIAN
yann@41
   134
    bool
yann@41
   135
    prompt "Canadian (EXPERIMENTAL)"
yann@41
   136
    depends on EXPERIMENTAL
yann@41
   137
    help
yann@41
   138
      Build a canadian-toolchain.
yann@41
   139
      See docs/overview.txt
yann@41
   140
yann@41
   141
endchoice
yann@41
   142
yann@96
   143
config TOOLCHAIN_TYPE
yann@96
   144
    string
yann@96
   145
    default "native"        if NATIVE
yann@96
   146
    default "cross"         if CROSS
yann@96
   147
    default "cross-native"  if CROSS_NATIVE
yann@96
   148
    default "canadian"      if CANADIAN
yann@96
   149
yann@41
   150
config BUILD 
yann@41
   151
    string
yann@335
   152
    prompt "Build system tuple"
yann@41
   153
    default ""
yann@41
   154
    help
yann@41
   155
      Canonical name of the machine building the toolchain.
yann@41
   156
      You should leave empty, unless you really now what you're doing.
yann@41
   157
yann@41
   158
config CC_NATIVE
yann@41
   159
    string
yann@41
   160
    prompt "Native gcc"
yann@41
   161
    default "gcc"
yann@41
   162
    help
yann@41
   163
      The native C compiler.
yann@41
   164
      
yann@41
   165
      You can set this to an alternative compiler if you have more than one
yann@41
   166
      installed (eg. gcc is gcc-4.1.1 and you want to use gcc-3.4.6).
yann@41
   167
      
yann@41
   168
      You can leave this empty as well, in which case gcc will be used.
yann@41
   169
yann@41
   170
config HOST
yann@41
   171
    string
yann@335
   172
    prompt "Host system tuple"
yann@41
   173
    default ""
yann@41
   174
    depends on NATIVE || CANADIAN
yann@41
   175
    help
yann@41
   176
      Canonical name of the machine running the toolchain.
yann@41
   177
yann@41
   178
config HOST_CC
yann@41
   179
    string
yann@41
   180
    prompt "Cross-compiler prefix for host system"
yann@41
   181
    default "${CT_HOST}-"
yann@41
   182
    depends on NATIVE || CANADIAN
yann@41
   183
    help
yann@41
   184
      C compiler targeting the host system.
yann@41
   185
yann@41
   186
config TARGET_CC
yann@41
   187
    string
yann@41
   188
    prompt "Cross-compiler prefix for target system"
yann@41
   189
    default "${CT_TARGET}-"
yann@41
   190
    depends on CANADIAN
yann@41
   191
    help
yann@41
   192
      C compiler targeting the target system.
yann@41
   193
yann@41
   194
endmenu