On 7/19/12 3:13 PM, Manuel Bessler wrote:
Hi all,
I'm using a vendor-supplied external (pre-built) toolchain in my build
(poky-denzil).
Is it possible to setup my toolchain such that it will be part of the
SDK package instead of the default {gcc,binutils}-cross-canadian?
It is possible, but the external toolchain needs to be provided via a
crosssdk/cross-canadian binary. The external-csl-toolchain.bb can be used as a
model for how to do this.
PREFERRED_PROVIDER and similar may also be needed to ensure you get the correct
version, and not rebuilt from source versions.
I'm modeling my SDK after the meta-toolchain type SDK.
Right now when I build my image, all target code is built using my
pre-built external toolchain,
but when I 'bitbake <mysdk>', the toolchain built and distributed in
the SDK tarball is one built by bitbake.
That, in effect, makes my SDK unusable as the toolchain inside is
based on a different GCC/Binutils versions.
From my digging around in the recipes and classes, I think if I could
somehow make my toolchain
look like it provides gcc-cross-canadian and binutils-cross-canadian,
it might work. However I'm not
quite sure what I need to set to make this happen.
I tried to add this to conf/distro/include/tcmode-external-xxx.inc in my layer:
PREFERRED_PROVIDER_gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} =
"external-xxx-toolchain"
PREFERRED_PROVIDER_binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} =
"external-xxx-toolchain"
For my stuff I did;
PREFERRED_PROVIDER_binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} =
"external-csl-toolchain-cross-canadian-${TRANSLATED_TARGET_ARCH}"
PREFERRED_PROVIDER_gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} =
"external-csl-toolchain-cross-canadian-${TRANSLATED_TARGET_ARCH}"
PREFERRED_PROVIDER_gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} =
"external-csl-toolchain-cross-canadian-${TRANSLATED_TARGET_ARCH}"
That alone did not change anything.
Then I tried adding the following to
recipes-core/meta/external-xxx-toolchain_4.5.3.bb in my layer:
PROVIDES += " gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} "
PROVIDES += " binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} "
Within the external-cs-toolchain-cross-canadian.bb I had similar provides as
well..
to which bitbake complained:
ERROR: Multiple .bb files are due to be built which each provide
gcc-cross-canadian-mipsel
(xxx/recipes-core/meta/external-xxx-toolchain_4.5.3.bb
xxx/meta/recipes-devtools/gcc/gcc-cross-canadian_4.6.bb).
This usually means one provides something the other doesn't and should.
(and the same for binutils).
All I want is to dump the external toolchain tree into the SDK output.
Any clues as to what I might be missing, or am I on the wrong path?
Thanks,
Manuel
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core