summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/cross-canadian.bbclass2
-rw-r--r--meta/conf/distro/include/tclibc-newlib.inc44
-rw-r--r--meta/recipes-core/newlib/newlib_3.0.0.bb3
-rw-r--r--meta/recipes-devtools/gcc/libgcc-common.inc5
4 files changed, 53 insertions, 1 deletions
diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass
index ee8aa6142a..acde331ef9 100644
--- a/meta/classes/cross-canadian.bbclass
+++ b/meta/classes/cross-canadian.bbclass
@@ -30,7 +30,7 @@ python () {
30 if d.getVar("MODIFYTOS") != "1": 30 if d.getVar("MODIFYTOS") != "1":
31 return 31 return
32 32
33 if d.getVar("TCLIBC") == "baremetal": 33 if d.getVar("TCLIBC") in [ 'baremetal', 'newlib' ]:
34 return 34 return
35 35
36 tos = d.getVar("TARGET_OS") 36 tos = d.getVar("TARGET_OS")
diff --git a/meta/conf/distro/include/tclibc-newlib.inc b/meta/conf/distro/include/tclibc-newlib.inc
new file mode 100644
index 0000000000..dc631d8ada
--- /dev/null
+++ b/meta/conf/distro/include/tclibc-newlib.inc
@@ -0,0 +1,44 @@
1#
2# Newlib configuration
3#
4
5LIBCEXTENSION = "-newlib"
6LIBCOVERRIDE = ":libc-newlib"
7
8PREFERRED_PROVIDER_virtual/libc ?= "newlib"
9PREFERRED_PROVIDER_virtual/libiconv ?= "newlib"
10PREFERRED_PROVIDER_virtual/libintl ?= "newlib"
11PREFERRED_PROVIDER_virtual/nativesdk-libintl ?= "nativesdk-glibc"
12PREFERRED_PROVIDER_virtual/nativesdk-libiconv ?= "nativesdk-glibc"
13
14DISTRO_FEATURES_BACKFILL_CONSIDERED += "ldconfig"
15
16#USE_NLS ?= "no"
17
18IMAGE_LINGUAS = ""
19
20LIBC_DEPENDENCIES = "\
21 newlib-dbg \
22 newlib-dev \
23 libgloss \
24 libgloss-dev \
25 libgloss-dbg \
26 libgcc-dev \
27 libgcc-dbg \
28 "
29
30# compilerlibs defaults to gcc-runtime, but we get runtime from libgloss
31# we set ASSUME_PROVIDED because we cant set PREFERRED_PROVIDER
32# for compilerlibs since its overridden by tcmode-default
33ASSUME_PROVIDED += "virtual/${TARGET_PREFIX}compilerlibs virtual/crypt"
34
35# Its useful to be able to extend newlib, but we dont provide a native variant of libgloss
36NEWLIB_EXTENDED ?= "libgloss libgcc"
37BASE_DEFAULT_DEPS_append_class-target = " ${NEWLIB_EXTENDED}"
38
39TARGET_OS = "elf"
40TARGET_OS_arm = "eabi"
41
42TOOLCHAIN_HOST_TASK ?= "packagegroup-cross-canadian-${MACHINE}"
43TOOLCHAIN_TARGET_TASK ?= "${LIBC_DEPENDENCIES}"
44TOOLCHAIN_NEED_CONFIGSITE_CACHE_remove = "zlib ncurses"
diff --git a/meta/recipes-core/newlib/newlib_3.0.0.bb b/meta/recipes-core/newlib/newlib_3.0.0.bb
index 3380576b83..09238fe006 100644
--- a/meta/recipes-core/newlib/newlib_3.0.0.bb
+++ b/meta/recipes-core/newlib/newlib_3.0.0.bb
@@ -14,3 +14,6 @@ do_install_append() {
14 # Remove original directory 14 # Remove original directory
15 rmdir ${D}${prefix}/${TARGET_SYS} 15 rmdir ${D}${prefix}/${TARGET_SYS}
16} 16}
17
18# No rpm package is actually created but -dev depends on it, avoid dnf error
19RDEPENDS_${PN}-dev_libc-newlib = ""
diff --git a/meta/recipes-devtools/gcc/libgcc-common.inc b/meta/recipes-devtools/gcc/libgcc-common.inc
index 848a476207..d959566c3f 100644
--- a/meta/recipes-devtools/gcc/libgcc-common.inc
+++ b/meta/recipes-devtools/gcc/libgcc-common.inc
@@ -47,8 +47,13 @@ do_install () {
47do_install_append_libc-baremetal () { 47do_install_append_libc-baremetal () {
48 rmdir ${D}${base_libdir} 48 rmdir ${D}${base_libdir}
49} 49}
50do_install_append_libc-newlib () {
51 rmdir ${D}${base_libdir}
52}
50 53
54# No rpm package is actually created but -dev depends on it, avoid dnf error
51RDEPENDS_${PN}-dev_libc-baremetal = "" 55RDEPENDS_${PN}-dev_libc-baremetal = ""
56RDEPENDS_${PN}-dev_libc-newlib = ""
52 57
53BBCLASSEXTEND = "nativesdk" 58BBCLASSEXTEND = "nativesdk"
54 59