# HG changeset patch # User David Holsgrove # Date 1349930385 -36000 # Node ID 07a87075fa2db3a89734a0711a71348bbe714224 # Parent f5af323f7805a54741de4e4495b94a6fc6eb371c libc/newlib: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom CUSTOM_LOCATION config options only presented in menuconfig if component CUSTOM version selected. Signed-off-by: "David Holsgrove" [yann.morin.1998@free.fr: fix indentation] Signed-off-by: "Yann E. MORIN" Message-Id: PatchWork-Id: 190795 diff -r f5af323f7805 -r 07a87075fa2d config/libc/newlib.in --- a/config/libc/newlib.in Tue Oct 30 00:30:47 2012 +0100 +++ b/config/libc/newlib.in Thu Oct 11 14:39:45 2012 +1000 @@ -52,8 +52,25 @@ In a word: use the CVS snapshot at your own risk! +config LIBC_NEWLIB_CUSTOM + bool + prompt "Custom newlib" + depends on EXPERIMENTAL + endchoice +if LIBC_NEWLIB_CUSTOM + +config LIBC_NEWLIB_CUSTOM_LOCATION + string + prompt "Full path to custom newlib source" + default "" + help + Enter the path to the directory (or tarball) of your source for newlib, + or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/newlib + +endif # LIBC_NEWLIB_CUSTOM + config LIBC_VERSION string prompt "use CVS tag" if LIBC_NEWLIB_CVS @@ -63,6 +80,7 @@ default "1.19.0" if LIBC_NEWLIB_V_1_19_0 default "1.18.0" if LIBC_NEWLIB_V_1_18_0 default "1.17.0" if LIBC_NEWLIB_V_1_17_0 + default "custom" if LIBC_NEWLIB_CUSTOM help Enter the tag you want to use. Leave empty to use the 'head' of the repository. diff -r f5af323f7805 -r 07a87075fa2d scripts/build/libc/newlib.sh --- a/scripts/build/libc/newlib.sh Tue Oct 30 00:30:47 2012 +0100 +++ b/scripts/build/libc/newlib.sh Thu Oct 11 14:39:45 2012 +1000 @@ -20,7 +20,10 @@ libc_src="ftp://sources.redhat.com/pub/newlib" avr32headers_src="http://dev.doredevelopment.dk/avr32-toolchain/sources" - if [ -z "${CT_LIBC_NEWLIB_CVS}" ]; then + if [ "${CT_LIBC_NEWLIB_CUSTOM}" = "y" ]; then + CT_GetCustom "newlib" "${CT_LIBC_VERSION}" \ + "${CT_LIBC_NEWLIB_CUSTOM_LOCATION}" + elif [ -z "${CT_LIBC_NEWLIB_CVS}" ]; then CT_GetFile "newlib-${CT_LIBC_VERSION}" ${libc_src} else CT_GetCVS "newlib-$(libc_newlib_version)" \ @@ -36,6 +39,12 @@ } do_libc_extract() { + # If using custom directory location, nothing to do + if [ "${CT_LIBC_NEWLIB_CUSTOM}" != "y" \ + -a -d "${CT_SRC_DIR}/newlib-$(libc_newlib_version)" ]; then + return 0 + fi + CT_Extract "newlib-$(libc_newlib_version)" CT_Patch "newlib" "$(libc_newlib_version)"