summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/libc/glibc.in23
-rw-r--r--scripts/build/libc/glibc.sh7
2 files changed, 29 insertions, 1 deletions
diff --git a/config/libc/glibc.in b/config/libc/glibc.in
index d349dfb..f107438 100644
--- a/config/libc/glibc.in
+++ b/config/libc/glibc.in
@@ -95,11 +95,33 @@ config LIBC_GLIBC_V_2_8
prompt "2.8"
select LIBC_GLIBC_PORTS_EXTERNAL
+config LIBC_GLIBC_CUSTOM
+ bool
+ prompt "Custom glibc"
+ depends on EXPERIMENTAL
+ select LIBC_CUSTOM
+ select LIBC_GLIBC_2_20_or_later
+
endchoice
config LIBC_GLIBC_2_20_or_later
bool
+config LIBC_CUSTOM
+ bool
+
+if LIBC_GLIBC_CUSTOM
+
+config LIBC_GLIBC_CUSTOM_LOCATION
+ string
+ prompt "Full path to custom glibc source"
+ default ""
+ help
+ Enter the path to the directory (or tarball) of your source for glibc,
+ or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/glibc
+
+endif # LIBC_GLIBC_CUSTOM
+
config LIBC_VERSION
string
# Don't remove next line
@@ -120,3 +142,4 @@ config LIBC_VERSION
default "2.10.1" if LIBC_GLIBC_V_2_10_1
default "2.9" if LIBC_GLIBC_V_2_9
default "2.8" if LIBC_GLIBC_V_2_8
+ default "custom" if LIBC_GLIBC_CUSTOM
diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh
index 7bc47c5..8093d94 100644
--- a/scripts/build/libc/glibc.sh
+++ b/scripts/build/libc/glibc.sh
@@ -19,9 +19,14 @@ do_libc_get() {
addons_list=($(do_libc_add_ons_list " "))
# Main source
- CT_GetFile "glibc-${CT_LIBC_VERSION}" \
+ if [ "${CT_LIBC_CUSTOM}" = "y" ]; then
+ CT_GetCustom "glibc" "${CT_LIBC_VERSION}" "${CT_LIBC_GLIBC_CUSTOM_LOCATION}"
+ CT_LIBC_CUSTOM_LOCATION="${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}"
+ else
+ CT_GetFile "glibc-${CT_LIBC_VERSION}" \
{http,ftp,https}://ftp.gnu.org/gnu/glibc \
ftp://{sourceware.org,gcc.gnu.org}/pub/glibc/{releases,snapshots}
+ fi
# C library addons
for addon in "${addons_list[@]}"; do