config/libc/glibc.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Mar 26 18:47:34 2009 +0000 (2009-03-26)
changeset 1268 5594b05bc2d8
parent 1114 c3516fc7460d
child 1269 17e37102a037
permissions -rw-r--r--
Add support for building toolchains with gcc-4.4 snapshots.
Initial patch by Dmitry PLOTNIKOV: http://sourceware.org/ml/crossgcc/2009-03/msg00053.html
It [the toolchain] uses current ct-ng (nightly snapshot 20090324, latest
release 1.3.2 work also), glibc 2.9 (from CVS), binutils 2.19 and latest
snapshot of GCC 4.4.0 (as of March 20, 2009).

We have successfully built linux kernel 2.6.29 and a lot of other stuff
with this toolchain.

Here's the patch that adds GCC 4.4.0 to the ct-ng menu and enables it to
download a 4.4.0 snapshot from ftp.

Patch was adpated by me, mostly to better fit the configuration layout.

/trunk/scripts/build/cc/gcc.sh | 34 22 12 0 ++++++++++++++++++++++------------
/trunk/config/cc/gcc.in | 35 30 5 0 ++++++++++++++++++++++++++++++-----
2 files changed, 52 insertions(+), 17 deletions(-)
yann@448
     1
# glibc options
yann@448
     2
yann@922
     3
config LIBC_glibc
yann@922
     4
    select LIBC_SUPPORT_NPTL
yann@922
     5
    select LIBC_SUPPORT_LINUXTHREADS
yann@922
     6
    help
yann@922
     7
      The de-facto standard for Linux distributions.
yann@922
     8
      Feature-rich, but large...  Most usefull for desktop-like systems.
yann@852
     9
yann@448
    10
choice
yann@448
    11
    bool
yann@448
    12
    prompt "glibc version"
yann@448
    13
yann@448
    14
config LIBC_V_2_3_6
yann@448
    15
    bool
yann@448
    16
    prompt "2.3.6 (OBSOLETE)"
yann@448
    17
    depends on OBSOLETE
yann@448
    18
yann@448
    19
config LIBC_V_2_5
yann@448
    20
    bool
yann@448
    21
    prompt "2.5"
yann@448
    22
yann@448
    23
config LIBC_V_2_5_1
yann@448
    24
    bool
yann@448
    25
    prompt "2.5.1"
yann@448
    26
yann@448
    27
config LIBC_V_2_6
yann@448
    28
    bool
yann@448
    29
    prompt "2.6"
yann@448
    30
yann@448
    31
config LIBC_V_2_6_1
yann@448
    32
    bool
yann@448
    33
    prompt "2.6.1"
yann@448
    34
yann@448
    35
config LIBC_V_2_7
yann@448
    36
    bool
yann@448
    37
    prompt "2.7"
yann@448
    38
yann@1114
    39
config LIBC_V_2_8
yann@1114
    40
    bool
yann@1260
    41
    prompt "2.8"
yann@1114
    42
yann@1114
    43
config LIBC_V_2_9
yann@1114
    44
    bool
yann@1260
    45
    prompt "2.9"
yann@1114
    46
yann@448
    47
# CT_INSERT_VERSION_ABOVE
yann@448
    48
# Don't remove above line!
yann@865
    49
yann@865
    50
config LIBC_V_LATEST
yann@865
    51
    bool
yann@865
    52
    prompt "'latest' snapshot (EXPERIMENTAL)"
yann@865
    53
    depends on EXPERIMENTAL
yann@865
    54
yann@865
    55
config LIBC_V_date
yann@865
    56
    bool
yann@865
    57
    prompt "<specific date> (EXPERIMENTAL)"
yann@865
    58
    depends on EXPERIMENTAL
yann@865
    59
yann@448
    60
endchoice
yann@448
    61
yann@448
    62
config LIBC_VERSION
yann@448
    63
    string
yann@710
    64
    prompt "Enter date (YYYYMMDD)" if LIBC_V_date
yann@710
    65
    default "latest" if LIBC_V_LATEST
yann@448
    66
    default "2.3.6" if LIBC_V_2_3_6
yann@448
    67
    default "2.4" if LIBC_V_2_4
yann@448
    68
    default "2.5" if LIBC_V_2_5
yann@448
    69
    default "2.5.1" if LIBC_V_2_5_1
yann@448
    70
    default "2.6" if LIBC_V_2_6
yann@448
    71
    default "2.6.1" if LIBC_V_2_6_1
yann@448
    72
    default "2.7" if LIBC_V_2_7
yann@1260
    73
    default "2.8" if LIBC_V_2_8
yann@1260
    74
    default "2.9" if LIBC_V_2_9
yann@448
    75
# CT_INSERT_VERSION_STRING_ABOVE
yann@448
    76
# Don't remove above line!
yann@448
    77
yann@1260
    78
choice
yann@1114
    79
    bool
yann@1260
    80
    prompt "Retrieval method"
yann@1260
    81
    default LIBC_GLIBC_TARBALL
yann@1114
    82
yann@1260
    83
config LIBC_GLIBC_TARBALL
yann@1260
    84
    bool
yann@1260
    85
    prompt "Released tarball"
yann@1260
    86
    help
yann@1260
    87
      Until end of Februrary 2009, there was no tarball for glibc releases
yann@1260
    88
      2.8 and later. This was intentional.
yann@1260
    89
      
yann@1260
    90
      Then, all of a sudden, tarballs for those releases have appeared at the
yann@1260
    91
      traditional download place (ftp.gnu.org).
yann@1260
    92
      
yann@1260
    93
      Some of the glibc people argue that fixes are committed to the maintenance
yann@1260
    94
      branch, and thus it is the best plac e to retrieve the glibc from.
yann@1260
    95
      On the other hand, it might be preferable to always generate a toolchain
yann@1260
    96
      using a known code-base, so the toolchain can be reproducible.
yann@1260
    97
      
yann@1260
    98
      For version prior to 2.8, tarballs were readily available.
yann@1260
    99
      
yann@1260
   100
      If you want your toolchain to really be reproducible, say 'Y' here.
yann@1260
   101
      If you can live with a moving code-base, look at the other choice
yann@1260
   102
      entries, below.
yann@1114
   103
yann@1260
   104
config LIBC_GLIBC_CVS
yann@1114
   105
    bool
yann@1260
   106
    prompt "CVS checkout"
yann@1114
   107
    help
yann@1260
   108
      See the help for the entry "Released tarball", above.
yann@1260
   109
      
yann@1260
   110
      If you can live with a moving code-base, say 'Y' here.
yann@1260
   111
      If you want your toolchain to really be reproducible, look at the
yann@1260
   112
      choice entry "Released tarball from FTP", above.
yann@1114
   113
yann@1260
   114
if LIBC_GLIBC_CVS
yann@1114
   115
yann@1114
   116
config LIBC_GLIBC_CVS_date
yann@1114
   117
    string
yann@1114
   118
    prompt "checkout as of date"
yann@1114
   119
    default ""
yann@1114
   120
    help
yann@1114
   121
      The date, in ISO-8601 format, at which to check out the repository.
yann@1114
   122
yann@1260
   123
endif #  LIBC_GLIBC_CVS
yann@1260
   124
yann@1260
   125
#config LIBC_GLIBC_SNAPSHOT
yann@1114
   126
#    bool
yann@1260
   127
#    prompt "Use latest nightly snapshot"
yann@1114
   128
#    help
yann@1260
   129
#      See the help for the entry "Released tarball", above.
yann@1260
   130
#      
yann@1260
   131
#      If you can live with a moving code-base, say 'Y' here.
yann@1260
   132
#      If you want your toolchain to really be reproducible, look at the
yann@1260
   133
#      choice entry "Released tarball from FTP", above.
yann@1114
   134
yann@1260
   135
endchoice