Fixes for building

- Need GDB8.0 milestone
- Make uClibc "master" package
- Rename bionic -> android-ndk to match the package name and
  support suffixes for archives

Signed-off-by: Alexey Neyman <stilor@att.net>
This commit is contained in:
Alexey Neyman
2017-07-01 20:17:56 -07:00
parent b155ce6ab8
commit d0ff020e23
18 changed files with 41 additions and 30 deletions

View File

@ -11,7 +11,7 @@
## help This platform has no TLS (Thread Local Storage) support so that option must be ## help This platform has no TLS (Thread Local Storage) support so that option must be
## help disabled in the Compiler options. ## help disabled in the Compiler options.
source "config/versions/bionic.in" source "config/versions/android-ndk.in"
config THREADS config THREADS
default "posix" default "posix"

View File

@ -12,7 +12,7 @@
## help Highly configurable, thus as feature-rich as you ## help Highly configurable, thus as feature-rich as you
## help need, without compromising for size. ## help need, without compromising for size.
source "config/versions/uClibc-ng.in" source "config/versions/uClibc.in"
config THREADS config THREADS
default "nptl" if THREADS_NATIVE default "nptl" if THREADS_NATIVE

View File

@ -201,7 +201,7 @@ config_dir=config/versions
template=maintainer/kconfig-versions.template template=maintainer/kconfig-versions.template
declare -A pkg_forks pkg_milestones pkg_nforks declare -A pkg_forks pkg_milestones pkg_nforks
declare -a pkg_masters pkg_all declare -a pkg_masters pkg_all pkg_preferred
# Convert the argument to a Kconfig-style macro # Convert the argument to a Kconfig-style macro
kconfigize() kconfigize()
@ -406,17 +406,23 @@ find_forks()
{ {
local -A info local -A info
info[preferred]=${1}
eval `read_package_desc ${1}` eval `read_package_desc ${1}`
if [ -n "${info[master]}" ]; then if [ -n "${info[master]}" ]; then
pkg_nforks[${info[master]}]=$[pkg_nforks[${info[master]}]+1] pkg_nforks[${info[master]}]=$[pkg_nforks[${info[master]}]+1]
pkg_forks[${info[master]}]+=" ${1}" pkg_forks[${info[master]}]+=" ${1} "
else else
pkg_preferred[${1}]=${info[preferred]}
pkg_nforks[${1}]=$[pkg_nforks[${1}]+1] pkg_nforks[${1}]=$[pkg_nforks[${1}]+1]
pkg_forks[${1}]="${1}${pkg_forks[${1}]}" pkg_forks[${1}]+=" ${1} "
pkg_milestones[${1}]=`sort_versions ${info[milestones]}` pkg_milestones[${1}]=`sort_versions ${info[milestones]}`
pkg_masters+=( "${1}" ) pkg_masters+=( "${1}" )
fi fi
# Keep sorting so that preferred fork is first
if [ -n "${pkg_preferred[${1}]}" ]; then
pkg_forks[${1}]="${pkg_preferred[${1}]} ${pkg_forks[${1}]##* ${pkg_preferred[${1}]} } ${pkg_forks[${1}]%% ${pkg_preferred[${1}]} *}"
fi
} }
check_obsolete_experimental() check_obsolete_experimental()
@ -442,15 +448,16 @@ enter_fork()
info[fork]=${fork} info[fork]=${fork}
info[name]=${fork} info[name]=${fork}
info[mirrors]= info[mirrors]=
info[archivesuffix]=
eval `read_package_desc ${fork}` eval `read_package_desc ${fork}`
info[pfx]=`kconfigize ${fork}` info[pfx]=`kconfigize ${fork}`
info[originpfx]=`kconfigize ${info[origin]}` info[originpfx]=`kconfigize ${info[origin]}`
if [ -r "packages/${info[origin]}.help" ]; then if [ -r "packages/${info[origin]}.help" ]; then
info[originhelp]=`sed 's/^/\t /' "packages/${info[origin]}.help"` info[originhelp]=`sed 's/^/ /' "packages/${info[origin]}.help"`
else else
info[originhelp]="${info[master]} from ${info[origin]}." info[originhelp]=" ${info[master]} from ${info[origin]}."
fi fi
if [ -n "${info[repository]}" ]; then if [ -n "${info[repository]}" ]; then
@ -467,7 +474,7 @@ enter_fork()
info[all_versions]=${versions} info[all_versions]=${versions}
# If a fork does not define any versions at all ("rolling release"), do not # If a fork does not define any versions at all ("rolling release"), do not
# consider it obsolete/experimental unless it is marked in the fork's # consider it obsolete/experimental unless it is so marked in the fork's
# description. # description.
if [ -n "${versions}" ]; then if [ -n "${versions}" ]; then
only_obsolete=yes only_obsolete=yes

View File

@ -172,6 +172,10 @@ config @@pfx@@_MIRRORS
string string
default "@@mirrors@@" default "@@mirrors@@"
config @@pfx@@_ARCHIVE_SUFFIX
string
default "@@archivesuffix@@"
#!end-if #!end-if
#!// Below, we explicitly select all milestones to which a given version #!// Below, we explicitly select all milestones to which a given version

View File

@ -1,2 +1,3 @@
# We don't support building bionic (yet) so no official repository # We don't support building bionic (yet) so no official repository
archivesuffix='-linux-x86_64'
mirrors='https://dl.google.com/android/repository' mirrors='https://dl.google.com/android/repository'

View File

View File

@ -1 +0,0 @@
experimental='yes'

View File

@ -1,4 +1,4 @@
origin='GNU' origin='GNU'
repository='git git://sourceware.org/git/binutils-gdb.git' repository='git git://sourceware.org/git/binutils-gdb.git'
mirrors='$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb)' mirrors='$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb)'
milestones='7.0 7.2' milestones='7.0 7.2 8.0'

View File

@ -1,4 +1,4 @@
master='uClibc'
origin='uclibc-ng.org' origin='uclibc-ng.org'
repository='git git://uclibc-ng.org/git/uclibc-ng' repository='git git://uclibc-ng.org/git/uclibc-ng'
mirrors='http://downloads.uclibc-ng.org/releases/${CT_UCLIBC_NG_VERSION}' mirrors='http://downloads.uclibc-ng.org/releases/${CT_UCLIBC_NG_VERSION}'
milestones='0.9.33.2 1.0.0 1.0.15'

View File

@ -1,6 +1,7 @@
# Technically, it is the other way around: uClibc-ng is a fork of uClibc. But # Even though this is the "master" package, we really want to steer the users
# uClibc is no longer maintained, so we want people to use uClibc-ng. # towards uClibc-ng, as the original uClibc is no longer maintained.
master='uClibc-ng' preferred='uClibc-ng'
origin='uclibc.org' origin='uclibc.org'
repository='git git://git.busybox.net/uClibc' repository='git git://git.busybox.net/uClibc'
mirrors='http://www.uclibc.org/downloads http://www.uclibc.org/downloads/old-releases' mirrors='http://www.uclibc.org/downloads http://www.uclibc.org/downloads/old-releases'
milestones='0.9.33.2 1.0.0 1.0.15'

View File

@ -3,17 +3,17 @@
# 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
do_libc_get() { do_libc_get() {
CT_Fetch BIONIC CT_Fetch ANDROID_NDK
} }
do_libc_extract() { do_libc_extract() {
CT_ExtractPatch BIONIC CT_ExtractPatch ANDROID_NDK
} }
# Install Unified headers # Install Unified headers
do_libc_start_files() { do_libc_start_files() {
CT_DoStep INFO "Installing C library headers" CT_DoStep INFO "Installing C library headers"
CT_DoExecLog ALL cp -r "${CT_SRC_DIR}/bionic/sysroot/usr" "${CT_SYSROOT_DIR}" CT_DoExecLog ALL cp -r "${CT_SRC_DIR}/android-ndk/sysroot/usr" "${CT_SYSROOT_DIR}"
} }
do_libc() { do_libc() {
@ -25,7 +25,7 @@ do_libc() {
arch="${arch}64" arch="${arch}64"
fi fi
CT_DoStep INFO "Installing C library binaries" CT_DoStep INFO "Installing C library binaries"
CT_DoExecLog ALL cp -r "${CT_SRC_DIR}/bionic/platforms/android-${CT_ANDROID_API}/arch-${arch}/usr" "${CT_SYSROOT_DIR}" CT_DoExecLog ALL cp -r "${CT_SRC_DIR}/android-ndk/platforms/android-${CT_ANDROID_API}/arch-${arch}/usr" "${CT_SYSROOT_DIR}"
CT_EnvModify CT_TARGET_CFLAGS "${CT_TARGET_CFLAGS} -D__ANDROID_API__=${CT_ANDROID_API}" CT_EnvModify CT_TARGET_CFLAGS "${CT_TARGET_CFLAGS} -D__ANDROID_API__=${CT_ANDROID_API}"
} }

View File

@ -7,16 +7,15 @@
uclibc_locales_version=030818 uclibc_locales_version=030818
uclibc_locale_tarball="uClibc-locale-${uclibc_locales_version}" uclibc_locale_tarball="uClibc-locale-${uclibc_locales_version}"
if [ "${CT_UCLIBC_NG_USE_UCLIBC_NG_ORG}" = "y" ]; then if [ "${CT_UCLIBC_USE_UCLIBC_NG_ORG}" = "y" ]; then
# TBD make the name come from config/versions/uclibc.in # TBD make the name come from config/versions/uclibc.in
uclibc_name="uClibc-ng" uclibc_name="uClibc-ng"
elif [ "${CT_UCLIBC_NG_USE_UCLIBC_ORG}" = "y" ]; then elif [ "${CT_UCLIBC_USE_UCLIBC_ORG}" = "y" ]; then
uclibc_name="uClibc" uclibc_name="uClibc"
fi fi
# Download uClibc # Download uClibc
do_libc_get() { do_libc_get() {
# TBD allow for "default fork" selection in package.desc and select uClibc-NG (and then use just UCLIBC moniker)
CT_Fetch UCLIBC_NG CT_Fetch UCLIBC_NG
# TBD locales # TBD locales
} }

View File

@ -1688,7 +1688,7 @@ CT_PackageRun()
use="${use:-${sym}}" use="${use:-${sym}}"
# Variables that are per-fork # Variables that are per-fork
for v in basename pkg_name version src_release mirrors src_devel src_custom \ for v in basename pkg_name version src_release mirrors archive_suffix src_devel src_custom \
devel_vcs devel_url devel_branch devel_revision devel_subdir devel_bootstrap \ devel_vcs devel_url devel_branch devel_revision devel_subdir devel_bootstrap \
custom_location; do custom_location; do
eval "local ${v}=\${CT_${use}_${v^^}}" eval "local ${v}=\${CT_${use}_${v^^}}"
@ -1711,7 +1711,7 @@ CT_DoFetch()
if [ "${src_release}" = "y" ]; then if [ "${src_release}" = "y" ]; then
basename="${pkg_name}-${version}" basename="${pkg_name}-${version}"
if ! CT_GetFile "${basename}" ${mirrors}; then if ! CT_GetFile "${basename}${archive_suffix}" ${mirrors}; then
CT_Abort "${pkg_name}: download failed" CT_Abort "${pkg_name}: download failed"
fi fi
@ -1798,19 +1798,19 @@ CT_Extract()
CT_DoExecLog ALL mkdir -p "${dir}" CT_DoExecLog ALL mkdir -p "${dir}"
case "${file}" in case "${file}" in
*.tar.xz) *.tar.xz)
xz -fdc "${file}" | CT_DoExecLog FILE tar x -f - -C "${dir}" ${components} xz -fdc "${file}" | CT_DoExecLog FILE tar x -v -f - -C "${dir}" ${components}
;; ;;
*.tar.lzma) *.tar.lzma)
xz -fdc "${file}" | CT_DoExecLog FILE tar x -f - -C "${dir}" ${components} xz -fdc "${file}" | CT_DoExecLog FILE tar x -v -f - -C "${dir}" ${components}
;; ;;
*.tar.bz2) *.tar.bz2)
bzip2 -dc "${file}" | CT_DoExecLog FILE tar x -f - -C "${dir}" ${components} bzip2 -dc "${file}" | CT_DoExecLog FILE tar x -v -f - -C "${dir}" ${components}
;; ;;
*.tar.gz|*.tgz) *.tar.gz|*.tgz)
gzip -dc "${file}" | CT_DoExecLog FILE tar x -f - -C "${dir}" ${components} gzip -dc "${file}" | CT_DoExecLog FILE tar x -v -f - -C "${dir}" ${components}
;; ;;
*.tar) *.tar)
CT_DoExecLog FILE tar x -f "${file}" -C "${dir}" ${components} CT_DoExecLog FILE tar x -v -f "${file}" -C "${dir}" ${components}
;; ;;
*.zip) *.zip)
CT_Pushd "${dir}" CT_Pushd "${dir}"
@ -1855,8 +1855,8 @@ CT_DoExtractPatch()
CT_DoLog EXTRA "Extracting ${basename}" CT_DoLog EXTRA "Extracting ${basename}"
CT_DoExecLog ALL touch "${CT_COMMON_SRC_DIR}/.${basename}.extracting" CT_DoExecLog ALL touch "${CT_COMMON_SRC_DIR}/.${basename}.extracting"
# TBD save/discover the extension while fetching # TBD save/discover the extension while fetching
ext=`CT_GetFileExtension "${basename}"` ext=`CT_GetFileExtension "${basename}${archive_suffix}"`
CT_Extract "${CT_TARBALLS_DIR}/${basename}${ext}" "${CT_COMMON_SRC_DIR}" CT_Extract "${CT_TARBALLS_DIR}/${basename}${archive_suffix}${ext}" "${CT_COMMON_SRC_DIR}"
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