Christopher Larson 0f1aee0d36 external-toolchain.bbclass: stop overriding S, we need it for debugsrc
We need to be able to copy sources from the external toolchain into it in
do_unpack, then back out into the install area in do_install.

Note that attempts were made to bypass this indirection by having do_package
directly copy sources from the external toolchain, and while this did function,
it results in pseudo failures breaking the build. Further investigation could be
done on this in the future.

JIRA: SB-21854

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2023-04-21 02:42:25 +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 648 KiB
Languages
BitBake 79.7%
C++ 9.8%
Python 6.9%
Shell 3.3%
Makefile 0.3%