[oe] RFC: Staging layout and pkgconfig sysroot support

Stanislav Brabec utx at penguin.cz
Tue Sep 18 10:38:32 UTC 2007


Richard Purdie wrote:
> On Mon, 2007-09-17 at 22:30 +0200, Stanislav Brabec wrote:
> > Well, I proposed the systoot some time ago and you opposed with its
> > disadvantages.
> 
> I was thinking about that when I wrote this email. Someone does need to
> argue the opposite case as this is a fundamental change and it needs
> discussion. I haven't made my mind up which approach is better to be
> honest.
> 
> I didn't and don't like the added complexity of multiple lib and bin
> directories...

But there is still a chance to formalize such approach by defining a new
feature request for gcc, libtool,... as an extension of -sysroot:

-target-root-map=/OE/foo1=/usr,/OE/foo2=/usr,/OE/foo3=/usr

Or a bit simpler version, which expects all sub-roots containing full
target paths (ie. /OE/foo1/usr/include instead of /OE/foo1/include).

-target-root=/OE/foo1,/OE/foo2,/OE/foo3

Target root map is a bit more complicated for implementation - wherever
sysroot has only one string, target root map has an array and needs to
rewrite strings and enlarge arraysto see, that /usr/include/freetype
should be expanded to triple lookup:
/OE/foo1/include/freetype, /OE/foo2/include/freetype, /OE/foo3/include/freetype

> I noticed the first line of the wrapper is:
> 
> # Warning: Your local compilation builddir musr not be inside /usr!
> 
> which just broke some of my builds since I build in /usr on certain
> machines :/.

My current wrapper is a hack, which rewrites all /usr/foo paths. If it
will be accepted, it needs rewrite (maybe to C or so) and properly check
for possible recursion.

> > There is still a lot of stuff, which don't support any of mentioned
> > concepts at all (e. g. AC_CHECK_FILE, AC_CHECK_PATH checks) and could
> > cause bad assumption (see fileutils locate script). In these cases, one
> > must provide a correct ac_ value to configure script or even patch the
> > package.
> 
> In an ideal world, we'd rewrite these macros and have our own safer
> versions even if they were to error out...

In an ideal world, all changes should be upstreamed, not depending
whether we will reuse sysroot or propose a new target root mapping.

Several years later, changes from automake could appear in the default
configure scripts of projects and calling autoreconf would not be
needed.

-- 
Stanislav Brabec
http://www.penguin.cz/~utx/zaurus





More information about the Openembedded-devel mailing list