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