summaryrefslogtreecommitdiff
path: root/meta-xilinx/meta-xilinx-standalone/recipes-core
diff options
context:
space:
mode:
Diffstat (limited to 'meta-xilinx/meta-xilinx-standalone/recipes-core')
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-core/meta/gnu-toolchain-canadian.bb25
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-core/meta/meta-toolchain.bbappend3
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/libgloss_3.1.0.bbappend13
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-core/newlib/newlib_3.1.0.bbappend21
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-cross-canadian.bbappend14
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-core/packagegroups/packagegroup-newlib-standalone-sdk-target.bb13
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} \
+ "