mirror of
https://git.yoctoproject.org/poky
synced 2026-05-31 00:39:46 +00:00
conf: add C++ flags for uninative interoperatility
Create a common include file for compiler flags which allow native binaries to be interoperable on a wide range of hosts. In particular the C++ ABI is problematic so choose the CXX11 version to allow interoperation between gcc4 and gcc5 based hosts. Moving this to a common include instead of uninative.bbclass allows uninative to be configured later and used in the eSDK (where its mandatory) even if the base configuration doesn't enable uninative by default (e.g. nodistro in OE-Core). [ YOCTO #10645 ] (From OE-Core rev: 60c912ae9306532bdd4c5e09a65863ee77c12f43) (From OE-Core rev: 10dea25aac31c156350e3e73f937472404c22d81) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
91ec543003
commit
3c9a34aaea
@@ -7,17 +7,6 @@ UNINATIVE_TARBALL ?= "${BUILD_ARCH}-nativesdk-libc.tar.bz2"
|
||||
#UNINATIVE_CHECKSUM[x86_64] = "dead"
|
||||
UNINATIVE_DLDIR ?= "${DL_DIR}/uninative/"
|
||||
|
||||
# https://wiki.debian.org/GCC5
|
||||
# We may see binaries built with gcc5 run or linked into gcc4 environment
|
||||
# so use the older libstdc++ standard for now until we don't support gcc4
|
||||
# on the host system.
|
||||
BUILD_CXXFLAGS_append = " -D_GLIBCXX_USE_CXX11_ABI=0"
|
||||
|
||||
#
|
||||
# icu configure defaults to CXX11 if no -std= option is passed in CXXFLAGS
|
||||
# therefore pass one
|
||||
BUILD_CXXFLAGS_append_pn-icu-native = " -std=c++98"
|
||||
|
||||
addhandler uninative_event_fetchloader
|
||||
uninative_event_fetchloader[eventmask] = "bb.event.BuildStarted"
|
||||
|
||||
|
||||
@@ -9,6 +9,8 @@ require conf/distro/include/tcmode-${TCMODE}.inc
|
||||
TCLIBC ?= "glibc"
|
||||
require conf/distro/include/tclibc-${TCLIBC}.inc
|
||||
|
||||
require conf/distro/include/uninative-flags.inc
|
||||
|
||||
# Allow single libc distros to disable this code
|
||||
TCLIBCAPPEND ?= "-${TCLIBC}"
|
||||
TMPDIR .= "${TCLIBCAPPEND}"
|
||||
@@ -20,4 +22,3 @@ PACKAGE_CLASSES ?= "package_ipk"
|
||||
INHERIT_BLACKLIST = "blacklist"
|
||||
INHERIT_DISTRO ?= "debian devshell sstate license"
|
||||
INHERIT += "${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO} ${INHERIT_BLACKLIST}"
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
# https://wiki.debian.org/GCC5
|
||||
# We may see binaries built with gcc5 run or linked into gcc4 environment
|
||||
# so use the older libstdc++ standard for now until we don't support gcc4
|
||||
# on the host system.
|
||||
BUILD_CXXFLAGS_append = " -D_GLIBCXX_USE_CXX11_ABI=0"
|
||||
|
||||
# icu configure defaults to CXX11 if no -std= option is passed in CXXFLAGS
|
||||
# therefore pass one
|
||||
BUILD_CXXFLAGS_append_pn-icu-native = " -std=c++98"
|
||||
Reference in New Issue
Block a user