summaryrefslogtreecommitdiff
path: root/scripts/build/libc/newlib.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build/libc/newlib.sh')
-rw-r--r--scripts/build/libc/newlib.sh55
1 files changed, 36 insertions, 19 deletions
diff --git a/scripts/build/libc/newlib.sh b/scripts/build/libc/newlib.sh
index 196334d..c4cf654 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