This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

towards a good embedded userland cross-build system (was: Re: _G_config.his not installed)


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]