Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
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

  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