mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-21 05:43:09 +00:00
uClibc locale "package"
Does not build, though. Signed-off-by: Alexey Neyman <stilor@att.net>
This commit is contained in:
parent
f63fbd356f
commit
16a56ed75b
8
TODO
8
TODO
@ -1,19 +1,19 @@
|
||||
TBD
|
||||
packages todo
|
||||
[ ] mention custom glibc addons are no longer handled (even though they never fully were, ct-ng would be unable to fetch them unless they were secretly placed into the download area)
|
||||
[ ] mention incompatibility of sample options
|
||||
[X] mention custom glibc addons are no longer handled (even though they never fully were, ct-ng would be unable to fetch them unless they were secretly placed into the download area)
|
||||
[x] mention incompatibility of sample options
|
||||
[X] version-locked packages
|
||||
[X] make glibc-ports package for glibc <2.17 (it has its own repo)
|
||||
[ ] convert gen-kconfig to use templates
|
||||
[ ] switch to checked in generated files (config/versions, config/gen) - take too long to generate
|
||||
[ ] new packages
|
||||
[ ] config.guess
|
||||
[ ] gnulib
|
||||
[ ] use gnulib in m4, gettext, libiconv, libtool
|
||||
[ ] autoconf-archive
|
||||
[ ] use to retrieve ax_pthread.m4 (gettext?)
|
||||
[ ] uclibc-locales
|
||||
[ ] some way of patching development sources - version based? or just directory with "apply-to-any-revision" patches.
|
||||
[ ] dependencies like cloog
|
||||
[x] dependencies like cloog
|
||||
|
||||
A (slightly) ordered set of tasks for crosstool-NG. Written in a cryptic language; contact me if you want to help with any of these :)
|
||||
|
||||
|
@ -5,7 +5,6 @@
|
||||
## select ARCH_DEFAULT_LE
|
||||
## select ARCH_SUPPORTS_BOTH_MMU
|
||||
## select ARCH_DEFAULT_HAS_MMU
|
||||
## select USE_OVERLAY
|
||||
##
|
||||
## help The xtensa architecture
|
||||
## help
|
||||
|
@ -60,6 +60,10 @@ config LIBC_UCLIBC_LOCALES_PREGEN_DATA
|
||||
If so, please report the issue, so we can default this
|
||||
to off if too many people complain.
|
||||
|
||||
if LIBC_UCLIBC_LOCALES_PREGEN_DATA
|
||||
source "config/versions/uClibc-locale.in"
|
||||
endif
|
||||
|
||||
config LIBC_UCLIBC_IPV6
|
||||
bool
|
||||
prompt "Add support for IPv6"
|
||||
|
0
packages/uClibc-locale/030818/version.desc
Normal file
0
packages/uClibc-locale/030818/version.desc
Normal file
3
packages/uClibc-locale/package.desc
Normal file
3
packages/uClibc-locale/package.desc
Normal file
@ -0,0 +1,3 @@
|
||||
# TBD repository='git git://git.busybox.net/uClibc'
|
||||
mirrors='http://www.uclibc.org/downloads'
|
||||
archive_dirname='.'
|
@ -2,28 +2,20 @@
|
||||
# Copyright 2007 Yann E. MORIN
|
||||
# Licensed under the GPL v2. See COPYING in the root of this package
|
||||
|
||||
# This is a constant because it does not change very often.
|
||||
# We're in 2010, and are still using data from 7 years ago.
|
||||
uclibc_locales_version=030818
|
||||
uclibc_locale_tarball="uClibc-locale-${uclibc_locales_version}"
|
||||
|
||||
if [ "${CT_UCLIBC_USE_UCLIBC_NG_ORG}" = "y" ]; then
|
||||
# TBD make the name come from config/versions/uclibc.in
|
||||
uclibc_name="uClibc-ng"
|
||||
elif [ "${CT_UCLIBC_USE_UCLIBC_ORG}" = "y" ]; then
|
||||
uclibc_name="uClibc"
|
||||
fi
|
||||
|
||||
# Download uClibc
|
||||
do_libc_get() {
|
||||
CT_Fetch UCLIBC_NG
|
||||
# TBD locales
|
||||
CT_Fetch UCLIBC
|
||||
if [ "${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" = "y" ]; then
|
||||
CT_Fetch UCLIBC_LOCALE
|
||||
fi
|
||||
}
|
||||
|
||||
# Extract uClibc
|
||||
do_libc_extract() {
|
||||
CT_ExtractPatch UCLIBC_NG
|
||||
# TBD locales
|
||||
CT_ExtractPatch UCLIBC
|
||||
if [ "${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" = "y" ]; then
|
||||
CT_ExtractPatch UCLIBC_LOCALE
|
||||
fi
|
||||
}
|
||||
|
||||
# Build and install headers and start files
|
||||
@ -68,16 +60,19 @@ do_libc_backend_once() {
|
||||
local -a make_args
|
||||
local extra_cflags f cfg_cflags cf
|
||||
local hdr_install_subdir
|
||||
local uclibc_name
|
||||
|
||||
for arg in "$@"; do
|
||||
eval "${arg// /\\ }"
|
||||
done
|
||||
|
||||
CT_DoStep INFO "Building for multilib ${multi_index}/${multi_count}: '${multi_flags}'"
|
||||
if [ "${CT_UCLIBC_USE_UCLIBC_NG_ORG}" = "y" ]; then
|
||||
uclibc_name="uClibc-ng"
|
||||
elif [ "${CT_UCLIBC_USE_UCLIBC_ORG}" = "y" ]; then
|
||||
uclibc_name="uClibc"
|
||||
fi
|
||||
|
||||
# Simply copy files until uClibc has the ability to build out-of-tree
|
||||
CT_DoLog EXTRA "Copying sources to build dir"
|
||||
CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/${uclibc_name}/." .
|
||||
CT_DoStep INFO "Building for multilib ${multi_index}/${multi_count}: '${multi_flags}'"
|
||||
|
||||
multilib_dir="lib/${multi_os_dir}"
|
||||
startfiles_dir="${multi_root}/usr/${multilib_dir}"
|
||||
@ -97,11 +92,22 @@ do_libc_backend_once() {
|
||||
HOSTCC="${CT_BUILD}-gcc" \
|
||||
PREFIX="${multi_root}/" \
|
||||
MULTILIB_DIR="${multilib_dir}" \
|
||||
LOCALE_DATA_FILENAME="${uclibc_locale_tarball}.tgz" \
|
||||
STRIPTOOL=true \
|
||||
${CT_LIBC_UCLIBC_VERBOSITY} \
|
||||
)
|
||||
|
||||
# Simply copy files until uClibc has the ability to build out-of-tree
|
||||
CT_DoLog EXTRA "Copying sources to build dir"
|
||||
CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/uClibc/." .
|
||||
if [ "${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" = "y" ]; then
|
||||
# uClibc's makefile insists on unpacking, but that would screw fetching from
|
||||
# non-tarball locations.
|
||||
CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/uClibc-locale/." extra/locale
|
||||
CT_DoExecLog ALL touch extra/locale/dummy-file
|
||||
CT_DoExecLog ALL tar czf extra/locale/dummy.tar.gz -C extra/locale dummy-file
|
||||
make_args+=( LOCALE_DATA_FILENAME=dummy.tar.gz )
|
||||
fi
|
||||
|
||||
# Force the date of the pregen locale data, as the
|
||||
# newer ones that are referenced are not available
|
||||
CT_DoLog EXTRA "Applying configuration"
|
||||
@ -298,24 +304,20 @@ manage_uClibc_config() {
|
||||
# entirely if LOCALE is not set. If LOCALE was already set, we'll
|
||||
# assume the user has already made all the appropriate generation
|
||||
# arrangements. Note that having the uClibc Makefile download the
|
||||
# pregenerated locales is not compatible with crosstool; besides,
|
||||
# crosstool downloads them as part of getandpatch.sh.
|
||||
CT_KconfigDeleteOption "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE" "${dst}"
|
||||
# pregenerated locales is not compatible with crosstool.
|
||||
case "${CT_LIBC_UCLIBC_LOCALES}:${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" in
|
||||
:*)
|
||||
;;
|
||||
y:)
|
||||
CT_KconfigEnableOption "UCLIBC_HAS_LOCALE" "${dst}"
|
||||
CT_KconfigDeleteOption "UCLIBC_PREGENERATED_LOCALE_DATA" "${dst}"
|
||||
CT_KconfigDeleteOption "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" \
|
||||
"${dst}"
|
||||
CT_KconfigDeleteOption "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" "${dst}"
|
||||
CT_KconfigDeleteOption "UCLIBC_HAS_XLOCALE" "${dst}"
|
||||
;;
|
||||
y:y)
|
||||
CT_KconfigEnableOption "UCLIBC_HAS_LOCALE" "${dst}"
|
||||
CT_KconfigEnableOption "UCLIBC_PREGENERATED_LOCALE_DATA" "${dst}"
|
||||
CT_KconfigDeleteOption "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" \
|
||||
"${dst}"
|
||||
CT_KconfigDeleteOption "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" "${dst}"
|
||||
CT_KconfigDeleteOption "UCLIBC_HAS_XLOCALE" "${dst}"
|
||||
;;
|
||||
esac
|
||||
|
@ -537,18 +537,14 @@ CT_Pushd() {
|
||||
pushd "$1" >/dev/null 2>&1
|
||||
}
|
||||
CT_Popd() {
|
||||
local dir=`dirs +0`
|
||||
|
||||
CT_DoLog DEBUG "Leaving '${dir}'"
|
||||
popd >/dev/null 2>&1
|
||||
}
|
||||
|
||||
# Create a dir and cd or pushd into it
|
||||
# Usage: CT_mkdir_cd <dir/to/create>
|
||||
# CT_mkdir_pushd <dir/to/create>
|
||||
CT_mkdir_cd() {
|
||||
local dir="${1}"
|
||||
|
||||
mkdir -p "${dir}"
|
||||
cd "${dir}"
|
||||
}
|
||||
# Create a dir and pushd into it
|
||||
# Usage: CT_mkdir_pushd <dir/to/create>
|
||||
CT_mkdir_pushd() {
|
||||
local dir="${1}"
|
||||
|
||||
@ -1718,7 +1714,12 @@ CT_DoFetch()
|
||||
local tmp_dir
|
||||
|
||||
if [ "${src_release}" = "y" ]; then
|
||||
basename="${archive_dirname}"
|
||||
# Some packages do not contain any directory level at all
|
||||
if [ "${archive_dirname}" != "." ]; then
|
||||
basename="${archive_dirname}"
|
||||
else
|
||||
basename="${pkg_name}-${version}"
|
||||
fi
|
||||
if ! CT_GetFile "${archive_filename}" ${mirrors}; then
|
||||
CT_Abort "${pkg_name}: download failed"
|
||||
fi
|
||||
@ -1869,7 +1870,13 @@ CT_DoExtractPatch()
|
||||
fi
|
||||
# TBD save/discover the extension while fetching
|
||||
ext=`CT_GetFileExtension "${archive}"`
|
||||
CT_Extract "${CT_TARBALLS_DIR}/${archive}${ext}" "${CT_COMMON_SRC_DIR}"
|
||||
if [ "${archive_dirname}" = "." ]; then
|
||||
CT_mkdir_pushd "${CT_COMMON_SRC_DIR}/${basename}"
|
||||
CT_Extract "${CT_TARBALLS_DIR}/${archive}${ext}" "${CT_COMMON_SRC_DIR}/${basename}"
|
||||
CT_Popd
|
||||
else
|
||||
CT_Extract "${CT_TARBALLS_DIR}/${archive}${ext}" "${CT_COMMON_SRC_DIR}"
|
||||
fi
|
||||
CT_DoExecLog ALL touch "${CT_COMMON_SRC_DIR}/.${basename}.extracted"
|
||||
CT_DoExecLog ALL rm -f "${CT_COMMON_SRC_DIR}/.${basename}.extracting"
|
||||
fi
|
||||
@ -1937,7 +1944,7 @@ CT_DoExtractPatch()
|
||||
CT_DoLog WARN "${pkg_name}: using custom location, no overlays applied"
|
||||
fi
|
||||
if [ -d "${custom_location}" ]; then
|
||||
CT_DoExecLog ALL cp -av "${custom_location}" "${CT_SRC_DIR}/${pkg_name}"
|
||||
CT_DoExecLog ALL cp -av "${custom_location}" "${CT_SRC_DIR}/${dir_name}"
|
||||
elif [ -f "${custom_location}" ]; then
|
||||
# Assume "foo.tar.gz" (or likes) contain the "foo" directory
|
||||
local bn
|
||||
@ -1945,7 +1952,7 @@ CT_DoExtractPatch()
|
||||
CT_Extract "${custom_location}" "${CT_SRC_DIR}"
|
||||
bn=`CT_GetFileBasename "${custom_location##*/}"`
|
||||
CT_TestOrAbort "Unknown file extension: ${custom_location}" -n "${bn}"
|
||||
CT_DoExecLog ALL mv -v "${CT_SRC_DIR}/${bn%${ext}}" "${CT_SRC_DIR}/${pkg_name}"
|
||||
CT_DoExecLog ALL mv -v "${CT_SRC_DIR}/${bn%${ext}}" "${CT_SRC_DIR}/${dir_name}"
|
||||
else
|
||||
CT_Abort "Neither file nor directory: ${custom_location}"
|
||||
fi
|
||||
@ -1953,13 +1960,13 @@ CT_DoExtractPatch()
|
||||
# Possibly has overlays; copy from common source and apply overlays if any
|
||||
local overlay
|
||||
|
||||
CT_DoExecLog ALL cp -av "${CT_COMMON_SRC_DIR}/${basename}" "${CT_SRC_DIR}/${pkg_name}"
|
||||
CT_DoExecLog ALL cp -av "${CT_COMMON_SRC_DIR}/${basename}" "${CT_SRC_DIR}/${dir_name}"
|
||||
overlay="${CT_OVERLAY_LOCATION}/${CT_ARCH}-${CT_OVERLAY_NAME:-overlay}"
|
||||
ext=`CT_GetFileExtension "${overlay}"`
|
||||
CT_Extract "${overlay}${ext}" "${CT_SRC_DIR}" "${pkg_name}"
|
||||
CT_Extract "${overlay}${ext}" "${CT_SRC_DIR}" "${dir_name}"
|
||||
else
|
||||
# Common source, just symlink
|
||||
CT_DoExecLog ALL ln -s "${CT_COMMON_SRC_DIR}/${basename}" "${CT_SRC_DIR}/${pkg_name}"
|
||||
CT_DoExecLog ALL ln -s "${CT_COMMON_SRC_DIR}/${basename}" "${CT_SRC_DIR}/${dir_name}"
|
||||
fi
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user