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" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: fix indentation]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <d02252752d4dc5e68ae3.1349931202@localhost.localdomain>
PatchWork-Id: 190795
This commit is contained in:
David Holsgrove 2012-10-11 14:39:45 +10:00
parent 8bcd5c689c
commit 66a2b08680
2 changed files with 28 additions and 1 deletions

View File

@ -52,8 +52,25 @@ config LIBC_NEWLIB_CVS
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 @@ config LIBC_VERSION
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.

View File

@ -20,7 +20,10 @@ do_libc_get() {
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_get() {
}
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)"