mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-30 17:46:57 +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
|
TBD
|
||||||
packages todo
|
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)
|
[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)
|
||||||
[ ] mention incompatibility of sample options
|
[x] mention incompatibility of sample options
|
||||||
[X] version-locked packages
|
[X] version-locked packages
|
||||||
[X] make glibc-ports package for glibc <2.17 (it has its own repo)
|
[X] make glibc-ports package for glibc <2.17 (it has its own repo)
|
||||||
[ ] convert gen-kconfig to use templates
|
[ ] convert gen-kconfig to use templates
|
||||||
[ ] switch to checked in generated files (config/versions, config/gen) - take too long to generate
|
|
||||||
[ ] new packages
|
[ ] new packages
|
||||||
[ ] config.guess
|
[ ] config.guess
|
||||||
[ ] gnulib
|
[ ] gnulib
|
||||||
[ ] use gnulib in m4, gettext, libiconv, libtool
|
[ ] use gnulib in m4, gettext, libiconv, libtool
|
||||||
[ ] autoconf-archive
|
[ ] autoconf-archive
|
||||||
[ ] use to retrieve ax_pthread.m4 (gettext?)
|
[ ] 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.
|
[ ] 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 :)
|
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_DEFAULT_LE
|
||||||
## select ARCH_SUPPORTS_BOTH_MMU
|
## select ARCH_SUPPORTS_BOTH_MMU
|
||||||
## select ARCH_DEFAULT_HAS_MMU
|
## select ARCH_DEFAULT_HAS_MMU
|
||||||
## select USE_OVERLAY
|
|
||||||
##
|
##
|
||||||
## help The xtensa architecture
|
## help The xtensa architecture
|
||||||
## help
|
## help
|
||||||
|
@ -60,6 +60,10 @@ config LIBC_UCLIBC_LOCALES_PREGEN_DATA
|
|||||||
If so, please report the issue, so we can default this
|
If so, please report the issue, so we can default this
|
||||||
to off if too many people complain.
|
to off if too many people complain.
|
||||||
|
|
||||||
|
if LIBC_UCLIBC_LOCALES_PREGEN_DATA
|
||||||
|
source "config/versions/uClibc-locale.in"
|
||||||
|
endif
|
||||||
|
|
||||||
config LIBC_UCLIBC_IPV6
|
config LIBC_UCLIBC_IPV6
|
||||||
bool
|
bool
|
||||||
prompt "Add support for IPv6"
|
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
|
# Copyright 2007 Yann E. MORIN
|
||||||
# Licensed under the GPL v2. See COPYING in the root of this package
|
# 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
|
# Download uClibc
|
||||||
do_libc_get() {
|
do_libc_get() {
|
||||||
CT_Fetch UCLIBC_NG
|
CT_Fetch UCLIBC
|
||||||
# TBD locales
|
if [ "${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" = "y" ]; then
|
||||||
|
CT_Fetch UCLIBC_LOCALE
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Extract uClibc
|
# Extract uClibc
|
||||||
do_libc_extract() {
|
do_libc_extract() {
|
||||||
CT_ExtractPatch UCLIBC_NG
|
CT_ExtractPatch UCLIBC
|
||||||
# TBD locales
|
if [ "${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" = "y" ]; then
|
||||||
|
CT_ExtractPatch UCLIBC_LOCALE
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Build and install headers and start files
|
# Build and install headers and start files
|
||||||
@ -68,16 +60,19 @@ do_libc_backend_once() {
|
|||||||
local -a make_args
|
local -a make_args
|
||||||
local extra_cflags f cfg_cflags cf
|
local extra_cflags f cfg_cflags cf
|
||||||
local hdr_install_subdir
|
local hdr_install_subdir
|
||||||
|
local uclibc_name
|
||||||
|
|
||||||
for arg in "$@"; do
|
for arg in "$@"; do
|
||||||
eval "${arg// /\\ }"
|
eval "${arg// /\\ }"
|
||||||
done
|
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_DoStep INFO "Building for multilib ${multi_index}/${multi_count}: '${multi_flags}'"
|
||||||
CT_DoLog EXTRA "Copying sources to build dir"
|
|
||||||
CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/${uclibc_name}/." .
|
|
||||||
|
|
||||||
multilib_dir="lib/${multi_os_dir}"
|
multilib_dir="lib/${multi_os_dir}"
|
||||||
startfiles_dir="${multi_root}/usr/${multilib_dir}"
|
startfiles_dir="${multi_root}/usr/${multilib_dir}"
|
||||||
@ -97,11 +92,22 @@ do_libc_backend_once() {
|
|||||||
HOSTCC="${CT_BUILD}-gcc" \
|
HOSTCC="${CT_BUILD}-gcc" \
|
||||||
PREFIX="${multi_root}/" \
|
PREFIX="${multi_root}/" \
|
||||||
MULTILIB_DIR="${multilib_dir}" \
|
MULTILIB_DIR="${multilib_dir}" \
|
||||||
LOCALE_DATA_FILENAME="${uclibc_locale_tarball}.tgz" \
|
|
||||||
STRIPTOOL=true \
|
STRIPTOOL=true \
|
||||||
${CT_LIBC_UCLIBC_VERBOSITY} \
|
${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
|
# Force the date of the pregen locale data, as the
|
||||||
# newer ones that are referenced are not available
|
# newer ones that are referenced are not available
|
||||||
CT_DoLog EXTRA "Applying configuration"
|
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
|
# entirely if LOCALE is not set. If LOCALE was already set, we'll
|
||||||
# assume the user has already made all the appropriate generation
|
# assume the user has already made all the appropriate generation
|
||||||
# arrangements. Note that having the uClibc Makefile download the
|
# arrangements. Note that having the uClibc Makefile download the
|
||||||
# pregenerated locales is not compatible with crosstool; besides,
|
# pregenerated locales is not compatible with crosstool.
|
||||||
# crosstool downloads them as part of getandpatch.sh.
|
|
||||||
CT_KconfigDeleteOption "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE" "${dst}"
|
|
||||||
case "${CT_LIBC_UCLIBC_LOCALES}:${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" in
|
case "${CT_LIBC_UCLIBC_LOCALES}:${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" in
|
||||||
:*)
|
:*)
|
||||||
;;
|
;;
|
||||||
y:)
|
y:)
|
||||||
CT_KconfigEnableOption "UCLIBC_HAS_LOCALE" "${dst}"
|
CT_KconfigEnableOption "UCLIBC_HAS_LOCALE" "${dst}"
|
||||||
CT_KconfigDeleteOption "UCLIBC_PREGENERATED_LOCALE_DATA" "${dst}"
|
CT_KconfigDeleteOption "UCLIBC_PREGENERATED_LOCALE_DATA" "${dst}"
|
||||||
CT_KconfigDeleteOption "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" \
|
CT_KconfigDeleteOption "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" "${dst}"
|
||||||
"${dst}"
|
|
||||||
CT_KconfigDeleteOption "UCLIBC_HAS_XLOCALE" "${dst}"
|
CT_KconfigDeleteOption "UCLIBC_HAS_XLOCALE" "${dst}"
|
||||||
;;
|
;;
|
||||||
y:y)
|
y:y)
|
||||||
CT_KconfigEnableOption "UCLIBC_HAS_LOCALE" "${dst}"
|
CT_KconfigEnableOption "UCLIBC_HAS_LOCALE" "${dst}"
|
||||||
CT_KconfigEnableOption "UCLIBC_PREGENERATED_LOCALE_DATA" "${dst}"
|
CT_KconfigEnableOption "UCLIBC_PREGENERATED_LOCALE_DATA" "${dst}"
|
||||||
CT_KconfigDeleteOption "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" \
|
CT_KconfigDeleteOption "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" "${dst}"
|
||||||
"${dst}"
|
|
||||||
CT_KconfigDeleteOption "UCLIBC_HAS_XLOCALE" "${dst}"
|
CT_KconfigDeleteOption "UCLIBC_HAS_XLOCALE" "${dst}"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -537,18 +537,14 @@ CT_Pushd() {
|
|||||||
pushd "$1" >/dev/null 2>&1
|
pushd "$1" >/dev/null 2>&1
|
||||||
}
|
}
|
||||||
CT_Popd() {
|
CT_Popd() {
|
||||||
|
local dir=`dirs +0`
|
||||||
|
|
||||||
|
CT_DoLog DEBUG "Leaving '${dir}'"
|
||||||
popd >/dev/null 2>&1
|
popd >/dev/null 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
# Create a dir and cd or pushd into it
|
# Create a dir and pushd into it
|
||||||
# Usage: CT_mkdir_cd <dir/to/create>
|
# Usage: CT_mkdir_pushd <dir/to/create>
|
||||||
# CT_mkdir_pushd <dir/to/create>
|
|
||||||
CT_mkdir_cd() {
|
|
||||||
local dir="${1}"
|
|
||||||
|
|
||||||
mkdir -p "${dir}"
|
|
||||||
cd "${dir}"
|
|
||||||
}
|
|
||||||
CT_mkdir_pushd() {
|
CT_mkdir_pushd() {
|
||||||
local dir="${1}"
|
local dir="${1}"
|
||||||
|
|
||||||
@ -1718,7 +1714,12 @@ CT_DoFetch()
|
|||||||
local tmp_dir
|
local tmp_dir
|
||||||
|
|
||||||
if [ "${src_release}" = "y" ]; then
|
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
|
if ! CT_GetFile "${archive_filename}" ${mirrors}; then
|
||||||
CT_Abort "${pkg_name}: download failed"
|
CT_Abort "${pkg_name}: download failed"
|
||||||
fi
|
fi
|
||||||
@ -1869,7 +1870,13 @@ CT_DoExtractPatch()
|
|||||||
fi
|
fi
|
||||||
# TBD save/discover the extension while fetching
|
# TBD save/discover the extension while fetching
|
||||||
ext=`CT_GetFileExtension "${archive}"`
|
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 touch "${CT_COMMON_SRC_DIR}/.${basename}.extracted"
|
||||||
CT_DoExecLog ALL rm -f "${CT_COMMON_SRC_DIR}/.${basename}.extracting"
|
CT_DoExecLog ALL rm -f "${CT_COMMON_SRC_DIR}/.${basename}.extracting"
|
||||||
fi
|
fi
|
||||||
@ -1937,7 +1944,7 @@ CT_DoExtractPatch()
|
|||||||
CT_DoLog WARN "${pkg_name}: using custom location, no overlays applied"
|
CT_DoLog WARN "${pkg_name}: using custom location, no overlays applied"
|
||||||
fi
|
fi
|
||||||
if [ -d "${custom_location}" ]; then
|
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
|
elif [ -f "${custom_location}" ]; then
|
||||||
# Assume "foo.tar.gz" (or likes) contain the "foo" directory
|
# Assume "foo.tar.gz" (or likes) contain the "foo" directory
|
||||||
local bn
|
local bn
|
||||||
@ -1945,7 +1952,7 @@ CT_DoExtractPatch()
|
|||||||
CT_Extract "${custom_location}" "${CT_SRC_DIR}"
|
CT_Extract "${custom_location}" "${CT_SRC_DIR}"
|
||||||
bn=`CT_GetFileBasename "${custom_location##*/}"`
|
bn=`CT_GetFileBasename "${custom_location##*/}"`
|
||||||
CT_TestOrAbort "Unknown file extension: ${custom_location}" -n "${bn}"
|
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
|
else
|
||||||
CT_Abort "Neither file nor directory: ${custom_location}"
|
CT_Abort "Neither file nor directory: ${custom_location}"
|
||||||
fi
|
fi
|
||||||
@ -1953,13 +1960,13 @@ CT_DoExtractPatch()
|
|||||||
# Possibly has overlays; copy from common source and apply overlays if any
|
# Possibly has overlays; copy from common source and apply overlays if any
|
||||||
local overlay
|
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}"
|
overlay="${CT_OVERLAY_LOCATION}/${CT_ARCH}-${CT_OVERLAY_NAME:-overlay}"
|
||||||
ext=`CT_GetFileExtension "${overlay}"`
|
ext=`CT_GetFileExtension "${overlay}"`
|
||||||
CT_Extract "${overlay}${ext}" "${CT_SRC_DIR}" "${pkg_name}"
|
CT_Extract "${overlay}${ext}" "${CT_SRC_DIR}" "${dir_name}"
|
||||||
else
|
else
|
||||||
# Common source, just symlink
|
# 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
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user