# HG changeset patch # User David Holsgrove # Date 1349930384 -36000 # Node ID 79169596cfc9b6c89753a569593411c24d3486ad # Parent ce5e3dd95fe3a0a9de02340ecb54a7869c8db4d0 libc/uClibc: 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, don't patch custom dir location] Signed-off-by: "Yann E. MORIN" Message-Id: <712995e3e719fbbe24af.1349931201@localhost.localdomain> PatchWork-Id: 190794 diff -r ce5e3dd95fe3 -r 79169596cfc9 config/libc/uClibc.in --- a/config/libc/uClibc.in Wed Oct 31 23:25:33 2012 +0100 +++ b/config/libc/uClibc.in Thu Oct 11 14:39:44 2012 +1000 @@ -99,8 +99,27 @@ select LIBC_SUPPORT_NPTL select LIBC_UCLIBC_0_9_30_or_later +config LIBC_UCLIBC_CUSTOM + bool + prompt "Custom uClibc" + depends on EXPERIMENTAL + select LIBC_SUPPORT_NPTL + select LIBC_UCLIBC_0_9_30_or_later + endchoice +if LIBC_UCLIBC_CUSTOM + +config LIBC_UCLIBC_CUSTOM_LOCATION + string + prompt "Full path to custom uClibc source" + default "" + help + Enter the path to the directory (or tarball) of your source for uClibc, + or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/uClibc + +endif # LIBC_UCLIBC_CUSTOM + config LIBC_VERSION string prompt "Enter date (YYYYMMDD)" if LIBC_UCLIBC_V_specific_date @@ -119,6 +138,7 @@ default "0.9.29" if LIBC_UCLIBC_V_0_9_29 default "0.9.28.3" if LIBC_UCLIBC_V_0_9_28_3 default "snapshot" if LIBC_UCLIBC_V_snapshot + default "custom" if LIBC_UCLIBC_CUSTOM config LIBC_UCLIBC_0_9_32_or_later bool diff -r ce5e3dd95fe3 -r 79169596cfc9 scripts/build/libc/uClibc.sh --- a/scripts/build/libc/uClibc.sh Wed Oct 31 23:25:33 2012 +0100 +++ b/scripts/build/libc/uClibc.sh Thu Oct 11 14:39:44 2012 +1000 @@ -15,7 +15,12 @@ # For uClibc, we have almost every thing: releases, and snapshots # for the last month or so. We'll have to deal with svn revisions # later... - CT_GetFile "uClibc-${CT_LIBC_VERSION}" ${libc_src} + if [ "${CT_LIBC_UCLIBC_CUSTOM}" = "y" ]; then + CT_GetCustom "uClibc" "${CT_LIBC_VERSION}" \ + "${CT_LIBC_UCLIBC_CUSTOM_LOCATION}" + else + CT_GetFile "uClibc-${CT_LIBC_VERSION}" ${libc_src} + fi # uClibc locales if [ "${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" = "y" ]; then CT_GetFile "${uclibc_local_tarball}" ${libc_src} @@ -26,6 +31,11 @@ # Extract uClibc do_libc_extract() { + # If using custom directory location, nothing to do + if [ "${CT_LIBC_UCLIBC_CUSTOM}" = "y" \ + -a -d "${CT_SRC_DIR}/uClibc-${CT_LIBC_VERSION}" ]; then + return 0 + fi CT_Extract "uClibc-${CT_LIBC_VERSION}" # Don't patch snapshots if [ -z "${CT_LIBC_UCLIBC_V_snapshot}" \