doc: Release udpate.
[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.2 is known to work.
12 *** [[https://savannah.gnu.org/projects/nyacc][Nyacc]], 0.80.3 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.2 is known to work.
23 **** [[https://savannah.gnu.org/projects/nyacc][Nyacc]], 0.80.3 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 **** GNU Make, version 4.0 is know to work.
32 Not strictly necessary.
33
34 **** /bin/sh, GNU Bash 4.3 is known to work.
35 Let's just say for now that it gets awkward without a shell.
36
37 **** GNU coreutils
38 **** sed, GNU sed 4.2 is known to work.
39 **** git, 2.10 is known to work.
40 **** Perl, 5.22 is known to work.
41
42 * Build it
43
44    ./configure
45    make
46
47 ** For a quick build, skip running mescc on Mes
48    make MES_SKIP_MES=1
49
50 * Check it
51
52    make check
53
54 ** For a quick check, skip running mescc on Mes
55    make MES_SKIP_MES=1
56
57 * Install it
58
59    make install
60 * Guix it...
61
62    guix package -f guix.scm