[oe] [PATCH 0/3] Make multi-machine toolchains to co-exist.

Koen Kooi k.kooi at student.utwente.nl
Sun Jul 25 15:10:41 UTC 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 25-07-10 16:41, Khem Raj wrote:
> On Sun, Jul 25, 2010 at 5:31 AM, Koen Kooi <k.kooi at student.utwente.nl> wrote:
> On 25-07-10 13:16, Koen Kooi wrote:
>>>> On 25-07-10 10:32, Koen Kooi wrote:
>>>>> On 24-07-10 23:25, Khem Raj wrote:
>>>>>> On (24/07/10 22:51), Koen Kooi wrote:
>>>>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>>>>> Hash: SHA1
>>>>>>>
>>>>>>> On 24-07-10 11:32, Khem Raj wrote:
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> Following three patches are for making multi-machine toolchains co-exist with
>>>>>>>> new cross staging for toolchain.
>>>>>>>>
>>>>>>>> It changes the toolchain triplet from TARGET_ARCH-VENDOR-OS to TARGET_SUB_ARCH-VENDOR-OS
>>>>>>>>
>>>>>>>> which means that a toolchain for armv7 is called armv7-oe-linux-gnueabi-*
>>>>>>>> and for armv5te its called armv5te-oe-linux-gnueabi-*
>>>>>>>>
>>>>>>>> They can coexist in same native sysroot. The symlinks would mean that
>>>>>>>> gcc will not accidently mix the assemblers or linkers.
>>>>>>>>
>>>>>>>> I have booted a minimal-image on qemuarm successfully. The build for
>>>>>>>> beagleboard in same sysroot is underway.
>>>>>>>>
>>>>>>>> Please give it a shot in your environments (especially Koen's env)
>>>>>>>
>>>>>>> MACHINE=beagleboard bitbake nano ; MACHINE=hawkboard bitbake nano work,
>>>>>>> going to try a bigger build now.
>>>>
>>>>>> You will need 4th patch which is attached here, for the sdk recipes.
>>>>
>>>>> OK, applied that as well, 'MACHINE=beagleboard bitbake console-image ;
>>>>> MACHINE=hawkboard bitbake console-image' works as well.
>>>>> Let's see what xbmc does :)
>>>>
>>>> xbmc builds, but mplayer and gstreamer-ti fail.
>>>>
>>>> The fix for mplayer is simple, change configure:2106 from
>>>> arm|armv4t|armv5te) to arm*).
>>>>
>>>> The gstreamer-ti one is a bit harder to fix:
>>>>
>>>> | checking host system type... Invalid configuration
>>>> `beagleboard-angstrom-linux-gnueabi': machine `beagleboard-angstrom' not
>>>> recognized
>>>> | configure: error: /bin/sh ./config.sub
>>>> beagleboard-angstrom-linux-gnueabi failed
>>>>
>>>> That recipe is machine specific, so for TARGET_ARCH == MACHINE_ARCH we
>>>> probably need to change things. Does anyone have a sample on how to do that?
> 
> And cacao:
> 
> | configure: error: armv7a systems are not supported at this time
> | ERROR: Function do_configure failed
> 
>> yes I was expecting that kind of problems. openssl also has similar issues.
> 
>> another idea that struck me was that we could change the target triplet to drop
>> TARGET_VENDOR and replace it with TARGET_SUB_ARCH and TARGET_SUBARCH
>> could be anything
>> we could even make it same as MACHINE_ARCH which means you will build
>> toolchain per machine
>> and they will live together.
> 
>> then the tool names will be something like arm-v7-linux-gnueabi-*
>> powerpc-e500-linux-gnu
>> mips-mips2-linux etc. instead of *-angstrom-*- or *-oe-*-
> 
>> or arm-beagleboad-linux-gnueabi-* etc if we go with MACHINE_ARCH
> 
>> that would keep all recipe configury happy as the arch detected from
>> config.guess will be what
>> we had (arm, mips, mipsel powerpc etc) so no changes needed but we
>> will have to drop the brand
> 
>> does it sound good ? bad?

I don't think abusing target vendor for that is a good idea. And I'm
quite attached to my angstrom branded toolchains, tbh.

regards,

Koen
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFMTFPwMkyGM64RGpERAs9AAJ0bVObloBojA0EJmNXnsaruS3NENQCgqClW
e463bslpzDHNgdUQezMCTa0=
=SYZ6
-----END PGP SIGNATURE-----





More information about the Openembedded-devel mailing list