summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/libc/newlib.in18
-rw-r--r--scripts/build/libc/newlib.sh11
2 files changed, 28 insertions, 1 deletions
diff --git a/config/libc/newlib.in b/config/libc/newlib.in
index 35c3fcf..16ac247 100644
--- a/config/libc/newlib.in
+++ b/config/libc/newlib.in
@@ -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.
diff --git a/scripts/build/libc/newlib.sh b/scripts/build/libc/newlib.sh
index 3907d7b..3e91631 100644
--- a/scripts/build/libc/newlib.sh
+++ b/scripts/build/libc/newlib.sh
@@ -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)"