- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
144 lines
5.4 KiB
BlitzBasic
144 lines
5.4 KiB
BlitzBasic
inherit cross-canadian
|
|
|
|
require license.inc
|
|
|
|
PN = "external-arm-sdk-toolchain-${TARGET_ARCH}"
|
|
BPN = "external-arm-sdk-toolchain"
|
|
PV = "${EAT_VER_MAIN}"
|
|
|
|
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
|
INHIBIT_PACKAGE_STRIP = "1"
|
|
INHIBIT_SYSROOT_STRIP = "1"
|
|
INHIBIT_DEFAULT_DEPS = "1"
|
|
EXCLUDE_FROM_SHLIBS = "1"
|
|
|
|
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
|
|
|
# Skip packaging QA checks for prebuilt binaries
|
|
INSANE_SKIP:gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "dev-so staticdev file-rdeps libdir"
|
|
INSANE_SKIP:gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} = "dev-so file-rdeps"
|
|
INSANE_SKIP:binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = "dev-so file-rdeps"
|
|
|
|
# Skip file dependencies in RPM for prebuilt binaries
|
|
SKIP_FILEDEPS = "1"
|
|
|
|
PROVIDES = "\
|
|
gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} \
|
|
gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} \
|
|
binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} \
|
|
"
|
|
|
|
PACKAGES = "\
|
|
gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} \
|
|
gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} \
|
|
binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} \
|
|
"
|
|
|
|
# Adjust defaults in line with external toolchain
|
|
bindir = "${exec_prefix}/bin"
|
|
libdir = "${exec_prefix}/lib"
|
|
libexecdir = "${exec_prefix}/libexec"
|
|
datadir = "${exec_prefix}/share"
|
|
gcclibdir = "${libdir}/gcc"
|
|
|
|
FILES:gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "\
|
|
${prefix}/${EAT_TARGET_SYS}/lib/libstdc++.* \
|
|
${prefix}/${EAT_TARGET_SYS}/lib/libgcc_s.* \
|
|
${prefix}/${EAT_TARGET_SYS}/lib/libsupc++.* \
|
|
${prefix}/${EAT_TARGET_SYS}/include \
|
|
${gcclibdir}/${EAT_TARGET_SYS}/${EAT_VER_GCC}/* \
|
|
${bindir}/${TARGET_PREFIX}gcov \
|
|
${bindir}/${TARGET_PREFIX}gcc* \
|
|
${bindir}/${TARGET_PREFIX}g++ \
|
|
${bindir}/${TARGET_PREFIX}cpp \
|
|
${libexecdir}/* \
|
|
"
|
|
|
|
FILES:gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} = "\
|
|
${bindir}/${TARGET_PREFIX}gdb* \
|
|
${datadir}/gdb/* \
|
|
"
|
|
|
|
FILES:binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = "\
|
|
${prefix}/${EAT_TARGET_SYS}/bin/ld* \
|
|
${prefix}/${EAT_TARGET_SYS}/bin/objcopy \
|
|
${prefix}/${EAT_TARGET_SYS}/bin/strip \
|
|
${prefix}/${EAT_TARGET_SYS}/bin/nm \
|
|
${prefix}/${EAT_TARGET_SYS}/bin/ranlib \
|
|
${prefix}/${EAT_TARGET_SYS}/bin/as \
|
|
${prefix}/${EAT_TARGET_SYS}/bin/ar \
|
|
${prefix}/${EAT_TARGET_SYS}/bin/objdump \
|
|
${prefix}/${EAT_TARGET_SYS}/lib/ldscripts/* \
|
|
${bindir}/${TARGET_PREFIX}ld* \
|
|
${bindir}/${TARGET_PREFIX}addr2line \
|
|
${bindir}/${TARGET_PREFIX}objcopy \
|
|
${bindir}/${TARGET_PREFIX}readelf \
|
|
${bindir}/${TARGET_PREFIX}strip \
|
|
${bindir}/${TARGET_PREFIX}nm \
|
|
${bindir}/${TARGET_PREFIX}ranlib \
|
|
${bindir}/${TARGET_PREFIX}gprof \
|
|
${bindir}/${TARGET_PREFIX}as \
|
|
${bindir}/${TARGET_PREFIX}c++filt \
|
|
${bindir}/${TARGET_PREFIX}ar \
|
|
${bindir}/${TARGET_PREFIX}strings \
|
|
${bindir}/${TARGET_PREFIX}objdump \
|
|
${bindir}/${TARGET_PREFIX}size \
|
|
"
|
|
|
|
DESCRIPTION:gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "The GNU cc and gcc C compilers"
|
|
DESCRIPTION:gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} = "gdb - GNU debugger"
|
|
DESCRIPTION:binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = "A GNU collection of binary utilities"
|
|
|
|
LICENSE:gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "${EAT_GCC_LICENSE}"
|
|
LICENSE:gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} = "${EAT_GDB_LICENSE}"
|
|
LICENSE:binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = "${EAT_BFD_LICENSE}"
|
|
|
|
PKGV:gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "${EAT_VER_GCC}"
|
|
PKGV:gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} = "${EAT_VER_GDB}"
|
|
PKGV:binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = "${EAT_VER_BFD}"
|
|
|
|
do_install() {
|
|
install -d ${D}${prefix}/${EAT_TARGET_SYS}/bin
|
|
install -d ${D}${prefix}/${EAT_TARGET_SYS}/lib
|
|
install -d ${D}${prefix}/${EAT_TARGET_SYS}/include
|
|
install -d ${D}${bindir}
|
|
install -d ${D}${libdir}
|
|
install -d ${D}${prefix}/${EAT_TARGET_SYS}/lib/ldscripts
|
|
install -d ${D}${libexecdir}
|
|
install -d ${D}${datadir}/gdb
|
|
install -d ${D}${gcclibdir}/${EAT_TARGET_SYS}/${EAT_VER_GCC}/include
|
|
|
|
CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
|
|
|
|
# gcc
|
|
for i in libstdc++.* libgcc_s.* libsupc++.*; do
|
|
cp ${CP_ARGS} ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/${EAT_LIBDIR}/$i ${D}${prefix}/${EAT_TARGET_SYS}/lib
|
|
done
|
|
cp ${CP_ARGS} ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/include/* ${D}${prefix}/${EAT_TARGET_SYS}/include
|
|
cp ${CP_ARGS} ${EXTERNAL_TOOLCHAIN}/lib/gcc/${EAT_TARGET_SYS}/${EAT_VER_GCC}/* ${D}${gcclibdir}/${EAT_TARGET_SYS}/${EAT_VER_GCC}
|
|
for i in gcov gcc* g++ cpp; do
|
|
cp ${CP_ARGS} ${EXTERNAL_TOOLCHAIN}/bin/${TARGET_PREFIX}$i ${D}${bindir}
|
|
done
|
|
cp ${CP_ARGS} ${EXTERNAL_TOOLCHAIN}/libexec/* ${D}${libexecdir}
|
|
|
|
# gdb
|
|
cp ${CP_ARGS} ${EXTERNAL_TOOLCHAIN}/bin/${TARGET_PREFIX}gdb* ${D}${bindir}
|
|
cp ${CP_ARGS} ${EXTERNAL_TOOLCHAIN}/share/gdb/* ${D}${datadir}/gdb/
|
|
|
|
# binutils
|
|
for i in ld* objcopy strip nm ranlib as ar objdump; do
|
|
cp ${CP_ARGS} ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/bin/$i ${D}${prefix}/${EAT_TARGET_SYS}/bin
|
|
done
|
|
cp ${CP_ARGS} ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/lib/ldscripts/* ${D}${prefix}/${EAT_TARGET_SYS}/lib/ldscripts
|
|
for i in ld* addr2line objcopy readelf strip nm ranlib gprof as c++filt ar strings objdump size; do
|
|
cp ${CP_ARGS} ${EXTERNAL_TOOLCHAIN}/bin/${TARGET_PREFIX}$i ${D}${bindir}
|
|
done
|
|
}
|
|
|
|
python () {
|
|
if not d.getVar("EAT_VER_MAIN", False):
|
|
raise bb.parse.SkipPackage("External ARM toolchain not configured (EAT_VER_MAIN not set).")
|
|
if d.getVar('TCLIBC', True) != "glibc":
|
|
raise bb.parse.SkipPackage("incompatible with %s" % d.getVar('TCLIBC', True))
|
|
}
|