On 11/11/2009 01:39 PM, Chris Conroy wrote:
On Wed, 2009-11-11 at 10:00 -0700, Gary Thomas wrote:
I'd like to use my own toolchains when building OpenEmbedded.
I've tried to follow the information at:
    
http://docs.openembedded.org/usermanual/usermanual.html#commonuse_prebuilt_toolchain
It's a bit terse and confusing, so I'm just trying to see
what I need (I think the section tries to discuss too many
concepts at once)

Anyway, I added these lines to my local.conf:
    TARGET_SYS = "${TARGET_ARCH}-${TARGET_OS}"
    ASSUME_PROVIDED += " virtual/${TARGET_PREFIX}gcc "
    ASSUME_PROVIDED += " virtual/libc "

This led to a number of other inferences which I don't understand.
    NOTE: selecting glibc to satisfy virtual/libintl due to PREFERRED_PROVIDERS
    NOTE: selecting glibc to satisfy runtime libsegfault due to 
PREFERRED_PROVIDER_virtual/libc = glibc
    NOTE: selecting linux-libc-headers to satisfy runtime 
linux-libc-headers-dev due to PREFERRED_PROVIDER_linux-libc-headers = 
linux-libc-headers
    NOTE: selecting glibc to satisfy runtime glibc due to 
PREFERRED_PROVIDER_virtual/libc = glibc
    NOTE: selecting gcc-cross-intermediate to satisfy 
virtual/powerpc-linux-gcc-intermediate due to PREFERRED_PROVIDERS
    NOTE: selecting linux-libc-headers to satisfy linux-libc-headers due to 
PREFERRED_PROVIDERS
    NOTE: selecting glibc to satisfy virtual/libiconv due to PREFERRED_PROVIDERS
    NOTE: selecting gcc-cross to satisfy runtime libgcc due to 
PREFERRED_PROVIDER_virtual/powerpc-linux-gcc = gcc-cross
    NOTE: selecting binutils-cross to satisfy virtual/powerpc-linux-binutils 
due to PREFERRED_PROVIDERS
    NOTE: selecting glibc-initial to satisfy virtual/powerpc-linux-libc-initial 
due to PREFERRED_PROVIDERS
    NOTE: selecting glibc to satisfy virtual/powerpc-linux-libc-for-gcc due to 
PREFERRED_PROVIDERS
    NOTE: selecting gcc-cross-initial to satisfy 
virtual/powerpc-linux-gcc-initial due to PREFERRED_PROVIDERS

At which point, OE goes off on its merry way to build the
internal toolchains.

What am I missing?

You may want to try using the external-toolchain recipe. Though it's
mainly used for toolchains built by OE, poky has recipes for
Codesourcery toolchains which you could certainly use as a starting
point for your toolchain.

Then in your conf file you need to set the external-toolchain as the
PREFERRED_PROVIDER for everything it provides (gcc, libc, libstdc++,
binutils, etc..). I think this is a bit cleaner than doing
ASSUME_PROVIDED because it makes the use of the external toolchain a bit
more explicit.

Thanks for the pointer.  Given that I'm really new with OE, can you
give me a clue as to how to use that recipe?  Can I just add some
magic to my local.conf to make this work (instead of the lines quoted above)?


I guess this leads me to ask the rest of the list: should the user
manual be updated to include docs on the external-toolchain recipe?


--
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------

_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Reply via email to