Go to file
Thomas Petazzoni 3a7f6713be package/gdb: rework dependency for C++11
As we are about to switch to 8.0 as the default gdb version, we
need to adjust how the gdb dependencies are handled. Indeed, from 8.0
onwards, gdb needs a C++11 capable compiler, i.e at least gcc 4.8.

Until now, Config.in.host was making sure that gdb 8.0 was not
selectable if the cross-compilation toolchain did not have C++ support
with gcc >= 4.8. This worked fine because the default version of gdb,
used as the target gdb version when no host gdb is built, was 7.11,
and did not require C++11.

With the switch to 8.0 as the default version, when target gdb is
enabled but not host gdb, 8.0 is used, which means we need a C++11
capable compiler. The dependencies in Config.in.host are no longer
sufficient.

So instead, we remove the target-related dependencies from
Config.in.host and move them properly to Config.in. The overall logic
is the following:

 - In Config.in.host, BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS ensures that
   we have at least host gcc 4.8 if we're on ARC, because the ARC gdb
   needs C++11. We remove the target toolchain related dependencies
   from here.

 - In Config.in.host, the version selection ensures that 8.0 cannot be
   selected if the host toolchain does not have at least gcc 4.8. We
   remove the target toolchain related dependencies from here.

 - In Config.in.host, we introduce a BR2_PACKAGE_GDB_NEEDS_CXX11
   option, that indicates whether the currently selected version of
   gdb requires C++11 support in the toolchain to build the target
   variant. Even though this option is more related to the target
   variant of gdb, we keep it in Config.in.host so that it appears
   next to the definition of BR2_GDB_VERSION, to make sure they are
   kept in sync.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 1e3738db42)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-07-18 23:44:49 +02:00
arch Revert "arch/arm: add cortex-m7 core" 2018-05-20 19:13:29 +02:00
board imx8mqevk: readme: Write the SoC name in capital letters 2018-05-17 22:21:23 +02:00
boot uboot: don't override HOSTCC/HOSTLDFLAGS for kconfig 2018-07-18 23:37:10 +02:00
configs configs/snps_archs38_hsdk: bump linux version to 4.14.47 2018-06-02 12:39:53 +02:00
docs docs/manual: fix scancpan path 2018-07-17 09:23:00 +02:00
fs fs: ensure hard links in TARGET_DIR are correctly copied for filesystem input 2018-05-27 23:46:29 +02:00
linux linux: reword binutils 2.29+ comment 2018-06-01 21:43:06 +02:00
package package/gdb: rework dependency for C++11 2018-07-18 23:44:49 +02:00
support dl-wrapper: Fix support for URIs containing '+' 2018-07-17 09:10:08 +02:00
system skeleton: add /dev/fd, /dev/std{in, out, err} symlinks for static /dev on readonly rootfs 2018-05-01 21:53:45 +02:00
toolchain toolchain: allow disabling packages affected by gcc bug 85180 2018-05-30 23:23:21 +02:00
utils scanpypi: add support for the new PyPI infrastructure 2018-04-18 17:11:47 +02:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.flake8 .flake8: ignore utils/diffconfig 2018-03-13 22:37:54 +01:00
.gitignore
.gitlab-ci.yml .gitlab-ci.yml: update after removal of freescale defconfigs 2018-05-06 17:36:37 +02:00
.gitlab-ci.yml.in .gitlab-ci.yml: extend check-package test to Config.* files 2018-04-01 10:16:35 +02:00
CHANGES Update for 2018.05 2018-06-01 22:22:57 +02:00
Config.in Config.in: add BR2_HOST_GCC_AT_LEAST_8 2018-05-02 14:50:14 +02:00
Config.in.legacy libmediaart: rename options to have proper prefix 2018-05-21 23:13:52 +02:00
COPYING
DEVELOPERS DEVELOPERS: update datacom email addresses 2018-05-25 08:40:14 +02:00
Makefile Update for 2018.05 2018-06-01 22:22:57 +02:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
README

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches