Release 0.12.
[mes.git] / INSTALL
1                                                               -*- org -*-
2 Building and Installing Mes
3
4 * Get it
5
6    git clone https://gitlab.com/janneke/mes
7
8 * Prerequisites
9 ** Bootstrapping
10 For bootstrapping, the M1 macro assembler and hex2 linker and Nyacc
11 *** [[https://github.com/oriansj/mescc-tools][mescc-tools]], 0.4 is known to work.
12 *** [[https://savannah.gnu.org/projects/nyacc][Nyacc]], [[https://gitlab.com/janneke/nyacc][patched Nyacc]] 0.80.42 is known to work.
13 For development
14 ** Development
15 For development, there are some more dependencies.
16 *** Guix
17
18     guix environment -l guix.scm     #64 bit + 32bit
19     guix environment --system=i686-linux -l guix.scm #32 bit only
20
21 *** Other GNU/Linux
22 **** [[https://github.com/oriansj/mescc-tools][mescc-tools]], 0.4 is known to work.
23 **** [[https://savannah.gnu.org/projects/nyacc][Nyacc]], [[https://gitlab.com/janneke/nyacc][patched Nyacc]] 0.80.42 is known to work.
24 **** GNU Gcc, 4.9.3 is known to work.
25 The idea is to drop this requirement, of course.
26
27 **** GNU Guile, version 2.0.12 or is know to work.
28 Guile is not strictly necessary but it is used by the configure script
29 and in development.
30
31 **** /bin/sh, GNU Bash 4.3 is known to work.
32 Let's just say for now that it gets awkward without a shell.
33
34 **** GNU coreutils
35 **** sed, GNU sed 4.2 is known to work.
36 **** git, 2.10 is known to work.
37 **** Perl, 5.22 is known to work.
38
39 * Build it
40
41    ./configure
42    make
43
44 * Check it
45
46    make check
47
48 * Install it
49
50    make install
51 * Guix it...
52
53    guix package -f guix.scm