From a18947c20dba2c0c38db8bde1ad4684995df4bbd Mon Sep 17 00:00:00 2001 From: Manjukumar Matha Date: Wed, 6 Dec 2017 16:06:35 -0800 Subject: meta-xilinx: Restructuring meta-xilinx to support multiple layers As discussed previously on mailing list, we are proceeding with layer restructuring. For rocko release we will have the following layers meta-xilinx ->meta-xilinx-bsp (current meta-xilinx) ->meta-xilinx-contrib In the subsequent releases we will add other layers from Xilinx meta-xilinx ->meta-xilinx-bsp (current meta-xilinx) ->meta-petalinux ->meta-xilinx-tools ->meta-xilinx-contrib This will provide one clone to get all the required meta layers from Xilinx for a complete solution, and the users can blacklist any layer which they don't want to use using bblayer.conf. This will enables us to help our vendors/partners to add their reference designs, board definitions etc. Recipe changes : * Move reference design zybo-linux-bd.bb to meta-xilinx-contrib * Move kernel patches realted to zybo-linux-bd-zynq7 board to meta-xilinx-contrib * Update README Signed-off-by: Manjukumar Matha --- .../recipes-core/newlib/libgloss_2.5.0.bb | 18 +++++++ meta-xilinx-bsp/recipes-core/newlib/newlib.inc | 59 ++++++++++++++++++++++ .../recipes-core/newlib/newlib_2.5.0.bb | 11 ++++ 3 files changed, 88 insertions(+) create mode 100644 meta-xilinx-bsp/recipes-core/newlib/libgloss_2.5.0.bb create mode 100644 meta-xilinx-bsp/recipes-core/newlib/newlib.inc create mode 100644 meta-xilinx-bsp/recipes-core/newlib/newlib_2.5.0.bb (limited to 'meta-xilinx-bsp/recipes-core') diff --git a/meta-xilinx-bsp/recipes-core/newlib/libgloss_2.5.0.bb b/meta-xilinx-bsp/recipes-core/newlib/libgloss_2.5.0.bb new file mode 100644 index 00000000..6fbafc1d --- /dev/null +++ b/meta-xilinx-bsp/recipes-core/newlib/libgloss_2.5.0.bb @@ -0,0 +1,18 @@ + +require newlib.inc + +DEPENDS += "newlib" + +do_configure() { + ${S}/libgloss/configure ${CONFIGUREOPTS} +} + +do_install_prepend() { + # install doesn't create this itself + install -d ${D}${prefix}/${TARGET_SYS}/lib +} + +FILES_${PN} += "${libdir}/*.ld ${libdir}/*.specs" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" diff --git a/meta-xilinx-bsp/recipes-core/newlib/newlib.inc b/meta-xilinx-bsp/recipes-core/newlib/newlib.inc new file mode 100644 index 00000000..2fb2301d --- /dev/null +++ b/meta-xilinx-bsp/recipes-core/newlib/newlib.inc @@ -0,0 +1,59 @@ +SUMMARY = "Newlib is a C library intended for use on embedded systems" +HOMEPAGE = "https://sourceware.org/newlib/" +DESCRIPTION = "It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products." +SECTION = "libs" + +LICENSE = "GPLv2 & LGPLv3 & GPLv3 & LGPLv2" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.LIBGLOSS;md5=73f5c98779aea7dba4a6c94a74ab0ae2 \ + file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://COPYING.NEWLIB;md5=bfdd6396bf3b02bd23ffbb9f7ddfbec6 \ + file://newlib/libc/posix/COPYRIGHT;md5=103468ff1982be840fdf4ee9f8b51bbf \ + file://newlib/libc/sys/linux/linuxthreads/LICENSE;md5=73640207fbc79b198c7ffd4ad4d97aa0 \ + " + +SRC_URI = "ftp://sourceware.org/pub/newlib/newlib-${PV}.tar.gz" +SRC_URI[md5sum] = "767dc60aaf814d091997d91d588968b2" +SRC_URI[sha256sum] = "5b76a9b97c9464209772ed25ce55181a7bb144a66e5669aaec945aa64da3189b" + +INHIBIT_DEFAULT_DEPS = "1" +DEPENDS = "virtual/${TARGET_PREFIX}gcc" + +S = "${WORKDIR}/newlib-${PV}" +B = "${WORKDIR}/build" + +# disable use of a link hash style +TARGET_LINK_HASH_STYLE_microblaze = "" + +# disable stdlib +TARGET_CC_ARCH_append = " -nostdlib" + +CONFIGUREOPTS = " \ + --build=${BUILD_SYS} \ + --host=${HOST_SYS} \ + --target=${TARGET_SYS} \ + --prefix=${prefix} \ + --exec-prefix=${exec_prefix} \ + --bindir=${bindir} \ + --libdir=${libdir} \ + --includedir=${includedir} \ + --enable-languages=c \ + --with-newlib \ + --with-gnu-as \ + --with-gnu-ld \ + --disable-multilib \ + " + +do_configure[cleandirs] = "${B}" + +do_install() { + oe_runmake install DESTDIR='${D}' + + # output of headers/libs in 'tooldir' subdirectories, move it up to the prefix dir. + mv ${D}${prefix}/${TARGET_SYS}/* ${D}${prefix}/ + rmdir ${D}${prefix}/${TARGET_SYS} +} + diff --git a/meta-xilinx-bsp/recipes-core/newlib/newlib_2.5.0.bb b/meta-xilinx-bsp/recipes-core/newlib/newlib_2.5.0.bb new file mode 100644 index 00000000..dc30c6b2 --- /dev/null +++ b/meta-xilinx-bsp/recipes-core/newlib/newlib_2.5.0.bb @@ -0,0 +1,11 @@ + +require newlib.inc + +do_configure_prepend_microblaze() { + # hack for microblaze, which needs xilinx.ld to literally do any linking (its hard coded in its LINK_SPEC) + export CC="${CC} -L${S}/libgloss/microblaze" +} + +do_configure() { + ${S}/configure ${CONFIGUREOPTS} +} -- cgit v1.2.3-54-g00ecf