mirror of
https://git.yoctoproject.org/poky
synced 2026-04-29 09:32:11 +02:00
newlib: Enable building libstdc++ for newlib based toolchains
Some baremetal applications might require support from libstdc++ On newlib based toolchains, libstdc++ can be built as a static library that applications can then link against it. Pass libsdtc++-(static)dev to LIBC_DEPENDENCIES allowing the library to be present for cross compilation as well as on sdk builds. (From OE-Core rev: 18af9ecef6e247519d8a1573e32208bb69cf81fe) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
0b088f99e6
commit
e261883a0f
@@ -25,12 +25,11 @@ LIBC_DEPENDENCIES = "\
|
||||
libgloss-dbg \
|
||||
libgcc-dev \
|
||||
libgcc-dbg \
|
||||
libstdc++-dev \
|
||||
libstdc++-staticdev \
|
||||
"
|
||||
|
||||
# compilerlibs defaults to gcc-runtime, but we get runtime from libgloss
|
||||
# we set ASSUME_PROVIDED because we cant set PREFERRED_PROVIDER
|
||||
# for compilerlibs since its overridden by tcmode-default
|
||||
ASSUME_PROVIDED += "virtual/${TARGET_PREFIX}compilerlibs virtual/crypt"
|
||||
ASSUME_PROVIDED += "virtual/crypt"
|
||||
|
||||
# Its useful to be able to extend newlib, but we dont provide a native variant of libgloss
|
||||
NEWLIB_EXTENDED ?= "libgloss libgcc"
|
||||
|
||||
@@ -16,10 +16,14 @@ EXTRA_OECONF_PATHS = "\
|
||||
|
||||
EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
|
||||
EXTRA_OECONF_append = " --cache-file=${B}/config.cache"
|
||||
EXTRA_OECONF_append_libc-newlib = " --with-newlib"
|
||||
|
||||
# Disable ifuncs for libatomic on arm conflicts -march/-mcpu
|
||||
EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no "
|
||||
|
||||
# Newlib does not support symbol versioning on libsdtcc++
|
||||
SYMVERS_CONF_libc-newlib = ""
|
||||
|
||||
# Building with thumb enabled on armv6t fails
|
||||
ARM_INSTRUCTION_SET_armv6 = "arm"
|
||||
|
||||
@@ -36,6 +40,8 @@ RUNTIMELIBSSP_mingw32 ?= "libssp"
|
||||
RUNTIMETARGET = "${RUNTIMELIBSSP} libstdc++-v3 libgomp libatomic ${RUNTIMELIBITM} \
|
||||
${@bb.utils.contains_any('FORTRAN', [',fortran',',f77'], 'libquadmath', '', d)} \
|
||||
"
|
||||
# Only build libstdc++ for newlib
|
||||
RUNTIMETARGET_libc-newlib = "libstdc++-v3"
|
||||
|
||||
# libiberty
|
||||
# libmudflap
|
||||
|
||||
Reference in New Issue
Block a user