From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] The C++11 issue
Date: Sat, 21 Mar 2015 10:28:58 +0100 [thread overview]
Message-ID: <20150321102858.5e13ec41@free-electrons.com> (raw)
Hello,
A number of packages start to depend on C++11 features, which are not
available in all toolchains: toolchains using old compiler versions
(such as the Blackfin one), but also some older Crosstool-NG generated
toolchains.
This is causing a number of build failures these days, such as:
bfin | jsoncpp-1.6.0 | NOK | http://autobuild.buildroot.net/results/7fac9e4b3aa0746c860fd032a4b7b8663fb46fc8/
bfin | jsoncpp-1.6.0 | NOK | http://autobuild.buildroot.net/results/20b3f33e61286891a7804352c25326ea9faccfbb/
bfin | jsoncpp-1.6.0 | NOK | http://autobuild.buildroot.net/results/e482ba1d06c7fe2736ab3e79796297db8fbea187/
arm | jsoncpp-1.6.0 | NOK | http://autobuild.buildroot.net/results/1bf20d204042810bedad58dd2466bde9ae7b3fd6/
(std::snprintf is a C++11 feature)
So, it looks like we need to add a BR2_TOOLCHAIN_HAS_CXX11 option, with
the usual handling.
However, it is not very clear-cut what is a C++11 supporting toolchain,
and what is not: C++11 was added progressively in gcc, and there are
still a few things missing apparently. According to
https://gcc.gnu.org/projects/cxx0x.html, most of the compiler related
features have been merged by gcc 4.8. But in terms of libstdc++
support, the page
https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.200x
is a lot less clear, as it only indicates the mainline gcc status, and
not the gcc releases.
So how do we decide whether a particular toolchain has C++11 support ?
Do we simply decide that gcc >= 4.8 have sufficient C++11 support for
now, and we'll adjust things later if needed ?
What do you think ?
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next reply other threads:[~2015-03-21 9:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-21 9:28 Thomas Petazzoni [this message]
2015-03-21 14:52 ` [Buildroot] The C++11 issue Arnout Vandecappelle
2015-03-22 19:00 ` Bernd Kuhls
2015-03-22 23:22 ` Gustavo Zacarias
2015-03-21 16:37 ` Romain Naour
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150321102858.5e13ec41@free-electrons.com \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox