diff options
Diffstat (limited to 'scripts/build/libc')
-rw-r--r-- | scripts/build/libc/newlib.sh | 55 |
1 files changed, 36 insertions, 19 deletions
diff --git a/scripts/build/libc/newlib.sh b/scripts/build/libc/newlib.sh index 196334d4..c4cf6541 100644 --- a/scripts/build/libc/newlib.sh +++ b/scripts/build/libc/newlib.sh @@ -5,12 +5,27 @@ # Edited by Martin Lund <mgl@doredevelopment.dk> # +libc_newlib_basename() { + if [ -z "${CT_LIBC_NEWLIB_CVS}" ]; then + echo "newlib-${CT_LIBC_VERSION}" + else + echo "newlib-cvs${CT_LIBC_VERSION:+-${CT_LIBC_VERSION}}" + fi +} do_libc_get() { libc_src="ftp://sources.redhat.com/pub/newlib" avr32headers_src="http://dev.doredevelopment.dk/avr32-toolchain/sources" - - CT_GetFile "newlib-${CT_LIBC_VERSION}" ${libc_src} + + if [ -z "${CT_LIBC_NEWLIB_CVS}" ]; then + CT_GetFile "newlib-${CT_LIBC_VERSION}" ${libc_src} + else + CT_GetCVS "$(libc_newlib_basename)" \ + ":pserver:anoncvs@sources.redhat.com:/cvs/src" \ + "newlib" \ + "${CT_LIBC_VERSION}" \ + "$(libc_newlib_basename)=src" + fi if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then CT_GetFile "avr32headers" ${avr32headers_src} @@ -18,8 +33,8 @@ do_libc_get() { } do_libc_extract() { - CT_Extract "newlib-${CT_LIBC_VERSION}" - CT_Patch "newlib-${CT_LIBC_VERSION}" + CT_Extract "$(libc_newlib_basename)" + CT_Patch "$(libc_newlib_basename)" if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then CT_Extract "avr32headers" @@ -46,23 +61,24 @@ do_libc() { CT_DoLog EXTRA "Configuring C library" -# CC="${CT_TARGET}-gcc ${CT_LIBC_EXTRA_CC_ARGS} ${extra_cc_args}" \ - BUILD_CC="${CT_BUILD}-gcc" \ - CFLAGS="${CT_TARGET_CFLAGS} ${CT_LIBC_GLIBC_EXTRA_CFLAGS} -O" \ - AR=${CT_TARGET}-ar \ - RANLIB=${CT_TARGET}-ranlib \ - CT_DoExecLog ALL \ - "${CT_SRC_DIR}/newlib-${CT_LIBC_VERSION}/configure" \ - --build=${CT_BUILD} \ - --host=${CT_HOST} \ - --target=${CT_TARGET} \ - --prefix=${CT_PREFIX_DIR} \ - ${extra_config} \ - ${CT_LIBC_GLIBC_EXTRA_CONFIG} + # Note: newlib handles the build/host/target a little bit differently + # than one would expect: + # build : not used + # host : the machine building newlib + # target : the machine newlib runs on + CC_FOR_BUILD="${CT_BUILD}-gcc" \ + CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS} -O" \ + AR=${CT_TARGET}-ar \ + RANLIB=${CT_TARGET}-ranlib \ + CT_DoExecLog ALL \ + "${CT_SRC_DIR}/$(libc_newlib_basename)/configure" \ + --host=${CT_BUILD} \ + --target=${CT_TARGET} \ + --prefix=${CT_PREFIX_DIR} CT_DoLog EXTRA "Building C library" - CT_DoExecLog ALL make + CT_DoExecLog ALL make ${PARALLELMFLAGS} CT_DoLog EXTRA "Installing C library" @@ -72,9 +88,10 @@ do_libc() { } do_libc_finish() { - CT_DoStep INFO "Installing Atmel AVR32 headers" + CT_DoStep INFO "Finishing C library" if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then + CT_DoLog EXTRA "Installing Atmel's AVR32 headers" CT_DoExecLog ALL cp -r ${CT_SRC_DIR}/avr32headers "${CT_PREFIX_DIR}/${CT_TARGET}/include/avr32" fi |