scripts/build/libc/newlib.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Oct 25 23:35:55 2009 +0100 (2009-10-25)
changeset 1588 3ccb1f76576f
parent 1470 13bec17271ad
child 1589 c8619ad47c6d
permissions -rw-r--r--
libc/newlib: fix host/target confusion

newlib handles the build/host/target a bit differently as one would expect:
build : not used
host : the nachine that builds newlib
target : the machine on which newlib will run
     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 
     9 do_libc_get() {
    10     libc_src="ftp://sources.redhat.com/pub/newlib"
    11     avr32headers_src="http://dev.doredevelopment.dk/avr32-toolchain/sources"
    12     
    13     CT_GetFile "newlib-${CT_LIBC_VERSION}" ${libc_src}
    14 
    15     if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then
    16         CT_GetFile "avr32headers" ${avr32headers_src}
    17     fi
    18 }
    19 
    20 do_libc_extract() {
    21     CT_Extract "newlib-${CT_LIBC_VERSION}"
    22     CT_Patch "newlib-${CT_LIBC_VERSION}"
    23 
    24     if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then
    25         CT_Extract "avr32headers"
    26     fi
    27 }
    28 
    29 do_libc_check_config() {
    30     :
    31 }
    32 
    33 do_libc_headers() {
    34     :
    35 }
    36 
    37 do_libc_start_files() {
    38     :
    39 }
    40 
    41 do_libc() {
    42     CT_DoStep INFO "Installing C library"
    43 
    44     mkdir -p "${CT_BUILD_DIR}/build-libc"
    45     cd "${CT_BUILD_DIR}/build-libc"
    46 
    47     CT_DoLog EXTRA "Configuring C library"
    48 
    49     # Note: newlib handles the build/host/target a little bit differently
    50     # than one would expect:
    51     #   build  : not used
    52     #   host   : the machine building newlib
    53     #   target : the machine newlib runs on
    54 #    CC="${CT_TARGET}-gcc ${CT_LIBC_EXTRA_CC_ARGS} ${extra_cc_args}" \
    55     BUILD_CC="${CT_BUILD}-gcc"                                      \
    56     CFLAGS="${CT_TARGET_CFLAGS} ${CT_LIBC_GLIBC_EXTRA_CFLAGS} -O"   \
    57     AR=${CT_TARGET}-ar                                              \
    58     RANLIB=${CT_TARGET}-ranlib                                      \
    59     CT_DoExecLog ALL                                                \
    60     "${CT_SRC_DIR}/newlib-${CT_LIBC_VERSION}/configure"             \
    61         --host=${CT_BUILD}                                          \
    62         --target=${CT_TARGET}                                       \
    63         --prefix=${CT_PREFIX_DIR}                                   \
    64         ${extra_config}                                             \
    65         ${CT_LIBC_GLIBC_EXTRA_CONFIG}
    66     
    67     CT_DoLog EXTRA "Building C library"
    68 
    69     CT_DoExecLog ALL make
    70     
    71     CT_DoLog EXTRA "Installing C library"
    72 
    73     CT_DoExecLog ALL make install install_root="${CT_SYSROOT_DIR}"
    74 
    75     CT_EndStep
    76 }
    77 
    78 do_libc_finish() {
    79     CT_DoStep INFO "Installing Atmel AVR32 headers"
    80     
    81     if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then
    82         CT_DoExecLog ALL cp -r ${CT_SRC_DIR}/avr32headers "${CT_PREFIX_DIR}/${CT_TARGET}/include/avr32"
    83     fi
    84 
    85     CT_EndStep
    86 }