summaryrefslogtreecommitdiff
path: root/docker/compile-and-check/base/compile_and_check.sh
diff options
context:
space:
mode:
Diffstat (limited to 'docker/compile-and-check/base/compile_and_check.sh')
-rwxr-xr-xdocker/compile-and-check/base/compile_and_check.sh94
1 files changed, 94 insertions, 0 deletions
diff --git a/docker/compile-and-check/base/compile_and_check.sh b/docker/compile-and-check/base/compile_and_check.sh
new file mode 100755
index 0000000..59e16cb
--- /dev/null
+++ b/docker/compile-and-check/base/compile_and_check.sh
@@ -0,0 +1,94 @@
+#!/bin/bash
+
+set -eu
+set -x
+
+start_debug_shell () {
+ if test "${SANDCASTLE_DEBUG_SHELL:-no}" = yes; then
+ bash --init-file <(echo \
+ "echo 'Taler build failed, press enter to get the debug shell..'; read || exit $?"
+ ) -i
+ fi
+}
+trap start_debug_shell ERR
+
+source ~/util.sh
+
+echo -n Exporting the tags environment..
+set -a
+. tags.sh
+set +a
+echo DONE
+echo Exported tags:
+{ env | grep TAG_; } || echo NONE
+
+export LD_LIBRARY_PATH=$HOME/local
+
+num_processors=$(getconf _NPROCESSORS_ONLN)
+JFLAG="-j$num_processors"
+PREFIX=$HOME/local
+
+git clone --depth=1 git://git.gnunet.org/libmicrohttpd --branch ${TAG_LIBMHD:-master}
+git clone --depth=1 git://git.gnunet.org/gnunet --branch ${TAG_GNUNET:-master}
+git clone --depth=1 git://git.taler.net/exchange --branch ${TAG_EXCHANGE:-master}
+git clone --depth=1 git://git.taler.net/merchant --branch ${TAG_MERCHANT:-master}
+git clone --depth=1 git://git.taler.net/libeufin --branch ${TAG_LIBEUFIN:-master}
+git clone --depth=1 git://git.taler.net/taler-merchant-demos --branch ${TAG_MERCHANT_DEMOS:-master}
+git clone --depth=1 git://git.taler.net/wallet-core --branch ${TAG_WALLET:-master}
+git clone --depth=1 git://git.taler.net/sync --branch ${TAG_SYNC:-master}
+
+cd ~/libmicrohttpd
+./bootstrap
+./configure --disable-doc --prefix=$PREFIX
+make $JFLAG install
+
+cd ~/gnunet
+./bootstrap
+./configure --enable-logging=verbose --disable-documentation --prefix=$PREFIX --with-microhttpd=$PREFIX
+make $JFLAG install
+
+cd ~/exchange
+./bootstrap
+./configure CFLAGS="-ggdb -O0" --enable-logging=verbose --disable-doc --prefix=$PREFIX --with-gnunet=$PREFIX
+make $JFLAG install
+
+cd ~/merchant
+./bootstrap
+./configure CFLAGS="-ggdb -O0" --enable-logging=verbose --disable-doc --prefix=$PREFIX --with-gnunet=$PREFIX --with-exchange=$PREFIX
+make $JFLAG install
+
+cd ~/libeufin
+./bootstrap
+./configure --prefix=$PREFIX
+make install
+
+cd ~/taler-merchant-demos
+./bootstrap
+./configure --destination=local
+make install
+
+cd ~/sync
+./bootstrap
+./configure CFLAGS="-ggdb -O0" --enable-logging=verbose --disable-doc --prefix=$PREFIX --with-gnunet=$PREFIX --with-exchange=$PREFIX
+make $JFLAG install
+
+cd ~/wallet-core
+./bootstrap
+cd ~/wallet-core/packages/taler-wallet-cli
+./configure --prefix=$HOME/local
+make install
+cd ~/wallet-core/packages/taler-harness
+./configure --prefix=$HOME/local
+make install
+
+db_start
+createdb talercheck
+
+cd ~/exchange
+make check
+
+cd ~/merchant
+make check
+
+cd ~
+taler-harness run-integrationtests