yann@1
|
1 |
# This file adds functions to build binutils
|
yann@1
|
2 |
# Copyright 2007 Yann E. MORIN
|
yann@1
|
3 |
# Licensed under the GPL v2. See COPYING in the root of this package
|
yann@1
|
4 |
|
yann@63
|
5 |
# Download binutils
|
yann@63
|
6 |
do_binutils_get() {
|
yann@63
|
7 |
CT_GetFile "${CT_BINUTILS_FILE}" \
|
yann@63
|
8 |
ftp://ftp.gnu.org/gnu/binutils \
|
yann@63
|
9 |
ftp://ftp.kernel.org/pub/linux/devel/binutils
|
yann@63
|
10 |
}
|
yann@63
|
11 |
|
yann@63
|
12 |
# Extract binutils
|
yann@63
|
13 |
do_binutils_extract() {
|
yann@63
|
14 |
CT_ExtractAndPatch "${CT_BINUTILS_FILE}"
|
yann@63
|
15 |
}
|
yann@63
|
16 |
|
yann@63
|
17 |
# Build binutils
|
yann@1
|
18 |
do_binutils() {
|
yann@1
|
19 |
mkdir -p "${CT_BUILD_DIR}/build-binutils"
|
yann@1
|
20 |
cd "${CT_BUILD_DIR}/build-binutils"
|
yann@1
|
21 |
|
yann@1
|
22 |
CT_DoStep INFO "Installing binutils"
|
yann@1
|
23 |
|
yann@1
|
24 |
CT_DoLog EXTRA "Configuring binutils"
|
yann@1
|
25 |
CFLAGS="${CT_CFLAGS_FOR_HOST}" \
|
yann@1
|
26 |
"${CT_SRC_DIR}/${CT_BINUTILS_FILE}/configure" \
|
yann@1
|
27 |
${CT_CANADIAN_OPT} \
|
yann@116
|
28 |
--build=${CT_BUILD} \
|
yann@116
|
29 |
--host=${CT_HOST} \
|
yann@1
|
30 |
--target=${CT_TARGET} \
|
yann@1
|
31 |
--prefix=${CT_PREFIX_DIR} \
|
yann@1
|
32 |
--disable-nls \
|
yann@1
|
33 |
${CT_BINUTILS_EXTRA_CONFIG} \
|
yann@78
|
34 |
${BINUTILS_SYSROOT_ARG} 2>&1 |CT_DoLog ALL
|
yann@1
|
35 |
|
yann@1
|
36 |
CT_DoLog EXTRA "Building binutils"
|
yann@78
|
37 |
make ${PARALLELMFLAGS} 2>&1 |CT_DoLog ALL
|
yann@1
|
38 |
|
yann@1
|
39 |
CT_DoLog EXTRA "Installing binutils"
|
yann@78
|
40 |
make install 2>&1 |CT_DoLog ALL
|
yann@1
|
41 |
|
yann@136
|
42 |
# Make those new tools available to the core C compilers to come:
|
yann@1
|
43 |
# Note: some components want the ${TARGET}-{ar,as,ld,strip} commands as
|
yann@1
|
44 |
# well. Create that (libfloat is one such sucker).
|
yann@136
|
45 |
mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}/${CT_TARGET}/bin"
|
yann@136
|
46 |
mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}/bin"
|
yann@136
|
47 |
mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}/${CT_TARGET}/bin"
|
yann@136
|
48 |
mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}/bin"
|
yann@1
|
49 |
for t in ar as ld strip; do
|
yann@136
|
50 |
ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_STATIC_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
|
yann@136
|
51 |
ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_STATIC_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
|
yann@136
|
52 |
ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_SHARED_PREFIX_DIR}/${CT_TARGET}/bin/${t}"
|
yann@136
|
53 |
ln -sv "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${t}" "${CT_CC_CORE_SHARED_PREFIX_DIR}/bin/${CT_TARGET}-${t}"
|
yann@78
|
54 |
done |CT_DoLog ALL
|
yann@1
|
55 |
|
yann@1
|
56 |
CT_EndStep
|
yann@1
|
57 |
}
|