1 # This file adds functions to build glibc
2 # Copyright 2007 Yann E. MORIN
3 # Licensed under the GPL v2. See COPYING in the root of this package
5 # Add the definitions common to glibc and eglibc
8 . "${CT_LIB_DIR}/scripts/build/libc/glibc-eglibc.sh-common"
16 addons_list=($(do_libc_add_ons_list " "))
19 CT_GetFile "glibc-${CT_LIBC_VERSION}" \
20 {ftp,http}://ftp.gnu.org/gnu/glibc \
21 ftp://gcc.gnu.org/pub/glibc/releases \
22 ftp://gcc.gnu.org/pub/glibc/snapshots
25 for addon in "${addons_list[@]}"; do
26 # NPTL addon is not to be downloaded, in any case
27 [ "${addon}" = "nptl" ] && continue || true
28 CT_GetFile "glibc-${addon}-${CT_LIBC_VERSION}" \
29 {ftp,http}://ftp.gnu.org/gnu/glibc \
30 ftp://gcc.gnu.org/pub/glibc/releases \
31 ftp://gcc.gnu.org/pub/glibc/snapshots
41 addons_list=($(do_libc_add_ons_list " "))
43 CT_Extract "glibc-${CT_LIBC_VERSION}"
45 CT_Pushd "${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}"
46 CT_Patch nochdir "glibc" "${CT_LIBC_VERSION}"
49 for addon in "${addons_list[@]}"; do
50 # NPTL addon is not to be extracted, in any case
51 [ "${addon}" = "nptl" ] && continue || true
52 CT_Extract nochdir "glibc-${addon}-${CT_LIBC_VERSION}"
54 # Some addons have the 'long' name, while others have the
55 # 'short' name, but patches are non-uniformly built with
56 # either the 'long' or 'short' name, whatever the addons name
57 # so we have to make symlinks from the existing to the missing
58 # Fortunately for us, [ -d foo ], when foo is a symlink to a
59 # directory, returns true!
60 [ -d "${addon}" ] || CT_DoExecLog ALL ln -s "glibc-${addon}-${CT_LIBC_VERSION}" "${addon}"
61 [ -d "glibc-${addon}-${CT_LIBC_VERSION}" ] || CT_DoExecLog ALL ln -s "${addon}" "glibc-${addon}-${CT_LIBC_VERSION}"
62 CT_Patch nochdir "glibc" "${addon}-${CT_LIBC_VERSION}"
65 # The configure files may be older than the configure.in files
66 # if using a snapshot (or even some tarballs). Fake them being
69 find . -type f -name configure -exec touch {} \; 2>&1 |CT_DoLog ALL
76 # There is nothing to do for glibc check config
77 do_libc_check_config() {