From: Peter Korsgaard <jacmet@uclibc.org>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 05/15] toolchain: rework C++ options
Date: Sat, 11 Dec 2010 23:38:38 +0100 [thread overview]
Message-ID: <87fwu4lytt.fsf@macbook.be.48ers.dk> (raw)
In-Reply-To: <e24f28446cde0a4d1dad1bfb5e55c070c9345770.1291541115.git.thomas.petazzoni@free-electrons.com> (Thomas Petazzoni's message of "Sun, 5 Dec 2010 10:25:32 +0100")
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
Hi,
Thomas> Instead of having BR2_GCC_CROSS_CXX and BR2_INSTALL_LIBSTDCPP, with
Thomas> BR2_GCC_CROSS_CXX not being visible (and therefore being useless),
Thomas> let's just keep BR2_INSTALL_LIBSTDCPP to enable C++ in the toolchain
Thomas> and install C++ libraries on the target.
Thomas> We also take that opportunity to make BR2_INSTALL_LIBSTDCPP an hidden
Thomas> option, which is selected by an option in Buildroot toolchain support
Thomas> or an option in External toolchain support, just as we did for other
Thomas> toolchain features.
Thomas> Some work definitely remains to be done :
Thomas> - The name BR2_INSTALL_LIBSTDCPP is ugly, but we keep it for the
Thomas> moment in order to avoid changing all packages.
Thomas> - We could have two independent options: one to tell whether the
Thomas> toolchain has C++ support (on which packages would depend on) and
Thomas> another to tell whether the C++ library should be installed (that
Thomas> packages would select). This would allow to have a C++-free target
Thomas> filesystem even if the toolchain used actually supports C++.
Is that really important? I would expect people who really care about
such stuff to build a custom toolchain for their project.
If there's interest, perhaps it would make more sense to generalize this
library-cleanup step for all libs and do something like the mklibs
stuff.
Thomas> +++ b/toolchain/toolchain-crosstool-ng/Config.in
Thomas> @@ -98,4 +98,12 @@ config BR2_TOOLCHAIN_CTNG_uClibc_PROGRAM_INVOCATION
Thomas> endif # BR2_TOOLCHAIN_CTNG_uClibc
Thomas> +config BR2_TOOLCHAIN_CTNG_C_PLUS_PLUS
Thomas> + bool "Enable C++ support"
Thomas> + select BR2_INSTALL_LIBSTDCPP
Thomas> + help
Thomas> + Enable this option if you want your toolchain to support the
Thomas> + C++ language and you want C++ libraries to be installed on
Thomas> + your target system.
Thomas> +
Here we add an option to build a ctng toolchain (glibc/uclibc)
with/without C++ support.
Thomas> +++ b/toolchain/toolchain-external/Config.in
Thomas> @@ -143,6 +143,7 @@ config BR2_TOOLCHAIN_EXTERNAL_GLIBC
Thomas> select BR2_USE_WCHAR
Thomas> select BR2_ENABLE_LOCALE
Thomas> select BR2_PROGRAM_INVOCATION
Thomas> + select BR2_INSTALL_LIBSTDCPP
.. But here we say that all external glibc toolchains have C++
support. That doesn't seem to be always true.
Thomas> config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
Thomas> bool
Thomas> @@ -214,6 +215,14 @@ config BR2_TOOLCHAIN_EXTERNAL_PROGRAM_INVOCATION
Thomas> invocation support. If you don't know, leave the default
Thomas> value, Buildroot will tell you if it's correct or not.
Thomas> +config BR2_TOOLCHAIN_EXTERNAL_C_PLUS_PLUS
Thomas> + bool "Toolchain has C++ support ?"
No space before '?'
Thomas> + select BR2_INSTALL_LIBSTDCPP
Thomas> + help
Thomas> + Enable this option if you want your external toolchain has
'Enable this option if your external toolchain has'
Thomas> + support for C++. If you don't know, leave the default value,
Thomas> + Buildroot will tell you if it's correct or not.
--
Bye, Peter Korsgaard
next prev parent reply other threads:[~2010-12-11 22:38 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-05 9:25 [Buildroot] [pull request] Pull request for branch for-2011.02/toolchain-improvements Thomas Petazzoni
2010-12-05 9:25 ` [Buildroot] [PATCH 01/15] toolchain: Improve C library option selection Thomas Petazzoni
2010-12-11 22:14 ` Peter Korsgaard
2010-12-12 10:51 ` Thomas Petazzoni
2010-12-05 9:25 ` [Buildroot] [PATCH 02/15] toolchain: remove ending semi-colon in helpers Thomas Petazzoni
2010-12-05 9:25 ` [Buildroot] [PATCH 03/15] toolchain: add support for external toolchain profiles and download Thomas Petazzoni
2010-12-11 22:26 ` Peter Korsgaard
2010-12-12 11:04 ` Thomas Petazzoni
2010-12-05 9:25 ` [Buildroot] [PATCH 04/15] toolchain: remove toolchain-specific stripping Thomas Petazzoni
2010-12-05 9:25 ` [Buildroot] [PATCH 05/15] toolchain: rework C++ options Thomas Petazzoni
2010-12-11 22:38 ` Peter Korsgaard [this message]
2010-12-12 11:24 ` Thomas Petazzoni
2010-12-12 10:25 ` Yann E. MORIN
2010-12-12 13:33 ` Thomas Petazzoni
2010-12-05 9:25 ` [Buildroot] [PATCH 06/15] toolchain: move Stack Protection Support option Thomas Petazzoni
2010-12-05 9:25 ` [Buildroot] [PATCH 07/15] ltp-testsuite: bump version and use autotargets Thomas Petazzoni
2010-12-11 22:42 ` Peter Korsgaard
2010-12-12 11:31 ` Thomas Petazzoni
2010-12-12 22:21 ` Peter Korsgaard
2010-12-12 22:46 ` Thomas Petazzoni
2010-12-12 22:53 ` Peter Korsgaard
2010-12-05 9:25 ` [Buildroot] [PATCH 08/15] toolchain: rework thread options Thomas Petazzoni
2010-12-11 22:45 ` Peter Korsgaard
2010-12-12 11:34 ` Thomas Petazzoni
2010-12-05 9:25 ` [Buildroot] [PATCH 09/15] toolchain: check that the thread option selection is correct Thomas Petazzoni
2010-12-05 9:25 ` [Buildroot] [PATCH 10/15] gcc: disable libgomp when thread support is disabled Thomas Petazzoni
2010-12-05 9:25 ` [Buildroot] [PATCH 11/15] uclibc: add patch for uClibc snapshot to fix build issue Thomas Petazzoni
2010-12-05 9:25 ` [Buildroot] [PATCH 12/15] toolchain: BR2_NEEDS_GETTEXT must be y when uClibc is used Thomas Petazzoni
2010-12-05 9:25 ` [Buildroot] [PATCH 13/15] toolchain: expose thread options in the Crosstool-NG backend Thomas Petazzoni
2010-12-11 22:50 ` Peter Korsgaard
2010-12-12 10:37 ` Yann E. MORIN
2010-12-12 13:35 ` Thomas Petazzoni
2010-12-05 9:25 ` [Buildroot] [PATCH 14/15] toolchain: more verbose in crosstool-ng backend Thomas Petazzoni
2010-12-05 9:25 ` [Buildroot] [PATCH 15/15] package: pass TARGET_MAKE_ENV at install/clean/uninstall steps Thomas Petazzoni
2010-12-11 22:55 ` [Buildroot] [pull request] Pull request for branch for-2011.02/toolchain-improvements Peter Korsgaard
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=87fwu4lytt.fsf@macbook.be.48ers.dk \
--to=jacmet@uclibc.org \
--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