diff options
Diffstat (limited to 'meta-xilinx-standalone/recipes-devtools')
11 files changed, 153 insertions, 0 deletions
diff --git a/meta-xilinx-standalone/recipes-devtools/binutils/binutils-cross-canadian_%.bbappend b/meta-xilinx-standalone/recipes-devtools/binutils/binutils-cross-canadian_%.bbappend new file mode 100644 index 00000000..5ba6039b --- /dev/null +++ b/meta-xilinx-standalone/recipes-devtools/binutils/binutils-cross-canadian_%.bbappend @@ -0,0 +1 @@ +require binutils-xilinx-standalone.inc diff --git a/meta-xilinx-standalone/recipes-devtools/binutils/binutils-cross_%.bbappend b/meta-xilinx-standalone/recipes-devtools/binutils/binutils-cross_%.bbappend new file mode 100644 index 00000000..5ba6039b --- /dev/null +++ b/meta-xilinx-standalone/recipes-devtools/binutils/binutils-cross_%.bbappend @@ -0,0 +1 @@ +require binutils-xilinx-standalone.inc diff --git a/meta-xilinx-standalone/recipes-devtools/binutils/binutils-xilinx-standalone.inc b/meta-xilinx-standalone/recipes-devtools/binutils/binutils-xilinx-standalone.inc new file mode 100644 index 00000000..48db3cf3 --- /dev/null +++ b/meta-xilinx-standalone/recipes-devtools/binutils/binutils-xilinx-standalone.inc @@ -0,0 +1,26 @@ +LDGOLD:xilinx-standalone = "" +LDGOLD_ALTS:xilinx-standalone = "" + +EXTRA_OECONF:append:xilinx-standalone = " \ + --disable-gprof \ + --disable-shared \ + --enable-lto \ + --enable-static \ +" + +# CortexR5 and 32-bit arm are both "arm" +EXTRA_OECONF:append:xilinx-standalone:arm = " \ + --enable-interwork \ +" + +EXTRA_OECONF:append:xilinx-standalone:microblaze = " \ + --disable-initfini-array \ +" + +# Workaround for: +# ERROR: binutils-cross-canadian-aarch64-2.39-r0 do_package_qa: QA +# Issue: non -staticdev package contains static .a library: +# binutils-cross-canadian-aarch64 path +# '/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-oesdk-linux/usr/lib/aarch64-xilinx-elf/bfd-plugins/libdep.a' +# [staticdev] +INSANE_SKIP:${PN} += "staticdev" diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-configure-xilinx-standalone.inc b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-configure-xilinx-standalone.inc new file mode 100644 index 00000000..0320a780 --- /dev/null +++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-configure-xilinx-standalone.inc @@ -0,0 +1,7 @@ +# Mimic the file gcc-configure-common from the Yocto Project +LINKER_HASH_STYLE:xilinx-standalone = "" +SYMVERS_CONF:xilinx-standalone = "" + +EXTRA_OECONF:append:xilinx-standalone:microblaze = " --disable-initfini_array" + +EXTRA_OECONF:append:xilinx-standalone:microblaze = " --disable-__cxa_atexit" diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend new file mode 100644 index 00000000..449db177 --- /dev/null +++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend @@ -0,0 +1,13 @@ +require gcc-configure-xilinx-standalone.inc +require gcc-xilinx-standalone.inc + +# Temporary hack to build gcc cross canadian for tclibc-newlib as --with-sysroot=/not/exist +# has been removed from TARGET_OS for elf and eabi in gcc-cross-canadian.inc + +python() { + if 'xilinx-standalone' in d.getVar("DISTROOVERRIDES").split(':'): + extraoeconfgcc = d.getVar('EXTRA_OECONF') + extraoeconfgcc += " --with-sysroot=/not/exist" + d.delVar('EXTRA_OECONF') + d.setVar('EXTRA_OECONF', extraoeconfgcc) +} diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-cross_%.bbappend b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-cross_%.bbappend new file mode 100644 index 00000000..69782d71 --- /dev/null +++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-cross_%.bbappend @@ -0,0 +1,2 @@ +require gcc-configure-xilinx-standalone.inc +require gcc-xilinx-standalone.inc diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend new file mode 100644 index 00000000..3a7d1395 --- /dev/null +++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend @@ -0,0 +1,45 @@ +require gcc-configure-xilinx-standalone.inc + +COMPATIBLE_HOST = "${HOST_SYS}" + +EXTRA_OECONF:append:xilinx-standalone:class-target = " \ + --disable-libstdcxx-pch \ + --with-newlib \ + --disable-threads \ + --enable-plugins \ + --with-gnu-as \ + --disable-libitm \ +" + +EXTRA_OECONF:append:xilinx-standalone:aarch64:class-target = " \ + --disable-multiarch \ + --with-arch=armv8-a \ + " + +EXTRA_OECONF:append:xilinx-standalone:armv7r:class-target = " \ + --disable-tls \ + --disable-decimal-float \ + " + +EXTRA_OECONF:append:xilinx-standalone:armv8r:class-target = " \ + --disable-tls \ + --disable-decimal-float \ + " + +EXTRA_OECONF:append:xilinx-standalone:microblaze:class-target = " \ + --without-long-double-128 \ + " + +# Changes local to gcc-runtime... + +# Dont build libitm, etc. +RUNTIMETARGET:xilinx-standalone:class-target = "libstdc++-v3" + +do_install:append:xilinx-standalone:class-target() { + # Fixup what gcc-runtime normally would do, we don't want linux directories! + rm -rf ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux +} + +FILES:${PN}-dbg:append:xilinx-standalone:class-target = "\ + ${libdir}/libstdc++.a-gdb.py \ +" diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_%.bbappend b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_%.bbappend new file mode 100644 index 00000000..0d824324 --- /dev/null +++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-source_%.bbappend @@ -0,0 +1 @@ +COMPATIBLE_HOST = "${HOST_SYS}" diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-xilinx-standalone.inc b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-xilinx-standalone.inc new file mode 100644 index 00000000..2faf7a4b --- /dev/null +++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-xilinx-standalone.inc @@ -0,0 +1,27 @@ +EXTRA_OECONF:append:xilinx-standalone = " \ + --disable-libstdcxx-pch \ + --with-newlib \ + --disable-threads \ + --enable-plugins \ + --with-gnu-as \ + --disable-libitm \ +" + +EXTRA_OECONF:append:xilinx-standalone:aarch64 = " \ + --disable-multiarch \ + --with-arch=armv8-a \ + " + +EXTRA_OECONF:append:xilinx-standalone:armv7r = " \ + --disable-tls \ + --disable-decimal-float \ + " + +EXTRA_OECONF:append:xilinx-standalone:armv8r = " \ + --disable-tls \ + --disable-decimal-float \ + " + +EXTRA_OECONF:append:xilinx-standalone:microblaze = " \ + --without-long-double-128 \ + " diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend b/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend new file mode 100644 index 00000000..861b3f9c --- /dev/null +++ b/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend @@ -0,0 +1,29 @@ +require gcc-configure-xilinx-standalone.inc + +COMPATIBLE_HOST = "${HOST_SYS}" + +python do_multilib_install:xilinx-standalone:class-target () { + pass +} + +standalone_fixup () { + ( + cd ${D}${libdir} + for each in ${TARGET_SYS}/*/* ; do + ln -s $each $(basename $each) + done + ) + + # Apparently we can end up with an empty /lib occasionally + find ${D}/lib -type d | sort -r | xargs rmdir || : +} + +FIXUP_FUNCTION = "" +FIXUP_FUNCTION:xilinx-standalone:class-target = " standalone_fixup" + +do_install[postfuncs] .= "${FIXUP_FUNCTION}" + +FILES:${PN}-dev:append:xilinx-standalone:class-target = " \ + ${libdir}/*.a \ + ${libdir}/*.o \ +" diff --git a/meta-xilinx-standalone/recipes-devtools/qemu/qemuwrapper-cross_1.0.bbappend b/meta-xilinx-standalone/recipes-devtools/qemu/qemuwrapper-cross_1.0.bbappend new file mode 100644 index 00000000..0d824324 --- /dev/null +++ b/meta-xilinx-standalone/recipes-devtools/qemu/qemuwrapper-cross_1.0.bbappend @@ -0,0 +1 @@ +COMPATIBLE_HOST = "${HOST_SYS}" |