aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/newlib/libgloss_3.0.0.bb
diff options
context:
space:
mode:
authorAlejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>2018-03-26 17:20:25 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-06-15 08:54:15 +0100
commitfe490ff829440b94124317759d856e2e2daf5047 (patch)
treebdef2b03e3bcbd70142c71b388592da1e367437f /meta/recipes-core/newlib/libgloss_3.0.0.bb
parentcec85a6fcadc24fd266fa34631cb095e0a773c1a (diff)
downloadopenembedded-core-contrib-fe490ff829440b94124317759d856e2e2daf5047.tar.gz
newlib: Adds newlib and libgloss recipes
Newlib is a C library that is intended to be used on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products. Newlib provides a C library alternative that can run on baremetal, mainly for resource constrained devices. Libgloss is the BSP part of the C library, which can be easily modified to port for new hardware platforms. Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
Diffstat (limited to 'meta/recipes-core/newlib/libgloss_3.0.0.bb')
-rw-r--r--meta/recipes-core/newlib/libgloss_3.0.0.bb32
1 files changed, 32 insertions, 0 deletions
diff --git a/meta/recipes-core/newlib/libgloss_3.0.0.bb b/meta/recipes-core/newlib/libgloss_3.0.0.bb
new file mode 100644
index 0000000000..664a922815
--- /dev/null
+++ b/meta/recipes-core/newlib/libgloss_3.0.0.bb
@@ -0,0 +1,32 @@
+require newlib.inc
+
+DEPENDS += "newlib"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/libgloss:"
+
+SRC_URI_append_powerpc = " file://fix-rs6000-crt0.patch"
+SRC_URI_append_arm = " file://fix_makefile_include_arm_h.patch"
+
+do_configure() {
+ ${S}/libgloss/configure ${EXTRA_OECONF}
+}
+
+do_install_prepend() {
+ # install doesn't create this itself, avoid install error
+ install -d ${D}${prefix}/${TARGET_SYS}/lib
+}
+
+do_install_append() {
+ # Move libs to default directories so they can be picked up later
+ mv -v ${D}${prefix}/${TARGET_SYS}/lib ${D}${libdir}
+
+ # Remove original directory
+ rmdir ${D}${prefix}/${TARGET_SYS}
+}
+
+# Split packages correctly
+FILES_${PN} += "${libdir}/*.ld ${libdir}/*.specs"
+FILES_${PN}-dev += "${libdir}/cpu-init/*"
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"