towards a good embedded userland cross-build system (was: Re: _G_config.h is not installed)
Dan Kegel
dank@kegel.com
Thu Aug 14 17:39:00 GMT 2003
Robert Schwebel wrote:
>>When I was debugging my gcc/glibc cross build script
>>(http://kegel.com/crosstool), I found that glibc-2.2.5 thought it was
>>doing a native compile if it could run the target executables on the
>>build host. Maybe 2.2.4 is similar?
>
> I'll try it. The problem is that the effect is non-deterministic.
> Sometimes it just works, then without obvious reasons it does not work
> any more.
You have my sympathy. This kind of problem is what drove me to
using a simple shell script rather than a Makefile, and doing everything
clean from scratch every time.
> When I started with the toolchain stuff in the beginning I had a shell
> script as well but it turned out that the complex dependencies between
> the various packets can be better solved with Makefiles.
Just wait until you try to support gcc-3.3 and glibc-2.3.2 -- you
may change your mind! Some files have to be installed twice, kind of, I think.
I'm not sure if that kind of dependency can be expressed.
But maybe I'm just pessimistic.
> So I started
> looking around for what other people have done. Most projects (Emdebsys:
> cml2 problems all over the place; Gentoo: database not separable from
> the target system; RPM, Debian: dito; uCLinux: archives bundled with the
> framework, too large for initial download) didn't work fine for an
> Embedded System scenario (no space on the target for databases, highly
> configurable, very small packet size for initial download), so I ended
> up with Erik's buildroot. As he didn't want to have patches for a
> kconfig frontend I basically copied his framework (also to make it
> easier to steal packets later), added the kconfig stuff and things
> started evolving.
I badly need something to build a whole userspace, and I went through
the same list of build systems. I also checked Rock Linux (too complex).
Another promising one is http://pkgsrc.org; they don't support cross-building
yet, but they are looking at it, and supposedly have several hundred
packages cross-building already. I will definitely have a look at your framework.
> I don't know if you already had a look at the framework, probably it's
> better to wait until I've made the next release. It also might be an
> idea to look at which "direction" of porting might be better - PTXdist
> just using crosstools or porting it over. I somehow hope that you like
> the concept and port your script into the framework ;)
I'm sorely tempted to keep the gcc/glibc build process separate from
any framework. Even when I finally settle on a userland build framework
that uses Make or whatever, it may have a prerequisite that you have
already got a toolchain installed and working. Melding the two
seems like a bad match somehow -- I want totally correct dependencies,
and am pretty sure I can do that using Makefilesu
for all of userland except for the toolchain.
- Dan
--
Dan Kegel
http://www.kegel.com
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045
------
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
More information about the crossgcc
mailing list