mirror of
https://github.com/thead-yocto-mirror/meta-external-toolchain
synced 2026-06-21 08:52:27 +02:00
Update the README
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
This commit is contained in:
50
README.md
50
README.md
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user