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

Khem Raj raj.khem at gmail.com
Sun Jul 25 14:41:02 UTC 2010


On Sun, Jul 25, 2010 at 5:31 AM, Koen Kooi <k.kooi at student.utwente.nl> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> 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?

>
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.5 (Darwin)
>
> iD8DBQFMTC6zMkyGM64RGpERAgwBAJ4o3TMs0vvc/rHEBlg+T5zuRw4J1gCfXwga
> oHSk52zHn97qye6wkmyCnp8=
> =7Es1
> -----END PGP SIGNATURE-----
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>




More information about the Openembedded-devel mailing list