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" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: fix indentation, don't patch custom dir location]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <712995e3e719fbbe24af.1349931201@localhost.localdomain>
PatchWork-Id: 190794
This commit is contained in:
David Holsgrove 2012-10-11 14:39:44 +10:00
parent 88f065b355
commit 5ed8715c9d
2 changed files with 31 additions and 1 deletions

View File

@ -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

View File

@ -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}" \