From 5ed8715c9d5b24d1bc2545255f7a5743a629bb75 Mon Sep 17 00:00:00 2001 From: David Holsgrove Date: Thu, 11 Oct 2012 14:39:44 +1000 Subject: 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 --git a/config/libc/uClibc.in b/config/libc/uClibc.in index 359cd42..9a8d946 100644 --- a/config/libc/uClibc.in +++ b/config/libc/uClibc.in @@ -99,8 +99,27 @@ config LIBC_UCLIBC_V_specific_date 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 @@ config LIBC_VERSION 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 --git a/scripts/build/libc/uClibc.sh b/scripts/build/libc/uClibc.sh index b93f21d..affdb97 100644 --- a/scripts/build/libc/uClibc.sh +++ b/scripts/build/libc/uClibc.sh @@ -15,7 +15,12 @@ do_libc_get() { # 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 @@ do_libc_get() { # 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}" \ -- cgit v0.10.2-6-g49f6