We only want this to take effect for the locales for the external toolchain,
not those generated and used for nativesdk, otherwise we break the
buildtools-tarball build.
JIRA: SB-8391
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Using the one already available with our toolchain makes a great deal of
sense, as it's a known quantity. The only reason we switched to gdb was due to
conflicts between gdb and gdbserver-external, but that issue has been
resolved.
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
It's not ideal to do this for every build, but it's not terrible, either, and
is worth the cost to get an error up front if there's a configuration or
licensing problem. master deals with this more cleanly.
JIRA: SB-8257
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
We were hitting issues due to non-deterministic ordering of ConfigParsed event
handlers between codebench.bbclass and the tcmode. To avoid this, consolidate
the two and use a single handler.
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
It's useful to know which target triplet/system was selected by the logic in
the tcmode file, as it searches EXTERNAL_TOOLCHAIN to determine which to use.
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
If the user hasn't set EXTERNAL_TOOLCHAIN, but CODEBENCH_PATH is set, then we
automatically set both EXTERNAL_TOOLCHAIN and EXTERNAL_TARGET_SYS based on the
installed toolchains in CODEBENCH_PATH/../toolchains.
This adds a new variable, rather than allowing EXTERNAL_TOOLCHAIN to point to
CodeBench instead of the actual toolchain path, to keep the clean separation
between the generic toolchain logic and that which is specific to our
toolchains, and also avoids overloading the variable's meaning.
JIRA: SB-7881
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
If multiple are available, the 'mentor' triplets are preferred, as that's the
non-lite toolchain. Sort them so those are first, as we stop at the first one
we find.
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
* origin/cedar:
tcmode-external-sourcery: Add MGLS_LICENSE_FILE if not found in environment
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
There's no reason not to make use of it, and it's used by default with the
internal toolchain, so this aligns us closer to that.
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Old messages:
WARNING: EXTERNAL_TARGET_SYS == TARGET_SYS. This indicates that the prefixes specified by EXTERNAL_TARGET_SYSTEMS were not found.
ERROR: EXTERNAL_TOOLCHAIN gcc path '<external-toolchain>/bin/arm-mel-linux-gnueabi-gcc' does not exist
New message:
ERROR: Unable to locate prefixed gcc binary for arm-mel-linux-gnueabi in <external-toolchain>/bin
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
This alters the vars for the cross-compiler, not the build tools, so this is
most appropriate, and is one less thing to have in TOOLCHAIN_HOST_TASK.
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
The Sourcery x86-64 toolchain leaves 'lib' empty and uses 'lib64' for
everything, so force that in the tcmode the way we do for aarch64.
This also switches from hardcoding BASELIB to using the bits defined in the
tuning files, to reduce how much is being hardcoded.
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
This forces the default setup to require gdbserver from the gdb package
rather than pulling it from the external-sourcery packages.
This allows the inclusion of target-tools (and specifically gdb) in the
build image without resulting in multiple providers of gdbserver.
Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
Remove -mcpu=e6500 flag from TUNE_CCARGS for t4240rdb-64b
to match the toolchain options, in ADE's environment script,
with the CS3 data used by the IDE(Sourcery CodeBench).
IDE reads in the individual ABI and other toolchain options
from ADE's environment-setup script and attempts to map each
value to its appropriate OptionValue in the target data
plugin.xml. Many of the the values in the plugin.xml
(particularly the ABI values) originate from the CS3
information.
When the IDE finds a value in environment-setup script which
cannot be mapped to a value in plugin.xml, e.g -mcpu=e6500 in
this case, it simply appends it to the misc option field and
this behavior is known to be imperfect.
JIRA: SB-6290
Signed-off-by: Abdur Rehman <abdur_rehman@mentor.com>
Move bits for setting TUNE_CCARGS and TUNE_ASARGS for e6500
from tune-ppce6500.inc to sourcery-tuning.inc.
tune-ppce6500.inc has some additional bits compared to the
same file in poky. Only move those additional bits to
sourcery-tuning.
Remove tune-ppce6500.inc as it is no longer required.
JIRA: CB-5647
Signed-off-by: Abdur Rehman <abdur_rehman@mentor.com>
bb.fatal already prints ERROR:, so prefixing it with Error: is pointless and
redundant.
JIRA: SB-6206
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
With this, we can avoid the need to create a symlink for the multilib sysroot
suffix. This also adds a nativesdk package to the sdk to adjust the
environment setup there to use it as well.
JIRA: SB-6018
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
We were explicitly removing the old default install path. Rather than
explicitly removing the new install path, remove */codebench/bin/, since
that's the new structure of the installs.
JIRA: SB-5383
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Also provide external-common.bbclass to wrap its inclusion and setup
associated metadata. This will make easier to search sysroots for files
without pulling in the rest of the external toolchain class.
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
The most common failure case was qemuarm. Currently, ARMPKGSFX_THUMB is used
in TUNE_CCARGS, and it only includes 't' when ARM_INSTRUCTION_SET=thumb.
Bypass that check for armv5, as we need -march=armv5te rather than
-march=armv5t, but we still want -mthumb removed when appropriate.
Fixes#86
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
- Move from BuildStarted time to TreeDataPreparationStarted, as we want
bitbake -e to work, so it has to run after ConfigParsed, and we want to see
these errors rather than the highly verbose unbuildable -external recipe
errors which occur when generating the runqueue, so we need to run before
BuildStarted.
- Add 'does gcc exist' sanity test. This also shows an informative warning if
the bindir exists, but the gcc binary doesn't, and EXTERNAL_TARGET_SYS ==
TARGET_SYS, which indicates we failed to find a prefix via
EXTERNAL_TARGET_SYSTEMS.
- Add 'is GCC_VERSION UNKNOWN' sanity test, mentioning the failure of gcc
version extraction, and pointing to the debug messages to see what actually
happened.
JIRA: SB-4850, SB-1029
Signed-off-by: Christopher Larson <kergoth@gmail.com>
While these messages are useful when debugging, the warnings clutter up the
log due to running before our sanity checks, potentially confusing the user.
Signed-off-by: Christopher Larson <kergoth@gmail.com>
We want the path included in the checksums for the -external-cross recipes, as
they wrap the external binaries and hardcode that path, but we don't want it
included in the checksums for anything else, and we don't want rebuilding the
external-cross recipes to cause rebuilds of thing sthat depend upon them.
Signed-off-by: Christopher Larson <kergoth@gmail.com>
We only care about the resulting value of EXTERNAL_TARGET_SYS, not the
components that fed into it.
Signed-off-by: Christopher Larson <kergoth@gmail.com>