build: setup-mes.sh: Cater for Debian/stretch too. Thanks, pdewacht!
[mes.git] / build-aux / setup-mes.sh
1 #! /bin/sh
2
3 set -e
4
5 if [ -n "$BUILD_DEBUG" ]; then
6     set -x
7 fi
8
9 mkdir -p src
10 cd src
11
12
13 for GUILE_EFFECTIVE_VERSION in 2.2 2.0; do
14     if sudo apt-get install --no-install-recommends guile-$GUILE_EFFECTIVE_VERSION-dev; then
15         break
16     fi
17 done
18
19 guile_site_dir=/usr/local/share/guile/site/$GUILE_EFFECTIVE_VERSION
20 guile_site_ccache_dir=/usr/local/lib/guile/$GUILE_EFFECTIVE_VERSION/site-ccache
21 GUILE_LOAD_PATH=$guile_site_dir
22 GUILE_LOAD_COMPILED_PATH=$guile_site_ccache_dir
23 export GUILE_LOAD_PATH
24 export GUILE_LOAD_COMPILED_PATH
25
26 sudo apt-get install --no-install-recommends build-essential ca-certificates help2man texinfo
27
28 # Nice to have
29 sudo apt-get install --no-install-recommends gcc-i686-linux-gnu || true
30
31 echo checking for M1
32 if ! command -v M1; then
33     if sudo apt-get install mescc-tools; then
34         echo yay
35     else
36         wget -O mescc-tools-Release_0.5.1.tar.gz https://github.com/oriansj/mescc-tools/archive/Release_0.5.1.tar.gz
37         tar xf mescc-tools-Release_0.5.1.tar.gz
38         cd mescc-tools-Release_0.5.1
39         make
40         make check
41         sudo make install
42         cd ..
43     fi
44 fi
45
46 echo checking for Nyacc
47 if ! guile -c '(use-modules (nyacc lalr)) (display *nyacc-version*) (newline)'; then
48     if sudo apt-get install --no-install-recommends nyacc; then
49         echo yay
50     else
51         wget -O nyacc-v0.80.43.tar.gz https://gitlab.com/janneke/nyacc/-/archive/v0.80.43/nyacc-v0.80.43.tar.gz
52         tar xf nyacc-v0.80.43.tar.gz
53         cd nyacc-v0.80.43
54         ./configure --prefix=/usr/local
55         make
56         make check
57         sudo make install
58         cd ..
59     fi
60 fi
61
62 echo checking for mes
63 if ! command -v mes; then
64     sudo apt-get install --no-install-recommends git
65     git clone http://gitlab.com/janneke/mes
66     cd mes
67     git checkout wip-gnu
68     ./configure
69     make
70     make check
71     make install
72 fi