mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-23 14:42:26 +00:00
Merge pull request #6 from davidholsgrove/libc_custom_location
Libc custom location
This commit is contained in:
commit
0ee9ecbcf7
@ -79,6 +79,13 @@ config LIBC_EGLIBC_V_TRUNK
|
||||
help
|
||||
Selecting this will export the trunk of the eglibc subversion repository.
|
||||
|
||||
config LIBC_EGLIBC_CUSTOM
|
||||
bool
|
||||
prompt "Custom eglibc"
|
||||
depends on EXPERIMENTAL
|
||||
select LIBC_EGLIBC_2_16_or_later
|
||||
select LIBC_CUSTOM
|
||||
|
||||
endchoice
|
||||
|
||||
config LIBC_VERSION
|
||||
@ -96,10 +103,27 @@ config LIBC_VERSION
|
||||
default "2_10" if LIBC_EGLIBC_V_2_10
|
||||
default "2_9" if LIBC_EGLIBC_V_2_9
|
||||
default "trunk" if LIBC_EGLIBC_V_TRUNK
|
||||
default "custom" if LIBC_EGLIBC_CUSTOM
|
||||
|
||||
config LIBC_EGLIBC_2_16_or_later
|
||||
bool
|
||||
|
||||
config LIBC_CUSTOM
|
||||
bool
|
||||
|
||||
if LIBC_EGLIBC_CUSTOM
|
||||
|
||||
config LIBC_EGLIBC_CUSTOM_LOCATION
|
||||
string
|
||||
prompt "Full path to custom eglibc source"
|
||||
default ""
|
||||
help
|
||||
Enter the path to the directory (or tarball) of your source for eglibc,
|
||||
or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/eglibc
|
||||
|
||||
endif # LIBC_EGLIBC_CUSTOM
|
||||
if ! LIBC_EGLIBC_CUSTOM
|
||||
|
||||
if CONFIGURE_has_svn
|
||||
|
||||
config EGLIBC_REVISION
|
||||
@ -149,6 +173,7 @@ comment "| - or have a LAN mirror with a pre-downloaded tarball"
|
||||
comment "otherwise you won't be able to download eglibc"
|
||||
|
||||
endif # ! CONFIGURE_has_svn
|
||||
endif # ! LIBC_EGLIBC_CUSTOM
|
||||
|
||||
config EGLIBC_OPT_SIZE
|
||||
bool
|
||||
|
@ -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
|
||||
|
@ -27,9 +27,14 @@ do_libc_get() {
|
||||
*) svn_base+="/branches/eglibc-${CT_LIBC_VERSION}";;
|
||||
esac
|
||||
|
||||
CT_GetSVN "eglibc-${CT_LIBC_VERSION}" \
|
||||
"${svn_base}/libc" \
|
||||
"${CT_EGLIBC_REVISION:-HEAD}"
|
||||
if [ "${CT_LIBC_CUSTOM}" = "y" ]; then
|
||||
CT_GetCustom "eglibc" "${CT_LIBC_VERSION}" "${CT_LIBC_EGLIBC_CUSTOM_LOCATION}"
|
||||
CT_LIBC_CUSTOM_LOCATION="${CT_SRC_DIR}/eglibc-${CT_LIBC_VERSION}"
|
||||
else
|
||||
CT_GetSVN "eglibc-${CT_LIBC_VERSION}" \
|
||||
"${svn_base}/libc" \
|
||||
"${CT_EGLIBC_REVISION:-HEAD}"
|
||||
fi
|
||||
|
||||
if [ "${CT_LIBC_LOCALES}" = "y" ]; then
|
||||
extra_addons+=("localedef")
|
||||
|
@ -4,10 +4,16 @@
|
||||
do_libc_extract() {
|
||||
local addon
|
||||
|
||||
# Extract the main tarball
|
||||
CT_Extract "${CT_LIBC}-${CT_LIBC_VERSION}"
|
||||
# Attempt CT_EXTRACT only if NOT custom, or CUSTOM_LOCATION is not a directory
|
||||
if [ "${CT_LIBC_CUSTOM}" != "y" \
|
||||
-o ! -d "${CT_LIBC_CUSTOM_LOCATION}" ]; then
|
||||
CT_Extract "${CT_LIBC}-${CT_LIBC_VERSION}"
|
||||
fi
|
||||
CT_Pushd "${CT_SRC_DIR}/${CT_LIBC}-${CT_LIBC_VERSION}"
|
||||
CT_Patch nochdir "${CT_LIBC}" "${CT_LIBC_VERSION}"
|
||||
# Attempt CT_PATCH only if NOT custom
|
||||
if [ "${CT_LIBC_CUSTOM}" != "y" ]; then
|
||||
CT_Patch nochdir "${CT_LIBC}" "${CT_LIBC_VERSION}"
|
||||
fi
|
||||
|
||||
# Extract the add-opns
|
||||
for addon in $(do_libc_add_ons_list " "); do
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user