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))
|
||
|
|
}
|