Commit Graph

30 Commits

Author SHA1 Message Date
Richard Purdie
90e0a0f7f4 classes/recipes: Switch virtual/XXX-gcc to virtual/cross-cc (and c++/binutils)
The idea of the base class dependency is to say "yes, I need a C cross compiler"
and this was never meant to be gcc specific. Looking at the codebase, whilst we
code triplets into this, it does overcomplicate things as there are only ever
limited, "target", "sdk" and the class extended versions like mutlilib.

After much thought, we can simplify this to virtual/cross-cc and virtual/nativesdk-cross-cc.

This lets us remove the "gcc" specific element as well as removing the over
complicated triplet usage.

At the same time, change the much less widely used "g++" variant to "c++" for
similar reasons and remove the triplet from virtual/XXX-binutils too.

Backwards compatibility mappings could be left but are just going to confuse
things in future so we'll just require users to update.

This simplification, whilst disruptive for any toolchain focused layers, will
make improved toolchain selection in the future much easier.

Since we no longer have overlapping variables, some code for that can just
be removed. The class extension code does need to start remapping some variables
but not the crosssdk target recipe names.

This patch is in two pieces, this one handles the renaming with the functional
changes separate in a second for easier review even if this breaks bisection.

(From OE-Core rev: 4ccc3bc8266c327bcc18c9a3faf7536210dfb9f0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-01-21 23:09:33 +00:00
Khem Raj
b60f98d3fd gdb: Update to gdb 14.1 release
* Drop add-missing-ldflags.patch, its already applied to gdb 14
* Add dependency on mpfr for cross/cross-canadian/target recipe
* Remove gcc-only complier restriction, clang can compile it just fine
* Notable changes are here [1] [2]

[1] https://sourceware.org/git/?p=binutils-gdb.git;a=blob_plain;f=gdb/NEWS;hb=refs/heads/gdb-14-branch
[2] https://www.sourceware.org/gdb/download/ANNOUNCEMENT

(From OE-Core rev: 2a0f7255a740ffbfe5a7858ef01a3ba6cadca383)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-12-21 10:38:29 +00:00
Richard Purdie
768c89e306 gcc/go: Drop crosssdk suffix from virtual provides to improve dependency handling
There is little point in having "crosssdk" suffex added to the virtual provider within
gcc/go since the TARGET_PREFIX or SDK_PREFIX already encapsulates this. Remove it
allowing some of the special case overriding to be removed.

This also allows removal of some of the MLPREFIX usage since again, the triplet
also covers this.

(From OE-Core rev: fe0206ba482d209b24e636d578aa68ba5e67ba1b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-02 10:24:50 +01:00
Richard Purdie
9a20fbe23f binutils: Drop crosssdk suffix from virtual provides to improve dependency handling
There is little point in having "crosssdk" suffex added to the virtual provider within
binutils since the TARGET_PREFIX or SDK_PREFIX already encapsulates this. Remove it
allowing some of the special case overriding to be removed.

(From OE-Core rev: 6856fc5c848cc2564bebe03a007ef109f46d0adb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-02 10:24:50 +01:00
Richard Purdie
71ef319193 meta/scripts: Automated conversion of OE renamed variables
(From OE-Core rev: aa52af4518604b5bf13f3c5e885113bf868d6c81)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-21 23:37:27 +00:00
Khem Raj
099199c951 gdb: Add dependency on libgmp
gdb 11 has added this library as must have

(From OE-Core rev: 4643d1eb222151384f77d13a936537aae5ca3fe6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-07 10:56:26 +00:00
Richard Purdie
596cbbf615 recipes: Add missing pkgconfig inherit
Various recipes were missing a pkgconfig inherit or pkgconfig-native
dependency despite using pkgconfig.

Add the inherit to igt-gpu-tools/gdb/libmodulemd/libwpe/xwayland/waffle
shaderc/iputils/wpebackend-fdo/lttng-ust/cargo.

(From OE-Core rev: 777d9744570c2dc119dc5d04985896bbb1da5885)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-21 23:44:08 +01:00
Richard Purdie
bb6ddc3691 Convert to new override syntax
This is the result of automated script conversion:

scripts/contrib/convert-overrides.py <oe-core directory>

converting the metadata to use ":" as the override character instead of "_".

(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-02 15:44:10 +01:00
Alexander Kanavin
60fe30204c gdb-cross: enable debuginfod
This allows avoiding having gdb inside the target image, which might
be too resource-constrained, or otherwise inconvenient.

(From OE-Core rev: b903f250a7bbf04d5853f537b7565a80fb7ce1f3)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-17 13:42:31 +01:00
Alistair Francis
ebedc1511d gdb: Upgrade from 8.2.1 to 8.3
Bump GDB and change the oeqa selftest expression to allow ptests to
pass.

(From OE-Core rev: f31986ed9f82c48834b2f25979c93697228acbf7)

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-21 12:56:33 +01:00
Richard Purdie
1867965acd recipes: Drop virtual/libc-for-gcc
We no longer have special "libc" for gcc so we can rely on plain
virtual/libc and reduce the complexity in the dependencies.

(From OE-Core rev: 122217b421f749b5fef52bea44ad6e04bc8f8d3a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-26 11:19:54 +00:00
Alejandro Hernandez
7aaffbede4 python: fix RDEPENDS on several recipes, due to non-existent packages
The packaging has been altered slightly so ensure the dependencies are all still
valid.

(From OE-Core rev: 3328211afdef8ffb00dd4dff1143959d5412b075)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-20 22:31:56 +00:00
George McCollister
eb937ee0a1 gdb-cross-canadian: Depend on nativesdk-python3-importlib
Add missing dependency on nativesdk-python3-importlib so the imp Python
module is installed.

Before this patch, running gdb from the sdk would give the following
error:

Python Exception <class 'ImportError'> No module named 'imp':

(From OE-Core rev: ad00a31fbe93e073a2d83616efcd08c5a7ef37c9)

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-08 10:31:30 +00:00
Alexander Kanavin
609bf2ecf5 gdb: move to Python 3
(From OE-Core rev: 675d11c73dc1f420c471af01a520f6a20d8a7337)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-03 13:13:27 +01:00
Jonathan Liu
1c1e85113f gdb-cross-canadian: use PACKAGECONFIG for python and readline
(From OE-Core rev: c5478ed623f9b21d758f49745409a8eaae36baf5)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-03 15:51:35 +01:00
Richard Purdie
ff8ca8961d gdb-cross-canadian: Add missing virtual/* DEPENDS
cross-canadian does INHIBIT_DEFAULT_DEPS so we need to add the various virtual/*
toolchain pieces we rely on manually.

(From OE-Core rev: 737ce94aeb7e26a41cf286097904c1234c42b477)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-15 16:28:45 +00:00
Ross Burton
d5fb9aa9e7 gdb: add whitespace to _append
Add leading whitepace to EXTRA_OECONF_append so it doesn't rely on the original
value ending with trailing whitespace.  Spotted by Robert P. J. Day.

(From OE-Core rev: b1b9a269ff94d80622f1c2a447568641039dc9ce)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:49 +00:00
Richard Purdie
3956c7bd34 gdb-cross-canadian: Add to sstate whitelist
The various gdb variants overwrite in datadir so whitelist this for now, they
are the same files and this is not an issue.

(From OE-Core rev: 472efca12108d26201d2236ff436a08845313f48)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-30 21:36:14 +01:00
Paul Eggleton
cec8b230cf Replace one-line DESCRIPTION with SUMMARY
A lot of our recipes had short one-line DESCRIPTION values and no
SUMMARY value set. In this case it's much better to just set SUMMARY
since DESCRIPTION is defaulted from SUMMARY anyway and then the SUMMARY
is at least useful. I also took the opportunity to fix up a lot of the
new SUMMARY values, making them concisely explain the function of the
recipe / package where possible.

(From OE-Core rev: b8feee3cf21f70ba4ec3b822d2f596d4fc02a292)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-02 12:50:18 +00:00
Richard Purdie
bd1cf71974 cross-canadian: Handle powerpc linux verses linux-gnuspe
PowerPC toolchains can use the OS "linux" or "linux-gnuspe". This
patch links them together so the one cross-canadian toolchain can support
both.

GCC_FOR_TARGET is set for the GCC recipe as otherwise configure
can pick up an incorrect value.

[YOCTO #5354]

(From OE-Core rev: a1d6331238982b0c5d39b0a18794f6654b00d46a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-30 17:33:12 +00:00
Samuli Piippo
0d2211a41c gdb-cross-canadian: use correct exec-prefix path for python
Incorrect exec-prefix path was given to gdb which leads to gdb
startup failure when SDK is not installed to its original destination.
Gdb relocates the exec-prefix path, so it will work for SDKs that
are installed to different location. PYTHONHOME env in no longer
neeeded for gdb.

[YOCTO #3839]

(From OE-Core rev: e77603324332b932c73c9e22ab65a0b9b7c17798)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-29 22:07:55 +01:00
Marcin Juszkiewicz
02b0763203 gdb-cross-canadian: set everything in gdb-cross-canadian.inc
This allows out-of-tree versions to include one file to have all set.

(From OE-Core rev: c1bfe7985ac95644585e8b296edd9722c2ca4f57)

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-12 09:37:30 +01:00
Richard Purdie
121e9284cc gdb-cross-canadian: Set RDEPENDS on the specific package that needs it
Set the RDEPENDS on the specific package that has the dependency and stop it
being applied to for example ${PN}-doc (and others).

(From OE-Core rev: 51257c8665282e2b7f647adb4bdf8d07e2b40e1c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-04 16:42:47 +00:00
Richard Purdie
ad23395cd1 nativesdk: Switch to using nativesdk as a prefix, not a suffix
As discussed on the mailing lists, using a suffix to package names is
hard and has lead to many recipes having to do PKGSUFFIX games. Its
looking extremely hard to scale nativesdk much further without hacking
many recipes.

By comparison, using a prefix like multilib does works much better and
doesn't involve "hacking" as many recipes. This change converts nativesdk
to use a prefix using the existing multilib infrastructure.

(From OE-Core rev: 81813c0e322dc04ce4b069117188d8a54dfddb8c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-02 05:52:06 -07:00
Khem Raj
45bc21c275 gdb-cross-canadian: Fix linking issues when python support is enabled
gdb-cross-canadian was linking with static version of libpython
and looking for build host python when run. This could be mismatch
between python-nativesdk and build host provided python. So we
make it consistent to always use python-nativesdk

Instead of adding bunch of -L we add -rpath and -rpath-link
so that gdb finds all needed libraries in SDK and does not
reach out into host

This should fix yocto PR# 2077 as well.

(From OE-Core rev: d56177c59b5e237a501281d806724885456f0193)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:00:55 +00:00
Lianhao Lu
7987452087 gdb-cross-canadian: not shipping libiberty.
Fixed package QA warnings.

WARNING: QA Issue: non -staticdev package contains static .a library:
gdb-cross-canadian-i586 path
'/work/x86_64-nativesdk-pokysdk-linux/gdb-cross-canadian-i586-7.4-r6.3/packages-split/gdb-cross-canadian-i586/opt/poky/1.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/lib/lib/libiberty.a'

(From OE-Core rev: 231cdeec05f82a8b16141098ca9ca6df41ebe396)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 12:13:06 +00:00
Eric BENARD
1cb4614f1d gdb-cross-canadian: build gdb with python support
* python support is needed for providing finer scripting control
in gdb, and for remote controling gdb for example from qtcreator
* gdb/configure tries to autodetect python using python executable
with --includes --ldflags --exec-prefix to get the right flags
As it's difficult to achieve in OE's context, we generate a
script which will return the right values and make gdb's build
system happy. This idea was taken from the following article :
http://www.mentby.com/doug-evans-2/python-enabled-gdb-on-windows-and-relocation.html
* tested using angstrom & armv7 target & qtcreator 201005 & 2.4.0

* MJ: updated paths to python as disscussed here
  http://lists.linuxtogo.org/pipermail/openembedded-core/2012-February/018222.html
  now it's easier with cross-canadian staging dir and SDKPATH fixed :)

(From OE-Core rev: 73a90b88541c373aa5b83a939dd3b5f1fe05b9b8)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Cc: fcooper@ti.com
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-26 11:00:07 +00:00
Matthew McClintock
2691727152 Add readline as dependecy for gdb-cross-canadian
Got errors that we were unable to find -lreadline, this fixed the
issue

(From OE-Core rev: ddc9a58b8553599d2328ac1c4449b41681ae45d1)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-27 08:45:48 +01:00
Lianhao Lu
2021e2a74f Using TRANSLATED_TARGET_ARCH instead of TARGET_ARCH.
Using TRANSLATED_TARGET_ARCH instead of TARGET_ARCH for
cross-canadian packages. This is due to the TARGET_ARCH of x86_64
would results incorrect packaging in cross-canadian packages.

The pacakge name appendix of x86_64 target in cross-canadian
packages is x86-64.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2010-12-10 15:36:48 +00:00
Lianhao Lu
322d6ab299 cross-canadian: pkg name includes target arch
This commit fixes Bug #528.

1. Added the target arch name to the pkg name of gcc-cross-canadian,
gdb-cross-candian and bintuils-cross-candian.

2. Move the cross-canadian pkgs out of task-sdk-host into a new task
task-cross-canadian.

3. Added the RDEPENDS of task-cross-canadian into meta-toolchain.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2010-12-10 15:36:30 +00:00