[oe] [RFC][PATCH] meta-toolchain: use MULTIMACH_TARGET_SYS instead of TARGET_SYS
Denys Dmytriyenko
denis at denix.org
Mon Apr 26 18:03:57 UTC 2010
On Sat, Apr 24, 2010 at 11:51:09AM -0700, Tom Rini wrote:
> On Sat, 2010-04-24 at 13:07 -0400, Denys Dmytriyenko wrote:
> > On Fri, Apr 23, 2010 at 02:43:13PM -0700, Tom Rini wrote:
> > > On Fri, 2010-04-23 at 16:54 -0400, Denys Dmytriyenko wrote:
> > > > On Fri, Apr 23, 2010 at 10:29:54PM +0200, Koen Kooi wrote:
> > > > > >> Yes, that needs to be done, as well as seperating the cross tools in
> > > > > >> case different archs need different versions (as is the case with
> > > > > >> angstrom, v5te and v7a need different binutils). This change largely to
> > > > > >> to cosmetically highlight that the toolchain is not really "universal"
> > > > > >> (yet).
> > > > > >
> > > > > > And we can talk about if "universal" is really a good goal either.
> > > > >
> > > > > I don't think we can make it "universal" without sacrificing key benefits.
> > > > >
> > > > > > Taking a bit of a guess in the dark, an SDK with support for all the fun
> > > > > > stuff found on Beagleboard might not be done easily with also having
> > > > > > support for all the fun stuff found on some other ref board too.
> > > > >
> > > > > The immediate problem I'm trying to address now is that having both an
> > > > > armv5te and armv7a toolchain installed is breaking horribly. Ideally
> > > > > they would coexist peacefully, but I don't know if we can manage that,
> > > > > without impacting the ease of use.
> > > >
> > > > I know it's not what you are looking for, but easier workaround would be to
> > > > install different toolchains in different paths... :)
> > >
> > > Or, noting all of the very machine specific stuff Koen mentions
> > > elsewhere, we don't pretend it's an SDK for armv7a but just call it an
> > > SDK for ${MACHINE} and encode that into the PATH.
> >
> > The thing is, while SDKPATH is the same by default for both of the
> > incompatile toolchains (e.g. for Angstrom it is /usr/local/angstrom), the
> > resulting tarballs are named with the specific architecture in the name taken
> > from the FEED_ARCH:
> >
> > TOOLCHAIN_OUTPUTNAME ?= "${DISTRO}-${DISTRO_VERSION}-${SDK_SYS}-${FEED_ARCH}-${TARGET_OS}-${SDK_SUFFIX}"
> >
> > While not machine-specific, when installed in separate locations, can safely
> > separate armv5te from armv7a. That way even the host cross tools are separated.
>
> Right. I'm saying that SDKPATH should be more than /usr/local/${DISTRO}
> but /usr/local/${DISTRO}/${MACHINE} by default, toss a comment above
> about why (output is very MACHINE specific in certain cases) and maybe
> update the default TOOLCHAIN_OUTPUTNAME too.
Ok, you asked for a comment, I'll give you two :)
1. In Arago I have a way to overwrite SDKPATH from the command line when
building a specific SDK/toolchain. So, I can do what you suggest, but...
2. My SDKs are currently not machine-specific, moreover, they don't have the
cross-compile tools in them (i.e. no toolchain part), as Arago uses external
CodeSourcery toolchain for that. The only cross-tools I have in my SDKs are
those, which are missing from CS - i.e. libtool, pkgconfig, opkg, qt4e-tools
etc. But I still build 2 versions of SDK - armv5te and armv7a.
--
Denys
More information about the Openembedded-devel
mailing list