Christopher Larson d581fcd678 Merge remote-tracking branch 'origin/SB-21854' into kirkstone
* origin/SB-21854:
  libgcc-external: add needed entries to DEBUG_PREFIX_MAP
  gcc-runtime-external: override REL_S
  gcc-no-shared-source.inc: bring back fetch/unpack
  external-toolchain.bbclass: inherit external-debugsrc
  external-toolchain.bbclass: stop overriding S, we need it for debugsrc
  external-debugsrc.bbclass: use oe.path.copyhardlinktree
  external-debugsrc.bbclass: add class
  copydebugsources_extra.bbclass: add class
  oprofile-external: avoid too-greedy FILES pattern
2023-04-27 21:48:16 +05:00
2015-07-29 13:10:52 -07:00
2022-12-29 22:51:56 +05:00

OpenEmbedded/Yocto layer for external toolchain support

Dependencies

  • openembedded-core layer, with a matching branch (i.e. master of oe-core and master of meta-external-toolchain).
  • bitbake, with a matching branch.
  • An installed toolchain or OE/Yocto SDK
  • An existing build directory configured for this bitbake and openembedded-core.

Usage & Instructions

  • Cd to an existing build directory.
  • bitbake-layers add-layer /path/to/meta-external-toolchain.
  • Set EXTERNAL_TOOLCHAIN = "/path/to/your/external-toolchain-install" in conf/local.conf.

If using a Yocto/OpenEmbedded SDK as an external toolchain

  • Set TCMODE = "external-oe-sdk" in conf/local.conf.

If using a different external toolchain

A non-OE/Yocto external toolchain may well require additional tweaks, we would advise creating a custom tcmode based upon the external one, much as we do for external-oe-sdk in this layer.

  • Set TCMODE = "external" in conf/local.conf

Behavior

The tcmode performs a number of operations:

  • Sets TARGET_PREFIX appropriately, after determining what prefix is in use by the toolchain
  • Sanity checks EXTERNAL_TOOLCHAIN: does the path exist? does the expected sysroot exist?
  • Sets preferences so that external recipes are used in preference to building them from source, including cross recipes which link/wrap the toolchain cross binaries

Contributing

To contribute to this layer, please fork and submit pull requests to the github repository, or open issues for any bugs you find, or feature requests you have.

Maintainer

This layer is maintained by Siemens Digital Industries Software. Please direct all support requests for this layer to the GitHub repository issues interface.

To Do List

See TODO.md.

Description
No description provided
Readme 676 KiB
Languages
BitBake 79.7%
C++ 9.8%
Python 6.9%
Shell 3.3%
Makefile 0.3%