build: Support Debian build, install.
[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 GUILE_EFFECTIVE_VERSION=2.2
13 GUILE_SITE_DIR=/usr/local/share/guile/site/$GUILE_EFFECTIVE_VERSION
14 GUILE_SITE_CCACHE_DIR=/usr/local/lib/guile/$GUILE_EFFECTIVE_VERSION/site-ccache
15 GUILE_LOAD_PATH=$GUILE_SITE_DIR
16 GUILE_LOAD_COMPILED_PATH=$GUILE_SITE_CCACHE_DIR
17 export GUILE_LOAD_PATH
18 export GUILE_LOAD_COMPILED_PATH
19
20 sudo apt-get install --no-install-recommends build-essential ca-certificates gcc-i686-linux-gnu guile-$GUILE_EFFECTIVE_VERSION-dev help2man texinfo
21 echo checking for M1
22 if ! command -v M1; then
23     if sudo apt-get install mescc-tools; then
24         echo yay
25     else
26         wget -O mescc-tools-Release_0.5.1.tar.gz https://github.com/oriansj/mescc-tools/archive/Release_0.5.1.tar.gz
27         tar xf mescc-tools-Release_0.5.1.tar.gz
28         cd mescc-tools-Release_0.5.1
29         make
30         make check
31         sudo make install
32         cd ..
33     fi
34 fi
35
36 echo checking for Nyacc
37 if ! guile -c '(use-modules (nyacc lalr)) (display *nyacc-version*) (newline)'; then
38     if sudo apt-get install --no-install-recommends nyacc; then
39         echo yay
40     else
41         wget -O nyacc-v0.80.43.tar.gz https://gitlab.com/janneke/nyacc/-/archive/v0.80.43/nyacc-v0.80.43.tar.gz
42         tar xf nyacc-v0.80.43.tar.gz
43         cd nyacc-v0.80.43
44         ./configure --prefix=/usr/local
45         make
46         make check
47         sudo make install
48         cd ..
49     fi
50 fi
51
52 echo checking for mes
53 if ! command -v mes; then
54     sudo apt-get install --no-install-recommends git
55     git clone http://gitlab.com/janneke/mes
56     cd mes
57     git checkout wip-gnu
58     ./configure
59     make
60     make check
61     make install
62 fi