Convert to new overrides syntax for honister

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
This commit is contained in:
Christopher Larson
2021-08-17 16:55:56 +00:00
parent dcab4f5860
commit a81f04f908
34 changed files with 154 additions and 154 deletions

View File

@@ -15,7 +15,7 @@ python () {
#; Set LIC_FILES_CHKSUM to a common license if it's unset and LICENSE is set
licensestr = d.getVar('LICENSE', True)
for pkg in d.getVar('PACKAGES', True).split():
pkg_lic = d.getVar('LICENSE_%s' % pkg, True)
pkg_lic = d.getVar('LICENSE:%s' % pkg, True)
if pkg_lic:
licensestr += ' ' + pkg_lic

View File

@@ -2,10 +2,10 @@ inherit external-toolchain cross-canadian
# Toolchain binaries are expected to run on both this host and SDKMACHINE, so
# we should be able to use host tools.
STRIP_task-package = "strip"
STRIP_task-populate-sysroot = "strip"
OBJCOPY_task-package = "objcopy"
PACKAGE_DEPENDS_remove = "virtual/${TARGET_PREFIX}binutils"
STRIP:task-package = "strip"
STRIP:task-populate-sysroot = "strip"
OBJCOPY:task-package = "objcopy"
PACKAGE_DEPENDS:remove = "virtual/${TARGET_PREFIX}binutils"
# Scan just toolchains root directory, but include some additional mirrors
EXTERNAL_INSTALL_SOURCE_PATHS = "${EXTERNAL_TOOLCHAIN}"
@@ -27,9 +27,9 @@ libdir = "${exec_prefix}/lib"
libexecdir = "${exec_prefix}/libexec"
# We're relying on a compatible host libc, not one from a nativesdk build
INSANE_SKIP_${PN} += "build-deps file-rdeps"
INSANE_SKIP:${PN} += "build-deps file-rdeps"
do_install_append () {
do_install:append () {
for i in ${D}${bindir}/${EXTERNAL_TARGET_SYS}-*; do
if [ -e "$i" ]; then
j="$(basename "$i")"
@@ -43,12 +43,12 @@ python add_files_links () {
full_prefix = os.path.join(d.getVar('bindir'), prefix)
new_prefix = d.getVar('TARGET_PREFIX')
for pkg in d.getVar('PACKAGES').split():
files = (d.getVar('FILES_%s' % pkg) or '').split()
files = (d.getVar('FILES:%s' % pkg) or '').split()
new_files = []
for f in files:
if f.startswith(full_prefix):
new_files.append(f.replace(prefix, new_prefix))
if new_files:
d.appendVar('FILES_%s' % pkg, ' ' + ' '.join(new_files))
d.appendVar('FILES:%s' % pkg, ' ' + ' '.join(new_files))
}
do_package[prefuncs] += "add_files_links"

View File

@@ -21,7 +21,7 @@ S = "${WORKDIR}"
INHIBIT_DEFAULT_DEPS = "1"
# Missing build deps don't matter when we don't build anything
INSANE_SKIP_${PN} += "build-deps"
INSANE_SKIP:${PN} += "build-deps"
EXTERNAL_PN ?= "${@PN.replace('-external', '')}"
PROVIDES += "${EXTERNAL_PN}"
@@ -36,14 +36,14 @@ do_compile[noexec] = "1"
EXTERNAL_PV_PREFIX ?= ""
EXTERNAL_PV_SUFFIX ?= ""
PV_prepend = "${@'${EXTERNAL_PV_PREFIX}' if '${EXTERNAL_PV_PREFIX}' else ''}"
PV_append = "${@'${EXTERNAL_PV_SUFFIX}' if '${EXTERNAL_PV_SUFFIX}' else ''}"
PV:prepend = "${@'${EXTERNAL_PV_PREFIX}' if '${EXTERNAL_PV_PREFIX}' else ''}"
PV:append = "${@'${EXTERNAL_PV_SUFFIX}' if '${EXTERNAL_PV_SUFFIX}' else ''}"
EXTERNAL_EXTRA_FILES ?= ""
# Skip this recipe if we don't have files in the external toolchain
EXTERNAL_AUTO_PROVIDE ?= "0"
EXTERNAL_AUTO_PROVIDE_class-target ?= "1"
EXTERNAL_AUTO_PROVIDE:class-target ?= "1"
# We don't care if this path references other variables
EXTERNAL_TOOLCHAIN[vardepvalue] = "${EXTERNAL_TOOLCHAIN}"
@@ -125,13 +125,13 @@ python external_toolchain_do_install () {
bb.build.exec_func('do_install_extra', d)
external_toolchain_propagate_mode(d, installdest)
}
external_toolchain_do_install[vardeps] += "${@' '.join('FILES_%s' % pkg for pkg in '${PACKAGES}'.split())}"
external_toolchain_do_install[vardeps] += "${@' '.join('FILES:%s' % pkg for pkg in '${PACKAGES}'.split())}"
# Change do_install's CWD to EXTERNAL_TOOLCHAIN for convenience
do_install[dirs] = "${D} ${EXTERNAL_TOOLCHAIN}"
python () {
# Deal with any do_install_append
# Deal with any do_install:append
install = d.getVar('do_install', False)
try:
base, appended = install.split('# Sentinel', 1)
@@ -140,31 +140,31 @@ python () {
else:
d.setVar('do_install', base)
if appended.strip():
d.setVar('do_install_appended', appended)
d.setVarFlag('do_install_appended', 'func', '1')
d.appendVarFlag('do_install', 'postfuncs', ' do_install_appended')
d.setVar('do_install_added', appended)
d.setVarFlag('do_install_added', 'func', '1')
d.appendVarFlag('do_install', 'postfuncs', ' do_install_added')
}
# Toolchain shipped binaries weren't necessarily built ideally
WARN_QA_remove = "ldflags textrel"
ERROR_QA_remove = "ldflags textrel"
WARN_QA:remove = "ldflags textrel"
ERROR_QA:remove = "ldflags textrel"
# Debug files may well have already been split out, or stripped out
INSANE_SKIP_${PN} += "already-stripped"
INSANE_SKIP:${PN} += "already-stripped"
RPROVIDES_${PN} += "${EXTERNAL_PN}"
RPROVIDES_${PN}-dev += "${EXTERNAL_PN}-dev"
RPROVIDES_${PN}-staticdev += "${EXTERNAL_PN}-staticdev"
RPROVIDES_${PN}-dbg += "${EXTERNAL_PN}-dbg"
RPROVIDES_${PN}-doc += "${EXTERNAL_PN}-doc"
RPROVIDES_${PN}-locale += "${EXTERNAL_PN}-locale"
RPROVIDES:${PN} += "${EXTERNAL_PN}"
RPROVIDES:${PN}-dev += "${EXTERNAL_PN}-dev"
RPROVIDES:${PN}-staticdev += "${EXTERNAL_PN}-staticdev"
RPROVIDES:${PN}-dbg += "${EXTERNAL_PN}-dbg"
RPROVIDES:${PN}-doc += "${EXTERNAL_PN}-doc"
RPROVIDES:${PN}-locale += "${EXTERNAL_PN}-locale"
LOCALEBASEPN = "${EXTERNAL_PN}"
FILES_${PN} = ""
FILES_${PN}-dev = ""
FILES_${PN}-staticdev = ""
FILES_${PN}-doc = ""
FILES_${PN}-locale = ""
FILES:${PN} = ""
FILES:${PN}-dev = ""
FILES:${PN}-staticdev = ""
FILES:${PN}-doc = ""
FILES:${PN}-locale = ""
def debug_paths(d):
l = d.createCopy()
@@ -177,7 +177,7 @@ def debug_paths(d):
for p in l.getVar('PACKAGES', True).split():
if p.endswith('-dbg'):
continue
for f in (l.getVar('FILES_%s' % p, True) or '').split():
for f in (l.getVar('FILES:%s' % p, True) or '').split():
if any((f == x or f.startswith(x + '/')) for x in exclude):
continue
d = os.path.dirname(f)
@@ -187,4 +187,4 @@ def debug_paths(d):
paths.append('{0}/.debug/{1}.debug'.format(d, b))
return set(paths)
FILES_${PN}-dbg = "${@' '.join(debug_paths(d))}"
FILES:${PN}-dbg = "${@' '.join(debug_paths(d))}"

View File

@@ -47,7 +47,7 @@ def check_toolchain_sanity(d, generate_events=False):
l = d.createCopy()
l.setVar('TOOLCHAIN_OPTIONS', '')
l.setVar('TARGET_PREFIX', '${EXTERNAL_TARGET_SYS}-')
l.setVar('HOST_CC_ARCH_remove', '--no-sysroot-suffix')
l.setVar('HOST_CC_ARCH:remove', '--no-sysroot-suffix')
cmd = l.expand('${EXTERNAL_TOOLCHAIN_BIN}/${EXTERNAL_CC} ${HOST_CC_ARCH} ${CFLAGS} ${LDFLAGS} test.c -o test')
exttc_sanity_run(shlex.split(cmd), d, generate_events, tmpdir)

View File

@@ -13,12 +13,12 @@ EXTERNAL_MULTIMACH_TARGET_SYS ?= "${MULTIMACH_TARGET_SYS}"
EXTERNAL_TOOLCHAIN_SYSROOT = "${EXTERNAL_TOOLCHAIN}/sysroots/${EXTERNAL_MULTIMACH_TARGET_SYS}"
EXTERNAL_CC = "${EXTERNAL_TARGET_SYS}-gcc --sysroot=${EXTERNAL_TOOLCHAIN_SYSROOT}"
EXTERNAL_TOOLCHAIN_FEATURES_append = " locale-utf8-is-default"
EXTERNAL_TOOLCHAIN_FEATURES:append = " locale-utf8-is-default"
EXTERNAL_SETUP_SCRIPT_VARS ?= ""
# Our headers are already multilib
oe_multilib_header_pn-glibc-external = ":"
oe_multilib_header:pn-glibc-external = ":"
EXTERNAL_TOOLCHAINS ??= "${EXTERNAL_TOOLCHAIN}"

View File

@@ -52,7 +52,7 @@ PREFERRED_PROVIDER_gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} ??= "gdb-externa
PREFERRED_PROVIDER_libgcc = "libgcc-external"
# Pass --no-sysroot-suffix when using an external toolchain with the SDK
TOOLCHAIN_TARGET_TASK_append = " sdk-env-external-toolchain"
TOOLCHAIN_TARGET_TASK:append = " sdk-env-external-toolchain"
# Sanity check the toolchain configuration and toolchain
INHERIT += "sanity-external-toolchain"
@@ -81,7 +81,7 @@ PNBLACKLIST_DYNAMIC += "\
# We need our -cross recipes to rebuild when the external toolchain changes,
# to recreate the links / wrapper scripts
BB_HASHBASE_WHITELIST_remove = "EXTERNAL_TOOLCHAIN"
BB_HASHBASE_WHITELIST:remove = "EXTERNAL_TOOLCHAIN"
# For a toolchain built with multilibs, we don't want any suffix implicitly
# added to the oe sysroot path, as those dirs will not exist.
@@ -94,9 +94,9 @@ HOST_CC_ARCH += "--no-sysroot-suffix"
LDEMULATION = ""
LDEMULATION_ENDIAN = "${@'bt' if 'bigendian' in '${TUNE_FEATURES}'.split() else 'lt'}"
LDEMULATION_BITS = "${@'64' if 'n64' in '${TUNE_FEATURES}'.split() else '32'}"
LDEMULATION_mips64 = "elf${LDEMULATION_BITS}${LDEMULATION_ENDIAN}smip${@bb.utils.contains('TUNE_FEATURES', 'n32', 'n32', '', d)}"
LDEMULATION_x86-64 = "elf_${TARGET_ARCH}"
LDEMULATION_x86-64_linux-gnux32 = "elf32_${TARGET_ARCH}"
LDEMULATION:mips64 = "elf${LDEMULATION_BITS}${LDEMULATION_ENDIAN}smip${@bb.utils.contains('TUNE_FEATURES', 'n32', 'n32', '', d)}"
LDEMULATION:x86-64 = "elf_${TARGET_ARCH}"
LDEMULATION:x86-64:linux-gnux32 = "elf32_${TARGET_ARCH}"
TUNE_LDARGS += "${@'-m ${LDEMULATION}' if '${LDEMULATION}' else ''}"
# Additional search path for compiler component programs, to let us rebuild
@@ -131,6 +131,6 @@ GCC_VERSION[vardepvalue] = "${GCC_VERSION}"
# macro-prefix-map was introduced in gcc 8
REMOVE_MACRO_PREFIX_MAP = "-fmacro-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
DEBUG_PREFIX_MAP_remove_class-target = "${@'${REMOVE_MACRO_PREFIX_MAP}' if '${GCC_VERSION}' not in ['', 'UNKNOWN'] and [int(v) for v in '${GCC_VERSION}'.split('.')] < [8,0] else ''}"
DEBUG_PREFIX_MAP:remove:class-target = "${@'${REMOVE_MACRO_PREFIX_MAP}' if '${GCC_VERSION}' not in ['', 'UNKNOWN'] and [int(v) for v in '${GCC_VERSION}'.split('.')] < [8,0] else ''}"
BUILDCFG_VARS += "EXTERNAL_TOOLCHAIN EXTERNAL_TARGET_SYS GCC_VERSION"

View File

@@ -22,7 +22,7 @@ SIGGEN_EXCLUDERECIPES_ABISAFE += "\
"
# Needed for external_run() for PV & LICENSE in the recipes, to be able to parse
INHERIT_append = " external_global"
INHERIT:append = " external_global"
# Fallback default for when the tcmode isn't sourced
GCC_VERSION ?= "0.0"

View File

@@ -2,6 +2,6 @@
# the default for the toolchain, which isn't necessarily correct for an
# external toolchain.
EFI_TUNE_ARCH = "-m32"
EFI_TUNE_ARCH_x86-64 = "-m64"
EFI_CC_tcmode-external = "${@'${CC}'.split()[0]} ${EFI_TUNE_ARCH}"
EXTRA_OECONF_append_tcmode-external = " 'EFI_CC=${EFI_CC}'"
EFI_TUNE_ARCH:x86-64 = "-m64"
EFI_CC:tcmode-external = "${@'${CC}'.split()[0]} ${EFI_TUNE_ARCH}"
EXTRA_OECONF:append:tcmode-external = " 'EFI_CC=${EFI_CC}'"

View File

@@ -1,15 +1,15 @@
INHIBIT_PACKAGE_DEBUG_SPLIT_tcmode-external = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT:tcmode-external = "1"
# Toolchain shipped binaries weren't necessarily built ideally
WARN_QA_remove_tcmode-external = "ldflags textrel"
ERROR_QA_remove_tcmode-external = "ldflags textrel"
WARN_QA:remove:tcmode-external = "ldflags textrel"
ERROR_QA:remove:tcmode-external = "ldflags textrel"
# Debug files may well have already been split out, or stripped out
INSANE_SKIP_${PN}_append_tcmode-external = " already-stripped"
INSANE_SKIP:${PN}:append:tcmode-external = " already-stripped"
# localedef needs libgcc & libc
localedef_depends = ""
localedef_depends_tcmode-external = "${MLPREFIX}libgcc:do_packagedata virtual/${MLPREFIX}libc:do_packagedata"
localedef_depends:tcmode-external = "${MLPREFIX}libgcc:do_packagedata virtual/${MLPREFIX}libc:do_packagedata"
python () {
depends = d.getVar('localedef_depends', True)

View File

@@ -1,5 +1,5 @@
# buildtools-tarball is host only, and does not add TOOLCHAIN_TARGET_TASK to
# RDEPENDS. Forcibly empty it, otherwise a TOOLCHAIN_TARGET_TASK_append at the
# RDEPENDS. Forcibly empty it, otherwise a TOOLCHAIN_TARGET_TASK:append at the
# config level will break the buildtools-tarball build
python () {
if d.getVar('EXTERNAL_ENABLED'):

View File

@@ -1,3 +1,3 @@
# Don't dump the -B${gcc_bindir} appended to TUNE_CCARGS and subsequently
# to TARGET_CC_ARCH, since it consists of local machine toolchain paths.
TUNE_CCARGS_remove_tcmode-external = "-B${gcc_bindir}"
TUNE_CCARGS:remove:tcmode-external = "-B${gcc_bindir}"

View File

@@ -1,3 +1,3 @@
# Don't dump the -B${gcc_bindir} appended to TUNE_CCARGS and subsequently
# to TARGET_CC_ARCH, since it consists of local machine toolchain paths.
TUNE_CCARGS_remove_tcmode-external = "-B${gcc_bindir}"
TUNE_CCARGS:remove:tcmode-external = "-B${gcc_bindir}"

View File

@@ -1,4 +1,4 @@
do_install_append_tcmode-external () {
do_install:append:tcmode-external () {
install -d ${D}${bindir}/gcc
for i in ${D}${bindir}/${TARGET_PREFIX}*; do
ln -s ../$(basename "$i") ${D}${bindir}/gcc/${i##*/${TARGET_PREFIX}}

View File

@@ -1,6 +1,6 @@
PROVIDES_append_tcmode-external = " ${@'gdbserver' if '${PREFERRED_PROVIDER_${MLPREFIX}gdbserver}' == '${PN}' else ''}"
PROVIDES:append:tcmode-external = " ${@'gdbserver' if '${PREFERRED_PROVIDER_${MLPREFIX}gdbserver}' == '${PN}' else ''}"
# Disable build of gdbserver if is provided by external-sourcery-toolchain
PACKAGES_remove_tcmode-external = "${@'gdbserver' if '${PREFERRED_PROVIDER_${MLPREFIX}gdbserver}' != '${PN}' else ''}"
PACKAGES:remove:tcmode-external = "${@'gdbserver' if '${PREFERRED_PROVIDER_${MLPREFIX}gdbserver}' != '${PN}' else ''}"
DISABLE_GDBSERVER = "${@'--disable-gdbserver' if '${PREFERRED_PROVIDER_${MLPREFIX}gdbserver}' != '${PN}' else ''}"
EXTRA_OECONF_append_tcmode-external = " ${DISABLE_GDBSERVER}"
EXTRA_OECONF:append:tcmode-external = " ${DISABLE_GDBSERVER}"

View File

@@ -1,3 +1,3 @@
# This build relies on this matching up with HOST_PREFIX, as it doesn't seem
# to use CROSS_COMPILE everywhere. Align it here to fix the build.
HOST_SYS_tcmode-external = "${@'${HOST_PREFIX}'[:-1]}"
HOST_SYS:tcmode-external = "${@'${HOST_PREFIX}'[:-1]}"

View File

@@ -1,4 +1,4 @@
do_compile_append_tcmode-external () {
do_compile:append:tcmode-external () {
if [ -e support/bash.pc ] ; then
sed -i -e 's#-B${gcc_bindir}##' support/bash.pc
fi

View File

@@ -66,7 +66,7 @@ def gather_pkg_files(d):
import itertools
files = []
for pkg in d.getVar('PACKAGES').split():
files = itertools.chain(files, (d.getVar('EXTERNAL_FILES_{}'.format(pkg)) or d.getVar('FILES_{}'.format(pkg)) or '').split())
files = itertools.chain(files, (d.getVar('EXTERNAL_FILES_{}'.format(pkg)) or d.getVar('FILES:{}'.format(pkg)) or '').split())
files = itertools.chain(files, d.getVar('EXTERNAL_EXTRA_FILES').split())
return files

View File

@@ -3,13 +3,13 @@ inherit external-toolchain-cross-canadian
PN .= "-${TRANSLATED_TARGET_ARCH}"
FILES_${PN} = "\
FILES:${PN} = "\
${@' '.join('${bindir}/${EXTERNAL_TARGET_SYS}-' + i for i in '${binutils_binaries}'.split())} \
${@' '.join('${exec_prefix}/${EXTERNAL_TARGET_SYS}/bin/' + i for i in '${binutils_binaries}'.split())} \
${exec_prefix}/lib/ldscripts \
"
do_install_append () {
do_install:append () {
if [ ! -e ${D}${bindir}/${EXTERNAL_TARGET_SYS}-ld.bfd ]; then
ln -s ${EXTERNAL_TARGET_SYS}-ld ${D}${bindir}/${EXTERNAL_TARGET_SYS}-ld.bfd
fi

View File

@@ -6,7 +6,7 @@ PROVIDES += "virtual/${TARGET_PREFIX}binutils"
EXTERNAL_CROSS_BINARIES = "${binutils_binaries}"
do_install_append () {
do_install:append () {
if [ ! -e ${D}${bindir}/${TARGET_PREFIX}ld.bfd ]; then
ln -s ${TARGET_PREFIX}ld ${D}${bindir}/${TARGET_PREFIX}ld.bfd
fi

View File

@@ -5,8 +5,8 @@ PN .= "-${TRANSLATED_TARGET_ARCH}"
BINV = "${GCC_VERSION}"
RDEPENDS_${PN} = "binutils-external-cross-canadian-${TRANSLATED_TARGET_ARCH}"
FILES_${PN} = "\
RDEPENDS:${PN} = "binutils-external-cross-canadian-${TRANSLATED_TARGET_ARCH}"
FILES:${PN} = "\
${libdir}/gcc/${EXTERNAL_TARGET_SYS}/${BINV} \
${libexecdir}/gcc/${EXTERNAL_TARGET_SYS}/${BINV} \
${libdir}/libcc1* \
@@ -16,4 +16,4 @@ FILES_${PN} = "\
external_libroot = "${@os.path.realpath('${EXTERNAL_TOOLCHAIN_LIBROOT}').replace(os.path.realpath('${EXTERNAL_TOOLCHAIN}') + '/', '/')}"
FILES_MIRRORS =. "${libdir}/gcc/${EXTERNAL_TARGET_SYS}/${BINV}/|${external_libroot}/\n"
INSANE_SKIP_${PN} += "dev-so staticdev"
INSANE_SKIP:${PN} += "dev-so staticdev"

View File

@@ -26,12 +26,12 @@ FILES_MIRRORS =. "\
${includedir}/c\+\+/${GCC_VERSION}/${TARGET_SYS}/|${includedir}/c++/${GCC_VERSION}/${EXTERNAL_TARGET_SYS}/\n \
"
# The do_install_append in gcc-runtime.inc doesn't do well if the links
# 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_appended').replace('ln -s', 'link_if_no_dest')
adjusted = d.getVar('do_install_added').replace('ln -s', 'link_if_no_dest')
adjusted = adjusted.replace('mkdir', 'mkdir_if_no_dest')
d.setVar('do_install_appended', adjusted)
d.setVar('do_install_added', adjusted)
}
link_if_no_dest () {
@@ -69,14 +69,14 @@ do_install_extra () {
fi
}
FILES_${PN}-dbg += "${datadir}/gdb/python/libstdcxx"
FILES_libstdc++-dev = "\
FILES:${PN}-dbg += "${datadir}/gdb/python/libstdcxx"
FILES:libstdc++-dev = "\
${includedir}/c++ \
${libdir}/libstdc++.so \
${libdir}/libstdc++.la \
${libdir}/libsupc++.la \
"
FILES_libgomp-dev += "\
FILES:libgomp-dev += "\
${libdir}/gcc/${TARGET_SYS}/${BINV}/include/openacc.h \
"
BBCLASSEXTEND = ""
@@ -85,12 +85,12 @@ BBCLASSEXTEND = ""
# short-circuit the interdependency here by manually specifying it rather than
# depending on the libc packagedata.
libc_rdep = "${@'${PREFERRED_PROVIDER_virtual/libc}' if '${PREFERRED_PROVIDER_virtual/libc}' else '${TCLIBC}'}"
RDEPENDS_libgomp += "${libc_rdep}"
RDEPENDS_libssp += "${libc_rdep}"
RDEPENDS_libstdc++ += "${libc_rdep}"
RDEPENDS_libatomic += "${libc_rdep}"
RDEPENDS_libquadmath += "${libc_rdep}"
RDEPENDS_libmpx += "${libc_rdep}"
RDEPENDS:libgomp += "${libc_rdep}"
RDEPENDS:libssp += "${libc_rdep}"
RDEPENDS:libstdc++ += "${libc_rdep}"
RDEPENDS:libatomic += "${libc_rdep}"
RDEPENDS:libquadmath += "${libc_rdep}"
RDEPENDS:libmpx += "${libc_rdep}"
do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata"

View File

@@ -12,28 +12,28 @@ LICENSE = "GPL-3.0-with-GCC-exception"
# libgcc needs libc, but glibc's utilities need libgcc, so short-circuit the
# interdependency here by manually specifying it rather than depending on the
# libc packagedata.
RDEPENDS_${PN} += "${@'${PREFERRED_PROVIDER_virtual/libc}' if '${PREFERRED_PROVIDER_virtual/libc}' else '${TCLIBC}'}"
INSANE_SKIP_${PN} += "build-deps file-rdeps"
RDEPENDS:${PN} += "${@'${PREFERRED_PROVIDER_virtual/libc}' if '${PREFERRED_PROVIDER_virtual/libc}' else '${TCLIBC}'}"
INSANE_SKIP:${PN} += "build-deps file-rdeps"
# The dynamically loadable files belong to libgcc, since we really don't need the static files
# on the target, moreover linker won't be able to find them there (see original libgcc.bb recipe).
BINV = "${GCC_VERSION}"
FILES_${PN} = "${base_libdir}/libgcc_s.so.*"
FILES:${PN} = "${base_libdir}/libgcc_s.so.*"
LIBROOT_RELATIVE_RESOLVED = "${@os.path.relpath(os.path.realpath('${EXTERNAL_TOOLCHAIN_LIBROOT}'), os.path.realpath('${EXTERNAL_TOOLCHAIN_SYSROOT}'))}"
LIBROOT_RELATIVE = "${@os.path.relpath('${EXTERNAL_TOOLCHAIN_LIBROOT}', '${EXTERNAL_TOOLCHAIN_SYSROOT}')}"
FILES_${PN}-dev = "${base_libdir}/libgcc_s.so \
FILES:${PN}-dev = "${base_libdir}/libgcc_s.so \
/${LIBROOT_RELATIVE_RESOLVED} \
/${LIBROOT_RELATIVE} \
"
INSANE_SKIP_${PN}-dev += "staticdev"
FILES_${PN}-dbg += "${base_libdir}/.debug/libgcc_s.so.*.debug"
INSANE_SKIP:${PN}-dev += "staticdev"
FILES:${PN}-dbg += "${base_libdir}/.debug/libgcc_s.so.*.debug"
# Follow any symlinks in the libroot (multilib build) to the main
# libroot and include any symlinks there that link to our libroot.
python add_ml_symlink () {
pass
}
python add_ml_symlink_tcmode-external () {
python add_ml_symlink:tcmode-external () {
import pathlib
def get_links(p):
@@ -53,7 +53,7 @@ python add_ml_symlink_tcmode-external () {
other = other_child.parent.resolve() / other_child.name
relpath = other.relative_to(sysroot)
d.appendVar('SYSROOT_DIRS', ' /' + str(relpath.parent))
d.appendVar('FILES_${PN}-dev', ' /' + str(relpath))
d.appendVar('FILES:${PN}-dev', ' /' + str(relpath))
}
add_ml_symlink[eventmask] = "bb.event.RecipePreFinalise"
addhandler add_ml_symlink
@@ -73,5 +73,5 @@ python add_sys_symlink () {
target_sys = pathlib.Path(d.expand('${D}${libdir}/${TARGET_SYS}'))
if target_sys.exists():
pn = d.getVar('PN')
d.appendVar('FILES_%s-dev' % pn, ' ${libdir}/${TARGET_SYS}')
d.appendVar('FILES:%s-dev' % pn, ' ${libdir}/${TARGET_SYS}')
}

View File

@@ -15,13 +15,13 @@ EXTERNAL_PROVIDE_PATTERN = "${FILES_${PN}}"
# We don't copy the static binaries and headers, since they don't belong to the
# target sysroot, but need to be in the native one (that's the place where compiler
# and linker are looking for them).
FILES_${PN} = "${libdir}/libgfortran.so.*"
FILES_${PN}-dev = "\
FILES:${PN} = "${libdir}/libgfortran.so.*"
FILES:${PN}-dev = "\
${libdir}/libgfortran*.so \
${libdir}/libgfortran.spec \
${libdir}/libgfortran.la \
"
FILES_${PN}-staticdev = "${libdir}/libgfortran.a"
FILES:${PN}-staticdev = "${libdir}/libgfortran.a"
do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata"

View File

@@ -7,9 +7,9 @@ FILES_MIRRORS =. "\
${exec_prefix}|${target_exec_prefix}/${EXTERNAL_TARGET_SYS}\n \
"
FILES_${PN} += "\
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"

View File

@@ -18,8 +18,8 @@ def get_gdb_license(d):
LICENSE := "${@get_gdb_license(d)}"
LICENSE[vardepvalue] = "${LICENSE}"
FILES_${PN} = "${bindir}/gdbserver"
FILES_${PN}-doc = "${mandir}/man1/gdbserver.1"
FILES:${PN} = "${bindir}/gdbserver"
FILES:${PN}-doc = "${mandir}/man1/gdbserver.1"
# Ensure that our rdeps are able to be set by shlibs processing
do_package[depends] += "\

View File

@@ -11,4 +11,4 @@ def get_external_libc_version(d):
return 'UNKNOWN'
PV_tcmode-external := "${@get_external_libc_version(d)}"
PV:tcmode-external := "${@get_external_libc_version(d)}"

View File

@@ -41,7 +41,7 @@ def get_external_libc_license(d):
return 'UNKNOWN'
LICENSE_tcmode-external := "${@get_external_libc_license(d)}"
LICENSE:tcmode-external := "${@get_external_libc_license(d)}"
require recipes-external/glibc/glibc-sysroot-setup.inc
require recipes-external/glibc/glibc-package-adjusted.inc
@@ -137,7 +137,7 @@ glibc_external_do_install_extra () {
fi
}
bberror_task-install () {
bberror:task-install () {
# Silence any errors from oe_multilib_header, as we don't care about
# missing multilib headers, as the oe-core glibc version isn't necessarily
# the same as our own.
@@ -153,12 +153,12 @@ EXTERNAL_EXTRA_FILES += "\
# These files are picked up out of the sysroot by glibc-locale, so we don't
# need to keep them around ourselves.
do_install_locale_append() {
do_install_locale:append() {
rm -rf ${D}${localedir}
}
python () {
# Undo the do_install_append which joined shell to python
# Undo the do_install:append which joined shell to python
install = d.getVar('do_install', False)
python, shell = install.split('# sentinel', 1)
d.setVar('do_install_glibc', shell)
@@ -174,7 +174,7 @@ python () {
}
# Default pattern is too greedy
FILES_${PN}-utils = "\
FILES:${PN}-utils = "\
${bindir}/gencat \
${bindir}/getconf \
${bindir}/getent \
@@ -187,10 +187,10 @@ FILES_${PN}-utils = "\
${bindir}/pldd \
${bindir}/sprof \
"
FILES_${PN}-doc += "${infodir}/libc.info*"
FILES:${PN}-doc += "${infodir}/libc.info*"
# Extract for use by do_install_locale
FILES_${PN} += "\
FILES:${PN} += "\
${bindir}/localedef \
${libdir}/gconv \
${libdir}/locale \
@@ -198,13 +198,13 @@ FILES_${PN} += "\
${datadir}/i18n \
"
FILES_${PN}-dev_remove := "${datadir}/aclocal"
FILES:${PN}-dev:remove := "${datadir}/aclocal"
FILES_${PN}-dev_remove = "/lib/*.o"
FILES_${PN}-dev += "${libdir}/*crt*.o"
FILES:${PN}-dev:remove = "/lib/*.o"
FILES:${PN}-dev += "${libdir}/*crt*.o"
linux_include_subdirs = "asm asm-generic bits drm linux mtd rdma sound sys video"
FILES_${PN}-dev += "${@' '.join('${includedir}/%s' % d for d in '${linux_include_subdirs}'.split())}"
FILES:${PN}-dev += "${@' '.join('${includedir}/%s' % d for d in '${linux_include_subdirs}'.split())}"
# Already multilib headers for oe sdks
libc_baselibs_dev += "\
@@ -212,27 +212,27 @@ libc_baselibs_dev += "\
${includedir}/ieee754-*.h \
"
libc_baselibs_dev += "${@' '.join('${libdir}/' + os.path.basename(l.replace('${SOLIBS}', '${SOLIBSDEV}')) for l in '${libc_baselibs}'.replace('${base_libdir}/ld*${SOLIBS}', '').split() if l.endswith('${SOLIBS}'))}"
FILES_${PN}-staticdev = "\
FILES:${PN}-staticdev = "\
${@'${libc_baselibs_dev}'.replace('${SOLIBSDEV}', '.a')} \
${libdir}/libg.a \
${libdir}/libieee.a \
${libdir}/libmcheck.a \
"
FILES_${PN}-dev += "\
FILES:${PN}-dev += "\
${libc_baselibs_dev} \
${libdir}/libcidn${SOLIBSDEV} \
${libdir}/libthread_db${SOLIBSDEV} \
${libdir}/libpthread${SOLIBSDEV} \
"
libc_headers_file = "${@bb.utils.which('${FILESPATH}', 'libc.headers')}"
FILES_${PN}-dev += "\
FILES:${PN}-dev += "\
${@' '.join('${includedir}/' + f.rstrip() for f in oe.utils.read_file('${libc_headers_file}').splitlines())} \
${includedir}/fpu_control.h \
${includedir}/stdc-predef.h \
${includedir}/uchar.h \
"
FILES_${PN}-dev[file-checksums] += "${libc_headers_file}:True"
FILES:${PN}-dev[file-checksums] += "${libc_headers_file}:True"
# glibc's utils need libgcc
do_package[depends] += "${MLPREFIX}libgcc:do_packagedata"
@@ -245,7 +245,7 @@ do_packagedata[depends] += "gcc-runtime:do_packagedata"
# We don't need linux-libc-headers
LINUX_LIBC_RDEP_REMOVE ?= "linux-libc-headers-dev"
RDEPENDS_${PN}-dev_remove = "${LINUX_LIBC_RDEP_REMOVE}"
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

@@ -1,24 +1,24 @@
require recipes-core/glibc/glibc-package.inc
PKG_${PN} = "glibc"
RPROVIDES_${PN} += "${TCLIBC} glibc"
PKG_${PN}-dbg = "glibc-dbg"
RPROVIDES_${PN}-dbg += "${TCLIBC}-dbg glibc-dbg"
PKG_${PN}-dev = "glibc-dev"
RPROVIDES_${PN}-dev += "${TCLIBC}-dev glibc-dev"
PKG_${PN}-doc = "glibc-doc"
RPROVIDES_${PN}-doc += "${TCLIBC}-doc glibc-doc"
PKG_${PN}-gconv = "glibc-gconv"
RPROVIDES_${PN}-gconv += "${TCLIBC}-gconv glibc-gconv"
PKG_${PN}-mtrace = "glibc-mtrace"
RPROVIDES_${PN}-mtrace += "${TCLIBC}-mtrace glibc-mtrace"
PKG_${PN}-pcprofile = "glibc-pcprofile"
RPROVIDES_${PN}-pcprofile += "${TCLIBC}-pcprofile glibc-pcprofile"
PKG_${PN}-pic = "glibc-pic"
RPROVIDES_${PN}-pic += "${TCLIBC}-pic glibc-pic"
PKG_${PN}-staticdev = "glibc-staticdev"
RPROVIDES_${PN}-staticdev += "${TCLIBC}-staticdev glibc-staticdev"
PKG_${PN}-thread-db = "glibc-thread-db"
RPROVIDES_${PN}-thread-db += "${TCLIBC}-thread-db glibc-thread-db"
PKG_${PN}-utils = "glibc-utils"
RPROVIDES_${PN}-utils += "${TCLIBC}-utils glibc-utils"
PKG:${PN} = "glibc"
RPROVIDES:${PN} += "${TCLIBC} glibc"
PKG:${PN}-dbg = "glibc-dbg"
RPROVIDES:${PN}-dbg += "${TCLIBC}-dbg glibc-dbg"
PKG:${PN}-dev = "glibc-dev"
RPROVIDES:${PN}-dev += "${TCLIBC}-dev glibc-dev"
PKG:${PN}-doc = "glibc-doc"
RPROVIDES:${PN}-doc += "${TCLIBC}-doc glibc-doc"
PKG:${PN}-gconv = "glibc-gconv"
RPROVIDES:${PN}-gconv += "${TCLIBC}-gconv glibc-gconv"
PKG:${PN}-mtrace = "glibc-mtrace"
RPROVIDES:${PN}-mtrace += "${TCLIBC}-mtrace glibc-mtrace"
PKG:${PN}-pcprofile = "glibc-pcprofile"
RPROVIDES:${PN}-pcprofile += "${TCLIBC}-pcprofile glibc-pcprofile"
PKG:${PN}-pic = "glibc-pic"
RPROVIDES:${PN}-pic += "${TCLIBC}-pic glibc-pic"
PKG:${PN}-staticdev = "glibc-staticdev"
RPROVIDES:${PN}-staticdev += "${TCLIBC}-staticdev glibc-staticdev"
PKG:${PN}-thread-db = "glibc-thread-db"
RPROVIDES:${PN}-thread-db += "${TCLIBC}-thread-db glibc-thread-db"
PKG:${PN}-utils = "glibc-utils"
RPROVIDES:${PN}-utils += "${TCLIBC}-utils glibc-utils"

View File

@@ -1,6 +1,6 @@
# 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() {
stash_locale_sysroot_cleanup:append() {
# 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}

View File

@@ -10,16 +10,16 @@ SECTION = "libs"
inherit external-toolchain
FILES_${PN} = "${libdir}/libnsl*.so.* ${libdir}/libnsl-*.so"
FILES_${PN}-dev = "${libdir}/libnsl.so ${includedir}/rpcsvc/nis*.h ${includedir}/rpcsvc/yp*.h"
FILES_${PN}-staticdev = "${libdir}/libnsl.a"
FILES:${PN} = "${libdir}/libnsl*.so.* ${libdir}/libnsl-*.so"
FILES:${PN}-dev = "${libdir}/libnsl.so ${includedir}/rpcsvc/nis*.h ${includedir}/rpcsvc/yp*.h"
FILES:${PN}-staticdev = "${libdir}/libnsl.a"
libc_rdep = "${@'${PREFERRED_PROVIDER_virtual/libc}' if d.getVar('PREFERRED_PROVIDER_virtual/libc') else '${TCLIBC}'}"
RDEPENDS_${PN} += "${libc_rdep}"
RDEPENDS:${PN} += "${libc_rdep}"
# Default to avoid parsing issue
PREFERRED_PROVIDER_libtirpc ?= "libtirpc"
RDEPENDS_${PN} += "${PREFERRED_PROVIDER_libtirpc}"
RDEPENDS:${PN} += "${PREFERRED_PROVIDER_libtirpc}"
do_install_extra () {
# Depending on whether this comes from the standalone libnsl2 or glibc, the

View File

@@ -9,17 +9,17 @@ PROVIDES = "virtual/librpc"
inherit external-toolchain
FILES_${PN} = "\
FILES:${PN} = "\
${sysconfdir}/bindresvport.blacklist \
${sysconfdir}/netconfig \
${libdir}/libtirpc${SOLIBS} \
"
FILES_${PN}-dev = "\
FILES:${PN}-dev = "\
${libdir}/libtirpc${SOLIBSDEV} \
${includedir}/tirpc \
${libdir}/pkgconfig/libtirpc.pc \
"
FILES_${PN}-staticdev = "${libdir}/libtirpc.a"
FILES:${PN}-staticdev = "${libdir}/libtirpc.a"
libc_rdep = "${@'${PREFERRED_PROVIDER_virtual/libc}' if '${PREFERRED_PROVIDER_virtual/libc}' else '${TCLIBC}'}"
RDEPENDS_${PN} += "${libc_rdep}"
RDEPENDS:${PN} += "${libc_rdep}"

View File

@@ -10,14 +10,14 @@ inherit external-toolchain
EXTERNAL_PROVIDE_PATTERN = "${libdir}/libcrypt*.so.*"
libc_rdep = "${@'${PREFERRED_PROVIDER_virtual/libc}' if '${PREFERRED_PROVIDER_virtual/libc}' else '${TCLIBC}'}"
RDEPENDS_${PN} += "${libc_rdep}"
RDEPENDS:${PN} += "${libc_rdep}"
FILES_${PN} = "${libdir}/libcrypt*.so.* \
FILES:${PN} = "${libdir}/libcrypt*.so.* \
${libdir}/libcrypt-*.so \
${libdir}/libowcrypt*.so.* \
${libdir}/libowcrypt-*.so \
"
FILES_${PN}-dev = "\
FILES:${PN}-dev = "\
${libdir}/libcrypt.so \
${libdir}/libowcrypt.so \
${includedir}/crypt.h \

View File

@@ -7,6 +7,6 @@ SECTION = "devel"
inherit external-toolchain
FILES_${PN} = "${bindir}/op* ${datadir}/oprofile"
FILES_${PN}-doc = "${docdir}/oprofile ${mandir}/man1/op*"
FILES_${PN}-staticdev = "${libdir}/oprofile/*.a"
FILES:${PN} = "${bindir}/op* ${datadir}/oprofile"
FILES:${PN}-doc = "${docdir}/oprofile ${mandir}/man1/op*"
FILES:${PN}-staticdev = "${libdir}/oprofile/*.a"

View File

@@ -9,4 +9,4 @@ do_install () {
install -m 0644 -o root -g root "${WORKDIR}/external.sh" "${D}/environment-setup.d/"
}
FILES_${PN} += "/environment-setup.d/*"
FILES:${PN} += "/environment-setup.d/*"