author | "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> |
Sun Oct 25 23:35:55 2009 +0100 (2009-10-25) | |
branch | 1.5 |
changeset 1644 | c938fd487dea |
parent 1470 | 13bec17271ad |
child 1589 | c8619ad47c6d |
permissions | -rw-r--r-- |
mgl@1371 | 1 |
# This file adds functions to build the Newlib C library |
mgl@1467 | 2 |
# Copyright 2009 DoréDevelopment |
mgl@1371 | 3 |
# Licensed under the GPL v2. See COPYING in the root of this package |
mgl@1371 | 4 |
# |
mgl@1467 | 5 |
# Edited by Martin Lund <mgl@doredevelopment.dk> |
mgl@1371 | 6 |
# |
mgl@1371 | 7 |
|
mgl@1371 | 8 |
|
mgl@1371 | 9 |
do_libc_get() { |
mgl@1371 | 10 |
libc_src="ftp://sources.redhat.com/pub/newlib" |
mgl@1373 | 11 |
avr32headers_src="http://dev.doredevelopment.dk/avr32-toolchain/sources" |
mgl@1373 | 12 |
|
mgl@1373 | 13 |
CT_GetFile "newlib-${CT_LIBC_VERSION}" ${libc_src} |
mgl@1371 | 14 |
|
mgl@1373 | 15 |
if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then |
mgl@1373 | 16 |
CT_GetFile "avr32headers" ${avr32headers_src} |
mgl@1373 | 17 |
fi |
mgl@1371 | 18 |
} |
mgl@1371 | 19 |
|
mgl@1371 | 20 |
do_libc_extract() { |
mgl@1371 | 21 |
CT_Extract "newlib-${CT_LIBC_VERSION}" |
mgl@1371 | 22 |
CT_Patch "newlib-${CT_LIBC_VERSION}" |
mgl@1371 | 23 |
|
mgl@1373 | 24 |
if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then |
mgl@1373 | 25 |
CT_Extract "avr32headers" |
mgl@1373 | 26 |
fi |
mgl@1371 | 27 |
} |
mgl@1371 | 28 |
|
mgl@1371 | 29 |
do_libc_check_config() { |
mgl@1371 | 30 |
: |
mgl@1371 | 31 |
} |
mgl@1371 | 32 |
|
mgl@1371 | 33 |
do_libc_headers() { |
mgl@1371 | 34 |
: |
mgl@1371 | 35 |
} |
mgl@1371 | 36 |
|
mgl@1371 | 37 |
do_libc_start_files() { |
mgl@1371 | 38 |
: |
mgl@1371 | 39 |
} |
mgl@1371 | 40 |
|
mgl@1371 | 41 |
do_libc() { |
mgl@1371 | 42 |
CT_DoStep INFO "Installing C library" |
mgl@1371 | 43 |
|
mgl@1371 | 44 |
mkdir -p "${CT_BUILD_DIR}/build-libc" |
mgl@1371 | 45 |
cd "${CT_BUILD_DIR}/build-libc" |
mgl@1371 | 46 |
|
mgl@1371 | 47 |
CT_DoLog EXTRA "Configuring C library" |
mgl@1371 | 48 |
|
yann@1588 | 49 |
# Note: newlib handles the build/host/target a little bit differently |
yann@1588 | 50 |
# than one would expect: |
yann@1588 | 51 |
# build : not used |
yann@1588 | 52 |
# host : the machine building newlib |
yann@1588 | 53 |
# target : the machine newlib runs on |
mgl@1372 | 54 |
# CC="${CT_TARGET}-gcc ${CT_LIBC_EXTRA_CC_ARGS} ${extra_cc_args}" \ |
mgl@1469 | 55 |
BUILD_CC="${CT_BUILD}-gcc" \ |
mgl@1469 | 56 |
CFLAGS="${CT_TARGET_CFLAGS} ${CT_LIBC_GLIBC_EXTRA_CFLAGS} -O" \ |
mgl@1371 | 57 |
AR=${CT_TARGET}-ar \ |
mgl@1371 | 58 |
RANLIB=${CT_TARGET}-ranlib \ |
mgl@1371 | 59 |
CT_DoExecLog ALL \ |
mgl@1371 | 60 |
"${CT_SRC_DIR}/newlib-${CT_LIBC_VERSION}/configure" \ |
yann@1588 | 61 |
--host=${CT_BUILD} \ |
mgl@1371 | 62 |
--target=${CT_TARGET} \ |
mgl@1371 | 63 |
--prefix=${CT_PREFIX_DIR} \ |
mgl@1371 | 64 |
${extra_config} \ |
mgl@1371 | 65 |
${CT_LIBC_GLIBC_EXTRA_CONFIG} |
mgl@1371 | 66 |
|
mgl@1371 | 67 |
CT_DoLog EXTRA "Building C library" |
mgl@1371 | 68 |
|
mgl@1371 | 69 |
CT_DoExecLog ALL make |
mgl@1371 | 70 |
|
mgl@1371 | 71 |
CT_DoLog EXTRA "Installing C library" |
mgl@1371 | 72 |
|
mgl@1371 | 73 |
CT_DoExecLog ALL make install install_root="${CT_SYSROOT_DIR}" |
mgl@1371 | 74 |
|
mgl@1371 | 75 |
CT_EndStep |
mgl@1371 | 76 |
} |
mgl@1371 | 77 |
|
mgl@1371 | 78 |
do_libc_finish() { |
mgl@1373 | 79 |
CT_DoStep INFO "Installing Atmel AVR32 headers" |
mgl@1373 | 80 |
|
mgl@1373 | 81 |
if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then |
mgl@1373 | 82 |
CT_DoExecLog ALL cp -r ${CT_SRC_DIR}/avr32headers "${CT_PREFIX_DIR}/${CT_TARGET}/include/avr32" |
mgl@1373 | 83 |
fi |
mgl@1373 | 84 |
|
mgl@1373 | 85 |
CT_EndStep |
mgl@1371 | 86 |
} |