Add missing copyright headers.
[mes.git] / build-aux / setup-mes.sh
1 #! /bin/sh
2
3 # GNU Mes --- Maxwell Equations of Software
4 # Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
5 #
6 # This file is part of GNU Mes.
7 #
8 # GNU Mes is free software; you can redistribute it and/or modify it
9 # under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 3 of the License, or (at
11 # your option) any later version.
12 #
13 # GNU Mes is distributed in the hope that it will be useful, but
14 # WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # GNU General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
20
21 set -e
22
23 if [ -n "$BUILD_DEBUG" ]; then
24     set -x
25 fi
26
27 mkdir -p src
28 cd src
29
30
31 for GUILE_EFFECTIVE_VERSION in 2.2 2.0; do
32     if sudo apt-get install --no-install-recommends guile-$GUILE_EFFECTIVE_VERSION-dev; then
33         break
34     fi
35 done
36
37 guile_site_dir=/usr/local/share/guile/site/$GUILE_EFFECTIVE_VERSION
38 guile_site_ccache_dir=/usr/local/lib/guile/$GUILE_EFFECTIVE_VERSION/site-ccache
39 GUILE_LOAD_PATH=$guile_site_dir
40 GUILE_LOAD_COMPILED_PATH=$guile_site_ccache_dir
41 export GUILE_LOAD_PATH
42 export GUILE_LOAD_COMPILED_PATH
43
44 sudo apt-get install --no-install-recommends build-essential ca-certificates help2man texinfo
45
46 # Nice to have
47 sudo apt-get install --no-install-recommends gcc-i686-linux-gnu || true
48
49 echo checking for M1
50 if ! command -v M1; then
51     if sudo apt-get install mescc-tools; then
52         echo yay
53     else
54         wget -O mescc-tools-Release_0.5.1.tar.gz https://github.com/oriansj/mescc-tools/archive/Release_0.5.1.tar.gz
55         tar xf mescc-tools-Release_0.5.1.tar.gz
56         cd mescc-tools-Release_0.5.1
57         make
58         make check
59         sudo make install
60         cd ..
61     fi
62 fi
63
64 echo checking for Nyacc
65 if ! guile -c '(use-modules (nyacc lalr)) (display *nyacc-version*) (newline)'; then
66     if sudo apt-get install --no-install-recommends nyacc; then
67         echo yay
68     else
69         wget -O nyacc-v0.80.43.tar.gz https://gitlab.com/janneke/nyacc/-/archive/v0.80.43/nyacc-v0.80.43.tar.gz
70         tar xf nyacc-v0.80.43.tar.gz
71         cd nyacc-v0.80.43
72         ./configure --prefix=/usr/local
73         make
74         make check
75         sudo make install
76         cd ..
77     fi
78 fi
79
80 echo checking for mes
81 if ! command -v mes; then
82     sudo apt-get install --no-install-recommends git
83     git clone git://git.savannah.gnu.org/mes.git
84     cd mes
85     git checkout wip-gnu
86     ./configure
87     make
88     make check
89     make install
90 fi