From 460378ef9a264f87d6c85ddd802d5837c4c14eef Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 17 Sep 2011 12:20:44 +0200 Subject: toolchain/cross-gnu: Update. --- toolchain/cross-gnu.mdwn | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'toolchain') diff --git a/toolchain/cross-gnu.mdwn b/toolchain/cross-gnu.mdwn index 62c55a04..280569ae 100644 --- a/toolchain/cross-gnu.mdwn +++ b/toolchain/cross-gnu.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2007, 2008, 2010 Free Software Foundation, +[[!meta copyright="Copyright © 2007, 2008, 2010, 2011 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable @@ -9,10 +9,12 @@ 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]]."]]"""]] +[[!tag stable_URL]] + [[Thomas_Schwinge|tschwinge]] has written a shell script for building a complete cross-build environment for GNU/Hurd systems. -Find it in the [[source_repositories/incubator]], *cross-gnu* branch. +Find it in the [[source_repositories/incubator]], *cross-gnu/master* branch. # Using @@ -31,6 +33,8 @@ differences, as well as towards pushing all patches upstream. ## Supported Versions of Source Packages +/!\ This is outdated. Contact [[tschwinge]]. + The following ones are known to work. Others may work as well, but no guarantee is given. Always the preferred version is listed first. @@ -117,6 +121,10 @@ guarantee is given. Always the preferred version is listed first. $ cd libpthread/ $ git checkout origin/tschwinge/Peter_Herbolzheimer + Prepare: + + $ ( cd libpthread/ && autoreconf -vi ) + * [[`src/glibc`|glibc]] * Git `tschwinge/Roger_Whittaker` branch @@ -147,9 +155,11 @@ guarantee is given. Always the preferred version is listed first. ## Preparation +The raw source code trees are about 1 GiB. + Unpack the tarballs if you downloaded any. -Create a directory where the cross build shall be rooted in and a `src` +Create a directory where the cross build shall be rooted in, and a `src` subdirectory in there. Then create symbolic links for every of the above packages: from `src/PACKAGE` to where you stored or unpacked it. If you don't intend to build several cross compilers or use the source trees otherwise, you @@ -162,11 +172,11 @@ Either make sure that `cross-gnu-env` and `cross-gnu` are found in `$PATH` (`~/bin/`, for example) or alternatively remember to use their full paths in the following. -The system you're running the script on (the *build* system) needs to have a -basic compiling environment installed, i.e., a C compiler with the basic -libraries and `make`. You might also need `flex` and `bison`. For building -recent version of GCC (4.3 onwards) -you'll need to have development packages of GMP and MPFR installed. +The system you're running the script on (the *build* system) needs to have +basic development tools installed, that is, a C compiler with libraries, +`make`, and several more packages. If anything is missing, the *cross-gnu* +build will abort, and you have to install the missing dependencies and resume +the *cross-gnu* build. ## Setting Up the Environment @@ -183,12 +193,14 @@ will be set by the script, `$PATH` will be adjusted, etc. See the their default values. `$ROOT` will be made an absolute path if it isn't already. -Later, you'll be able to do things like `../configure --host="$TARGET"` and the +Later, you'll be able to do things like `../configure --host="$TARGET"`, and the cross compiler will be found automatically. ## Creating the Cross Build Environment +This will need an additional 2 GiB. + After setting up the environemt, just run `cross-gnu` and watch the messages flow by. In the end you should see a message: *[...]/cross-gnu: Everything should be in place now.* -- cgit v1.2.3