doc: Release update.
[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 only dependency is the hex2 linker
11 *** [[https://github.com/oriansj/MESCC_Tools][MESCC_Tools]], 0.1 is known to work.
12 For development
13 **
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.0 is known to work.
23
24 **** [[https://savannah.gnu.org/projects/nyacc][Nyacc]], 0.78.0 is known to work.
25 Matt Wette's C99 LALR parser.
26
27 **** GNU Gcc, 4.9.3 is known to work.
28 The idea is to drop this requirement, of course.
29
30 **** GNU Guile, version 2.0.12 or is know to work.
31 Guile is not strictly necessary but it is used by the configure script
32 and in development.
33
34 **** GNU Make, version 4.0 is know to work.
35 Not strictly necessary.
36
37 **** /bin/sh, GNU Bash 4.3 is known to work.
38 Let's just say for now that it gets awkward without a shell.
39
40 **** GNU coreutils
41 **** sed, GNU sed 4.2 is known to work.
42 **** git, 2.10 is known to work.
43 **** Perl, 5.22 is known to work.
44
45 * Build it
46
47    ./configure
48    make
49
50 ** For a quick build, skip running mescc on Mes
51    make MES_SKIP_MES=1
52
53 * Check it
54
55    make check
56
57 ** For a quick check, skip running mescc on Mes
58    make MES_SKIP_MES=1
59
60 * Install it
61
62    make install
63 * Guix it...
64
65    guix package -f guix.scm