merge in thead-V1.1.2 changes

Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
This commit is contained in:
Robert Nelson
2023-06-09 14:47:22 -05:00
parent fa3fcfbf5e
commit 0e5a16529a
11 changed files with 40 additions and 20 deletions

View File

@@ -33,7 +33,7 @@ do_install:append () {
for i in ${D}${bindir}/${EXTERNAL_TARGET_SYS}-*; do
if [ -e "$i" ]; then
j="$(basename "$i")"
ln -sv "$j" "${D}${bindir}/${TARGET_PREFIX}${j#${EXTERNAL_TARGET_SYS}-}"
#ln -sv "$j" "${D}${bindir}/${TARGET_PREFIX}${j#${EXTERNAL_TARGET_SYS}-}"
fi
done
}

View File

@@ -86,6 +86,8 @@ def external_run(d, *args):
import oe.external
return oe.external.run(d, *args)
external_run[vardepsexclude] += "LAYERDIR_external-toolchain"
def external_get_kernel_version(d, p):
if (not d.getVar('TCMODE', True).startswith('external') or
not d.getVar('EXTERNAL_TOOLCHAIN', True)):

View File

@@ -24,14 +24,14 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs ?= "gcc-runtime-external
PREFERRED_PROVIDER_gcc-runtime = "gcc-runtime-external"
PREFERRED_PROVIDER_gcc-sanitizers ?= "gcc-sanitizers-external"
PREFERRED_PROVIDER_libgcc-initial = "libgcc-external"
PREFERRED_PROVIDER_libnsl2 = "libnsl2-external"
PREFERRED_PROVIDER_libtirpc = "libtirpc-external"
PREFERRED_PROVIDER_libgfortran = "libgfortran-external"
PREFERRED_PROVIDER_libnsl2 = "libnsl2"
PREFERRED_PROVIDER_libtirpc = "libtirpc"
# PREFERRED_PROVIDER_libgfortran = "libgfortran-external"
PREFERRED_PROVIDER_glibc ?= "glibc-external"
PREFERRED_PROVIDER_virtual/libc ?= "glibc-external"
PREFERRED_PROVIDER_virtual/libintl ?= "glibc-external"
PREFERRED_PROVIDER_virtual/libiconv ?= "glibc-external"
PREFERRED_PROVIDER_virtual/crypt ?= "libxcrypt-external"
PREFERRED_PROVIDER_virtual/crypt ?= "libxcrypt"
PREFERRED_PROVIDER_gdb-cross-${TARGET_ARCH} ?= "gdb-external-cross-${TARGET_ARCH}"
PREFERRED_PROVIDER_oprofile ??= "oprofile"
# Work around bug where the implicitly created mlprefix preference isn't being
@@ -105,7 +105,7 @@ TUNE_LDARGS += "${@'-m ${LDEMULATION}' if '${LDEMULATION}' else ''}"
# Additional search path for compiler component programs, to let us rebuild
# binutils if necessary.
gcc_bindir = "${STAGING_BINDIR_TOOLCHAIN}/gcc"
TUNE_CCARGS .= "${@' -B${gcc_bindir}' if d.getVar('PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils') != 'binutils-external-cross-${TARGET_ARCH}' else ''}"
TARGET_CC_ARCH .= "${@' -B${gcc_bindir}' if d.getVar('PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils') != 'binutils-external-cross-${TARGET_ARCH}' else ''}"
# Align the external toolchain ldflags with the internal
TARGET_LDFLAGS_BUILD_ID = "-Wl,--build-id=sha1"

View File

@@ -6,7 +6,7 @@ BBFILE_PRIORITY_external-toolchain = "1"
BBFILE_PATTERN_external-toolchain = "^${LAYERDIR}/"
LAYERDEPENDS_external-toolchain = "core"
LAYERSERIES_COMPAT_external-toolchain = "kirkstone"
LAYERSERIES_COMPAT_external-toolchain = "kirkstone langdale"
LAYERDIR_external-toolchain = "${LAYERDIR}"
BBFILES += "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.%s' % (layer, ext) \

View File

@@ -11,6 +11,8 @@ FILES:${PN} = "\
do_install:append () {
if [ ! -e ${D}${bindir}/${EXTERNAL_TARGET_SYS}-ld.bfd ]; then
rm -rf ${D}${bindir}/${EXTERNAL_TARGET_SYS}-ld.bfd
echo "ln -s ${EXTERNAL_TARGET_SYS}-ld ${D}${bindir}/${EXTERNAL_TARGET_SYS}-ld.bfd"
ln -s ${EXTERNAL_TARGET_SYS}-ld ${D}${bindir}/${EXTERNAL_TARGET_SYS}-ld.bfd
fi
}

View File

@@ -29,7 +29,7 @@ FILES_MIRRORS =. "\
# The do_install:append in gcc-runtime.inc doesn't do well if the links
# already exist, as it causes a recursion that breaks traversal.
python () {
adjusted = d.getVar('do_install_added').replace('ln -s', 'link_if_no_dest')
adjusted = d.getVar('do_install_added', expand=False).replace('ln -s', 'link_if_no_dest')
adjusted = adjusted.replace('mkdir', 'mkdir_if_no_dest')
d.setVar('do_install_added', adjusted)
}

View File

@@ -7,9 +7,10 @@ FILES_MIRRORS =. "\
${exec_prefix}|${target_exec_prefix}/${EXTERNAL_TARGET_SYS}\n \
"
FILES:${PN} += "\
${@' '.join('${bindir}/${EXTERNAL_TARGET_SYS}-' + i for i in '${gdb_binaries}'.split())} \
${exec_prefix}/share/gdb \
"
#FILES:${PN} += "\
# ${@' '.join('${bindir}/${EXTERNAL_TARGET_SYS}-' + i for i in '${gdb_binaries}'.split())} \
# ${exec_prefix}/share/gdb \
#"
INSANE_SKIP:${PN} += "dev-so staticdev"
INSANE_SKIP:${PN} += "dev-so staticdev installed-vs-shipped"
#INSANE_SKIP:${PN} += "dev-so staticdev"

View File

@@ -170,6 +170,7 @@ python () {
baselibs = d.getVar('libc_baselibs', False)
baselibs = baselibs.replace('${base_libdir}/libm*.so.*', '${base_libdir}/libm.so.* ${base_libdir}/libmvec.so.*')
baselibs = baselibs.replace('${base_libdir}/libnsl*.so.* ${base_libdir}/libnsl-*.so', '')
print(baselibs)
d.setVar('libc_baselibs', baselibs)
}
@@ -196,6 +197,7 @@ FILES:${PN} += "\
${libdir}/locale \
${datadir}/locale \
${datadir}/i18n \
${prefix}/lib64xthead/lp64d \
"
FILES:${PN}-dev:remove := "${datadir}/aclocal"
@@ -231,6 +233,7 @@ FILES:${PN}-dev += "\
${includedir}/fpu_control.h \
${includedir}/stdc-predef.h \
${includedir}/uchar.h \
${includedir}/features-time64.h \
"
FILES:${PN}-dev[file-checksums] += "${libc_headers_file}:True"
@@ -243,9 +246,14 @@ do_package_write_rpm[depends] += "${MLPREFIX}libgcc:do_packagedata"
# glibc may need libssp for -fstack-protector builds
do_packagedata[depends] += "gcc-runtime:do_packagedata"
python do_package:append() {
bb.utils.mkdirhier(pkgdest + '/' + pn + '/lib64xthead')
os.symlink("../lib", pkgdest + '/' + pn + '/lib64xthead/lp64d')
}
# We don't need linux-libc-headers
LINUX_LIBC_RDEP_REMOVE ?= "linux-libc-headers-dev"
RDEPENDS:${PN}-dev:remove = "${LINUX_LIBC_RDEP_REMOVE}"
FILES:${PN}-dev:remove = "${base_libdir}/*_nonshared.a ${libdir}/*_nonshared.a"
FILES:${PN}-dev += "${libdir}/libc_nonshared.a ${libdir}/libpthread_nonshared.a ${libdir}/libmvec_nonshared.a"
# FILES:${PN}-dev:remove = "${base_libdir}/*_nonshared.a ${libdir}/*_nonshared.a"
# FILES:${PN}-dev += "${libdir}/libc_nonshared.a ${libdir}/libpthread_nonshared.a ${libdir}/libmvec_nonshared.a"

View File

@@ -88,7 +88,6 @@ ca_IT.UTF-8 UTF-8
ca_IT ISO-8859-15
ce_RU UTF-8
chr_US UTF-8
ckb_IQ UTF-8
cmn_TW UTF-8
crh_UA UTF-8
cs_CZ.UTF-8 UTF-8
@@ -325,7 +324,7 @@ mk_MK ISO-8859-5
ml_IN UTF-8
mn_MN UTF-8
mni_IN UTF-8
mnw_MM UTF-8
# mnw_MM UTF-8
mr_IN UTF-8
ms_MY.UTF-8 UTF-8
ms_MY ISO-8859-1

View File

@@ -1,7 +1,15 @@
# stash_locale_cleanup removes the empty /usr/lib after stashing the locale
# files to avoid remnant clutter, but we need it in the sysroot
stash_locale_sysroot_cleanup:append() {
SYSROOT_PREPROCESS_FUNCS += "external_toolchain_sysroot_adjust"
external_toolchain_sysroot_adjust() {
# If the usr/lib directory doesn't exist, the toolchain fails to even
# try to find crti.o in a completely different directory (usr/lib64)
install -d ${SYSROOT_DESTDIR}${nonarch_libdir}
install -d ${SYSROOT_DESTDIR}/lib64xthead/
ln -s ../lib ${SYSROOT_DESTDIR}/lib64xthead/lp64d
install -d ${SYSROOT_DESTDIR}/usr/lib64xthead/
ln -s ../lib ${SYSROOT_DESTDIR}/usr/lib64xthead/lp64d
}

View File

@@ -7,12 +7,12 @@ PROVIDES = "virtual/crypt"
inherit external-toolchain
EXTERNAL_PROVIDE_PATTERN = "${libdir}/libcrypt*.so.*"
EXTERNAL_PROVIDE_PATTERN = "${libdir}/libcrypt.so.*"
libc_rdep = "${@'${PREFERRED_PROVIDER_virtual/libc}' if '${PREFERRED_PROVIDER_virtual/libc}' else '${TCLIBC}'}"
RDEPENDS:${PN} += "${libc_rdep}"
FILES:${PN} = "${libdir}/libcrypt*.so.* \
FILES:${PN} = "${libdir}/libcrypt.so.* \
${libdir}/libcrypt-*.so \
${libdir}/libowcrypt*.so.* \
${libdir}/libowcrypt-*.so \