Files
meta-external-toolchain/README.md
Christopher Larson 0beb66b376 Split up external-sourcery-toolchain into separate recipes
common-license.bbclass will set LIC_FILES_CHKSUM to a common license file
based on LICENSE, which is appropriate for a case where we have no sources to
refer to.
external-toolchain.bbclass, among other things, handles extraction of files in
the external toolchain sysroot, based on patterns in the FILES variables,
checking alternate locations to better support any arbitrary toolchain, and
has basic mirror handling for checking multiple paths within the sysroots.

Under normal circumstances, I'd want this to use highly granular commits, but
this branch has been extremely long lived (>1yr) and is such an invasive
refactoring that attempting to break it down now would be of limited
usefulness.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2014-12-19 10:35:25 -07:00

54 lines
2.2 KiB
Markdown

OpenEmbedded/Yocto layer for the Sourcery G++ toolchain
=======================================================
Usage & Instructions
--------------------
- Ensure that you have the Sourcery G++ toolchain installed.
- If it's an ia32 toolchain, make sure you did *not* let it modify your PATH,
and if you did, remove it.
This is necessary because the ia32 Sourcery G++ toolchain
shipped non-prefixed binaries (e.g. `gcc` rather than `i586-none-linux-gcc`), which
means bitbake would be unable to run the host's gcc directly anymore.
- Add the meta-sourcery layer to your `BBLAYERS` in `conf/bblayers.conf`. Please make
certain that it is listed before the `meta` layer, as this ensures meta-sourcery gets
priority over meta.
- Set `EXTERNAL_TOOLCHAIN = "/path/to/your/sourcery-g++-install"` in `conf/local.conf`.
Optional Functionality
----------------------
- If the user chooses to, they may optionally decide to rebuild the Sourcery G++ glibc
from source, if they have downloaded the corresponding source archive from Mentor
Graphics. To so, set `TCMODE = "external-sourcery-rebuild-libc"`, rather than relying
on the default value of `external-sourcery`. After setting TCMODE appropriately, you
must also set `SOURCERY_SRC_FILE = "/path/to/your/sourcery-g++-source-tarball"` or
`SOURCERY_SRC_URI = "http://some.domain/some-path"`.
Description of Behavior
-----------------------
The meta-sourcery layer.conf automatically defines `TCMODE` for us, so this is no longer
necessary. 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
------------
URL: https://github.com/MentorEmbedded/meta-sourcery
To contribute to this layer, please fork and submit pull requests to the above
repository with github, or open issues for any bugs you find, or feature
requests you have.
To Do List
----------
See [TODO.md](TODO.md)