[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] [[meta license="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU_Free_Documentation_License|/fdl]]."]] # `cross-gnu` [[Thomas_Schwinge|tschwinge]] has written a shell script for building a complete cross-build environment for GNU/Hurd systems. For now, find the shell scripts at and . ## Using Read through it. Understand it. Then use it. /!\ Be made aware that -- while it is of course possible to build a working cross-compiler -- this is not trivial to do. You'll have to patch several of the source packages. See the corresponding Debian unstable source packages about which Hurd-specific patches exist and check which of them are not yet in the upstream source packages. Not all of the patches from the Debian packages are needed for getting a functional tool chain, though. Applying patches is definitely needed for the glibc, Hurd and GCC source packages, as there are a bunch of outstanding patches that are needed for getting a functional build. ### Supported Versions of Source Packages The following ones are known to work. Others may work as well, but no guarantee is given. Always the preferred version is listed first. * `src/binutils`: [GNU Binutils](http://www.gnu.org/software/binutils/) * CVS `binutils-2_18-branch` $ cvs -d:pserver:anoncvs@sources.redhat.com:/cvs/src \ co -r binutils-2_18-branch binutils $ mv src binutils-2_18-branch * The 2.18 release tarball from should also be fine, as should be all other recent releases. * `src/gcc`: [GNU Compiler Collection](http://gcc.gnu.org/) * SVN `gcc-4_1-branch` $ svn co svn://gcc.gnu.org/svn/gcc/branches/gcc-4_1-branch * Recent releases of the 4.1 series from should also be fine. Support for the 4.2 series (`gcc-4_2-branch`) and the upcoming 4.3 series (`trunk`) is being worked on. * `src/gnumach`: [GNU Mach](http://hurd.gnu.org/) * CVS `gnumach-1-branch` $ cvs -d:pserver:anoncvs@cvs.gnu.org:/cvsroot/hurd \ co -r gnumach-1-branch gnumach $ mv gnumach gnumach-1-branch * `src/mig`: [GNU Mach Interface Generator](http://hurd.gnu.org/) * CVS `HEAD` $ cvs -d:pserver:anoncvs@cvs.gnu.org:/cvsroot/hurd co mig * `src/hurd`: [GNU Hurd](http://hurd.gnu.org/) * CVS `HEAD` $ cvs -d:pserver:anoncvs@cvs.gnu.org:/cvsroot/hurd co hurd * `src/glibc`: [GNU C Library](http://www.gnu.org/software/libc/) * CVS `glibc-2_7-branch` $ cvs -d:pserver:anoncvs@sources.redhat.com:/cvs/glibc \ co -r glibc-2_7-branch glibc $ mv libc glibc-2_7-branch * TODO. Patches. * Recent releases of the 2.7 series from should also be fine, but need the same set of patches as the `glibc-2_7-branch` needs. # References *