On Sat, 2007-06-09 at 09:20 +0100, David Woodhouse wrote: > On Fri, 2007-06-08 at 13:56 -0600, Brendan Conoboy wrote: > > Building a cross binutils requires kernel headers for the target > > architecture. Building gcc requires kernel headers and glibc. There > > are scripts to solve the initial chicken/egg problem of where to get > > that glibc for a new arch. At some point in the future gcc might not > > require glibc to build, but we aren't there yet. > > Before we get to actually cross-compiling something for release, it > would be good to get cross-compilers into Fedora. > > Making a cross-binutils package isn't hard; it's a relatively > modification to our existing binutils package to make it build for > multiple %targets. > > Making a cross-gcc package which targets linux-elf is harder, because of > the evil recursive dependencies to which you refer above. It would be > good if we could get that working though. > > Unfortunately the scripts to which you refer just 'solve' the problem by > throwing everything together into one huge lump and building gcc, then > glibc, then rebuilding gcc again. That's not really very useful for us > when we want the compiler and glibc to be entirely separate packages -- > and in fact glibc would be a .$TARGET.rpm to be installed into the > sysroot, while the compiler is a native package. > > I haven't looked at this for a while, but IIRC we can build gcc and > libgcc.a directly, using 'only' header files which can be provided in > advance. The problem is that we have to dynamically link libgcc.so with > libc.so? We don't actually need a _real_ libc.so for that though, do we? > We could just make a dummy DSO with the functions we want, and link > against that? If we do that, what else still has recursive dependencies? > > -- > dwmw2 [bottom post :-)] Building cross toolchains is a common exercise in the embedded systems world. Take a look at Dan Kegel's "crosstools" http://kegel.com/crosstool/ which is RPM based and extensible. crosstools "auto-magically" handles the recursive dependency problems that you mention If you are seeking an entire cross tool chain development environment, take a look at two open source offerings from the embedded systems world: * Embedded Linux Development Kit http://www.denx.de/wiki/DULG/WebHome * Linux Target Image Builder http://savannah.nongnu.org/projects/ltib/ Both are RPM based and extensible. -Joseph -- jsacco [at] gnome [dot] org -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list