Update the README

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
This commit is contained in:
Christopher Larson
2022-12-29 22:51:56 +05:00
parent 1dfba16772
commit ad0478f3d0

View File

@@ -1,45 +1,37 @@
# OpenEmbedded/Yocto layer for the Sourcery G++ toolchain
# OpenEmbedded/Yocto layer for external toolchain support
## Dependencies
- [openembedded-core](https://github.com/openembedded/openembedded-core)
layer, with a matching branch (i.e. master of oe-core and master of
meta-sourcery).
meta-external-toolchain).
- [bitbake](https://github.com/openembedded/bitbake), with a matching branch.
- An installed Sourcery G++ toolchain
- An installed toolchain or OE/Yocto SDK
- An existing build directory configured for this bitbake and
openembedded-core.
## Usage & Instructions
- 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
- 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 the external toolchain was built with linux-libc-headers from the 4.8
Linux kernel or newer, set `KERNEL_48_PATCH_REMOVE = ""` in
`conf/local.conf` to fix the build of the `ppp` recipe.
### Optional Functionality
### If using a Yocto/OpenEmbedded SDK as an external toolchain
- 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"`.
- 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 meta-sourcery layer.conf automatically defines `TCMODE` for us. The tcmode
performs a number of operations:
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?
@@ -50,14 +42,14 @@ performs a number of operations:
## Contributing
To contribute to this layer, please fork and submit pull requests to the
github [repository](https://github.com/MentorEmbedded/meta-sourcery), or open
github [repository](https://github.com/MentorEmbedded/meta-external-toolchain), or open
issues for any bugs you find, or feature requests you have.
## Maintainer
This layer is maintained by [Mentor Graphics
Corporation](https://www.mentor.com/). Please direct all support requests for
this layer to the GitHub repository issues interface.
This layer is maintained by [Siemens Digital Industries
Software](https://support.sw.siemens.com/). Please direct all support requests
for this layer to the GitHub repository issues interface.
## To Do List