scripts/build/libc/newlib.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Aug 31 23:24:40 2010 +0200 (2010-08-31)
changeset 2107 f5ab0a80e466
parent 1930 d78dac957ebc
child 2154 250cdcc86441
permissions -rw-r--r--
binutils/binutils: remove faulty patch

The added code should be conditinal to the target system
being !MIPS, but is based on the host system being !MIPS.

This is plain wrong, and had not been noticed until now
as I never used those binutils versions on MIPS.

See:
http://sourceware.org/ml/crossgcc/2010-08/msg00192.html

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 # This file adds functions to build the Newlib C library
     2 # Copyright 2009 DoréDevelopment
     3 # Licensed under the GPL v2. See COPYING in the root of this package
     4 #
     5 # Edited by Martin Lund <mgl@doredevelopment.dk>
     6 #
     7 
     8 libc_newlib_version() {
     9     if [ -z "${CT_LIBC_NEWLIB_CVS}" ]; then
    10         echo "${CT_LIBC_VERSION}"
    11     else
    12         echo "cvs${CT_LIBC_VERSION:+-${CT_LIBC_VERSION}}"
    13     fi
    14 }
    15 
    16 do_libc_get() {
    17     local libc_src
    18     local avr32headers_src
    19     local save_chunks
    20 
    21     libc_src="ftp://sources.redhat.com/pub/newlib"
    22     avr32headers_src="http://dev.doredevelopment.dk/avr32-toolchain/sources"
    23 
    24     save_chunks="${CT_DOWNLOAD_MAX_CHUNKS}"
    25     CT_DOWNLOAD_MAX_CHUNKS=1
    26 
    27     if [ -z "${CT_LIBC_NEWLIB_CVS}" ]; then
    28         CT_GetFile "newlib-${CT_LIBC_VERSION}" ${libc_src}
    29     else
    30         CT_GetCVS "newlib-$(libc_newlib_version)"                   \
    31                   ":pserver:anoncvs@sources.redhat.com:/cvs/src"    \
    32                   "newlib"                                          \
    33                   "${CT_LIBC_VERSION}"                              \
    34                   "newlib-$(libc_newlib_version)=src"
    35     fi
    36 
    37     if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then
    38         CT_GetFile "avr32headers" ${avr32headers_src}
    39     fi
    40 
    41     CT_DOWNLOAD_MAX_CHUNKS="${save_chunks}"
    42 }
    43 
    44 do_libc_extract() {
    45     CT_Extract "newlib-$(libc_newlib_version)"
    46     CT_Patch "newlib" "$(libc_newlib_version)"
    47 
    48     if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then
    49         CT_Extract "avr32headers"
    50     fi
    51 }
    52 
    53 do_libc_check_config() {
    54     :
    55 }
    56 
    57 do_libc_headers() {
    58     :
    59 }
    60 
    61 do_libc_start_files() {
    62     CT_DoStep INFO "Installing C library"
    63 
    64     mkdir -p "${CT_BUILD_DIR}/build-libc"
    65     cd "${CT_BUILD_DIR}/build-libc"
    66 
    67     CT_DoLog EXTRA "Configuring C library"
    68 
    69     # Note: newlib handles the build/host/target a little bit differently
    70     # than one would expect:
    71     #   build  : not used
    72     #   host   : the machine building newlib
    73     #   target : the machine newlib runs on
    74     CC_FOR_BUILD="${CT_BUILD}-gcc"                      \
    75     CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS} -O"          \
    76     AR=${CT_TARGET}-ar                                  \
    77     RANLIB=${CT_TARGET}-ranlib                          \
    78     CT_DoExecLog ALL                                    \
    79     "${CT_SRC_DIR}/newlib-$(libc_newlib_version)/configure" \
    80         --host=${CT_BUILD}                              \
    81         --target=${CT_TARGET}                           \
    82         --prefix=${CT_PREFIX_DIR}
    83 
    84     CT_DoLog EXTRA "Building C library"
    85     CT_DoExecLog ALL make ${PARALLELMFLAGS}
    86 
    87     CT_DoLog EXTRA "Installing C library"
    88     CT_DoExecLog ALL make install install_root="${CT_SYSROOT_DIR}"
    89 
    90     CT_EndStep
    91 }
    92 
    93 do_libc() {
    94     :
    95 }
    96 
    97 do_libc_finish() {
    98     CT_DoStep INFO "Finishing C library"
    99     
   100     if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then
   101         CT_DoLog EXTRA "Installing Atmel's AVR32 headers"
   102         CT_DoExecLog ALL cp -r ${CT_SRC_DIR}/avr32headers "${CT_PREFIX_DIR}/${CT_TARGET}/include/avr32"
   103     fi
   104 
   105     CT_EndStep
   106 }