mes/INSTALL

90 lines
2.1 KiB
Plaintext

-*- org -*-
#+TITLE: Building and Installing GNU Mes
Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
Mes can be built in two modes: as a regulare package build or as a
bootstrap package.
After bootstrapping Mes it can be used to bootstrap TinyCC (tcc) in a
similar way.
* Get it
git clone [[git://git.savannah.gnu.org][git://git.savannah.gnu.org/mes.git]]
* Regular build
** Prerequisites
*** Guix
#+BEGIN_SRC bash
guix environment -l guix.scm #64 bit + 32bit
guix environment --system=i686-linux -l guix.scm #32 bit only
#+END_SRC
*** Other GNU/Linux
- [[https://savannah.gnu.org/projects/mescc-tools/][mescc-tools]], 0.6.1 is known to work.
- [[https://savannah.gnu.org/projects/nyacc][Nyacc]], 0.93.0 is known to work.
- GNU Gcc, 4.9.3 is known to work.
- GNU Guile, version 2.0.12 or is know to work.
- SH, /bin/sh, GNU Bash 4.3 is known to work.
- GNU coreutils
- sed, GNU sed 4.2 is known to work.
- git, 2.10 is known to work.
- Perl, 5.22 is known to work.
** Build it
#+BEGIN_SRC bash
./configure
make
#+END_SRC
** Check it
#+BEGIN_SRC bash
make check
#+END_SRC
** Install it
#+BEGIN_SRC bash
make install
#+END_SRC
* Guix it
#+BEGIN_SRC bash
guix build -f guix.scm
#+END_SRC
* Bootstrap build
The bootstrap build is part of Guix, see
https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/commencement.scm
** Prerequisites
- [[https://savannah.gnu.org/projects/mescc-tools/][mescc-tools]], 0.6.1 is known to work.
- [[https://savannah.gnu.org/projects/nyacc][Nyacc]], 0.93.0 is known to work.
** Build it
#+BEGIN_SRC bash
sh configure.sh [--prefix=<prefix>]
sh bootstrap.sh
#+END_SRC
** Check it
#+BEGIN_SRC bash
sh check.sh
#+END_SRC
** Install it
#+BEGIN_SRC bash
sh install.sh
#+END_SRC