diff options
Diffstat (limited to 'meta-xilinx/meta-xilinx-standalone/recipes-core')
6 files changed, 89 insertions, 0 deletions
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-core/meta/gnu-toolchain-canadian.bb b/meta-xilinx/meta-xilinx-standalone/recipes-core/meta/gnu-toolchain-canadian.bb new file mode 100644 index 000000000..ca8885b87 --- /dev/null +++ b/meta-xilinx/meta-xilinx-standalone/recipes-core/meta/gnu-toolchain-canadian.bb @@ -0,0 +1,25 @@ +inherit cross-canadian + +SUMMARY = "Links to the various GNU toolchains for use with the Xilinx multilib toolchain" +PN = "gnu-toolchain-canadian-${TARGET_SYS}" +BPN = "gnu-toolchain-canadian" + +LICENSE = "MIT" + +do_install () { + if [ "${TARGET_SYS_MULTILIB_ORIGINAL}" != "" -a "${TARGET_SYS_MULTILIB_ORIGINAL}" != "${TARGET_SYS}" ]; then + mkdir -p ${D}${bindir} + + # Create a link for each item references by the environment files + for each in gcc g++ as ld gdb strip ranlib objcopy objdump readelf ar nm ; do + ln -s ../${TARGET_SYS_MULTILIB_ORIGINAL}/${TARGET_SYS_MULTILIB_ORIGINAL}-${each} ${D}${bindir}/${TARGET_SYS}-$each + done + fi +} + +INHIBIT_DEFAULT_DEPS = "1" + +ALLOW_EMPTY_${PN} = "1" +FILES_${PN} = "${bindir}" + +PACKAGES = "${PN}" diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend new file mode 100644 index 000000000..51b700357 --- /dev/null +++ b/meta-xilinx/meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend @@ -0,0 +1,3 @@ +COMPATIBLE_HOST = "${HOST_SYS}" + +TOOLCHAIN_TARGET_TASK_xilinx-standalone = "${@multilib_pkg_extend(d, 'packagegroup-newlib-standalone-sdk-target')}" diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/libgloss_3.1.0.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/libgloss_3.1.0.bbappend new file mode 100644 index 000000000..b2245022e --- /dev/null +++ b/meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/libgloss_3.1.0.bbappend @@ -0,0 +1,13 @@ +COMPATIBLE_HOST = ".*-elf" +COMPATIBLE_HOST_arm = "[^-]*-[^-]*-eabi" + +# When building multiple, we need to depend on the multilib newlib +DEPENDS_append_xilinx-standalone = " ${MLPREFIX}newlib" + +EXTRA_OECONF_append_xilinx-standalone = " \ + --enable-newlib-io-c99-formats \ + --enable-newlib-io-long-long \ + --enable-newlib-io-float \ + --enable-newlib-io-long-double \ + --disable-newlib-supplied-syscalls \ +" diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/newlib_3.1.0.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/newlib_3.1.0.bbappend new file mode 100644 index 000000000..536a23a1a --- /dev/null +++ b/meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/newlib_3.1.0.bbappend @@ -0,0 +1,21 @@ +COMPATIBLE_HOST = ".*-elf" +COMPATIBLE_HOST_arm = "[^-]*-[^-]*-eabi" + +EXTRA_OECONF_append_xilinx-standalone = " \ + --enable-newlib-io-c99-formats \ + --enable-newlib-io-long-long \ + --enable-newlib-io-float \ + --enable-newlib-io-long-double \ + --disable-newlib-supplied-syscalls \ +" + +# Avoid trimmping CCARGS from CC by newlib configure +do_configure_prepend_xilinx-standalone(){ + export CC_FOR_TARGET="${CC}" +} + +# Fix for multilib newlib installations +do_install_prepend_xilinx-standalone() { + mkdir -p $(dirname ${D}${libdir}) + mkdir -p $(dirname ${D}${includedir}) +} diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend b/meta-xilinx/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend new file mode 100644 index 000000000..456ec6c1c --- /dev/null +++ b/meta-xilinx/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend @@ -0,0 +1,14 @@ +# Avoid installing all of the alternative toolchains +# due to multilib enabled in the primary toolchain. + +# Create the links to the multilib toolchain components +GNUTCLINKS = "gnu-toolchain-canadian-${TARGET_SYS}" + +# Without the := the eval during do_package is occasionally missing multilibs +RDEPENDS_${PN}_xilinx-standalone := " \ + ${@all_multilib_tune_values(d, 'GNUTCLINKS')} \ + ${BINUTILS} \ + ${GCC} \ + ${GDB} \ + meta-environment-${MACHINE} \ +" diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-newlib-standalone-sdk-target.bb b/meta-xilinx/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-newlib-standalone-sdk-target.bb new file mode 100644 index 000000000..b64554d35 --- /dev/null +++ b/meta-xilinx/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-newlib-standalone-sdk-target.bb @@ -0,0 +1,13 @@ +COMPATIBLE_HOST = "${HOST_SYS}" + +SUMMARY = "Target packages for the standalone SDK" + +PACKAGE_ARCH = "${TUNE_PKGARCH}" + +inherit packagegroup + +RDEPENDS_${PN} = "\ + libgcc-dev \ + libstdc++-dev \ + ${LIBC_DEPENDENCIES} \ + " |