summaryrefslogtreecommitdiff
path: root/docker/sandcastle/compile-and-check/base/compile_and_check.sh
blob: b2462fc556a9cd53b251f9dd135be68867be165a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/bash

set -eu

start_debug_shell () {
  bash --init-file <(echo \
    "echo 'Press enter for the debug shell..'; read -t 300 || exit $?"
  ) -i
}
trap start_debug_shell ERR

echo -n Exporting the tags environment..
set -a
. tags.sh
set +a
echo DONE
echo Exported tags:
{ env | grep TAG_; } || echo NONE

git clone git://git.gnunet.org/libmicrohttpd --branch ${TAG_LIBMHD:-master}
git clone git://git.gnunet.org/gnunet --branch ${TAG_GNUNET:-master}
git clone git://git.taler.net/exchange --branch ${TAG_EXCHANGE:-master}
git clone git://git.taler.net/merchant --branch ${TAG_MERCHANT:-master}
git clone git://git.taler.net/libeufin --branch ${TAG_LIBEUFIN:-master}
git clone git://git.taler.net/taler-merchant-demos --branch ${TAG_MERCHANT_DEMOS:-master}
git clone git://git.taler.net/wallet-core --branch ${TAG_WALLET:-master}
git clone git://git.taler.net/sync --branch ${TAG_SYNC:-master}

cd /libmicrohttpd
./bootstrap
./configure --disable-doc
make install

cd /gnunet
./bootstrap
./configure --enable-logging=verbose --disable-documentation
make install

cd /exchange
if test "${TAG_EXCHANGE:-}" = "v0.9.0"; then
  # Init Gana and checkout the v0.9.0-compatible commit.
  git submodule init contrib/gana
  git submodule update --remote contrib/gana
  # Note: without init first, the following checkout hits "reference is not a tree".
  git -C contrib/gana checkout 6b9824cb4d4561f1167c7f518998a226a82222d6;
  # Remove master branch tracking the remote
  git -C contrib/gana branch -d master
  git -C contrib/gana remote set-url origin .
  git -C contrib/gana branch master
fi
./bootstrap
./configure CFLAGS="-ggdb -O0" --enable-logging=verbose --disable-doc
make install
make check

cd /merchant
./bootstrap
./configure CFLAGS="-ggdb -O0" --enable-logging=verbose --disable-doc
make install
make check

cd /libeufin
./bootstrap
./configure
make install

cd /taler-merchant-demos
./bootstrap
./configure
make install

cd /sync
./bootstrap
./configure CFLAGS="-ggdb -O0" --enable-logging=verbose --disable-doc
make install
make check