defs.sh: use official upstream to fetch newlib
[rofl0r-mmix-cross.git] / README.md
blobbc090d5909c811c5e5f32d8d8930a6b39827d609
1 About mmix-cross
2 ================
4 This is a small suite of scripts and patches to build an mmix
5 cross-compiler for knuth's simulator.
7 For the impatient, ./build.sh should build a cross compiler to
8 $HOME/toolchains, no muss, no fuss. Otherwise, you can edit
9 config.sh to make cross-compilers to other architectures, and even copy
10 config.sh to another directory then run build.sh from there to avoid polluting
11 the source dir.
13 Notes on building normal cross compilers
14 ========================================
16 * You can set versions of binutils, GCC or musl in config.sh with:
18         BINUTILS_VERSION=<version>
19         GCC_VERSION=<version>
20         NEWLIB_VERSION=<version>
22 only tested versions are the ones set by default.
24 * You can set configure flags for each step:
26         BINUTILS_CONFFLAGS=...
27         GCC_BOOTSTRAP_CONFFLAGS=...
28         NEWLIB_CONFFLAGS=...
29         GCC_CONFFLAGS=...
31 * If you do not have the GMP, MPFR and/or MPC development libraries on your
32   host, you can build them along with GCC with a config.sh line:
34         GCC_BUILTIN_PREREQS=yes
37 Other scripts and helpers
38 =========================
40 * config.sh is an example configuration file. In many cases, it will do exactly
41   what you want it to do with no modification, which is why it's simply named
42   "config.sh" instead of, e.g., "config-sample.sh"
44 * extra/build-gcc-deps.sh will build the dependencies for GCC into the build
45   prefix specified by config.sh, which are just
46   often a nice thing to have. It is of course not necessary.
49 Requirements
50 ============
52 musl-cross depends on:
54 * shell and core utils (busybox is fine)
55 * mercurial or git (for checkout only)
56 * wget (busybox is fine)
57 * patch
58 * gcc
59 * make
60 * gawk
62 The following are GCC dependencies, which can be installed on the host system,
63 or installed automatically using `GCC_BUILTIN_PREREQS=yes`:
64 ONLY NEEDED FOR GCC versions >= 4.3
66 * gmp
67 * mpfr
68 * mpc
70 Building GMP additionally requires m4.