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.sh95
1 files changed, 56 insertions, 39 deletions
diff --git a/docker/compile-and-check/base/compile_and_check.sh b/docker/compile-and-check/base/compile_and_check.sh
index f12f1e9..59e16cb 100755
--- a/docker/compile-and-check/base/compile_and_check.sh
+++ b/docker/compile-and-check/base/compile_and_check.sh
@@ -1,6 +1,7 @@
#!/bin/bash
set -eu
+set -x
start_debug_shell () {
if test "${SANDCASTLE_DEBUG_SHELL:-no}" = yes; then
@@ -10,6 +11,9 @@ start_debug_shell () {
fi
}
trap start_debug_shell ERR
+
+source ~/util.sh
+
echo -n Exporting the tags environment..
set -a
. tags.sh
@@ -18,60 +22,73 @@ 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}
+export LD_LIBRARY_PATH=$HOME/local
+
+num_processors=$(getconf _NPROCESSORS_ONLN)
+JFLAG="-j$num_processors"
+PREFIX=$HOME/local
-cd /libmicrohttpd
+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
-make install
+./configure --disable-doc --prefix=$PREFIX
+make $JFLAG install
-cd /gnunet
+cd ~/gnunet
./bootstrap
-./configure --enable-logging=verbose --disable-documentation
-make install
+./configure --enable-logging=verbose --disable-documentation --prefix=$PREFIX --with-microhttpd=$PREFIX
+make $JFLAG 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
+cd ~/exchange
./bootstrap
-./configure CFLAGS="-ggdb -O0" --enable-logging=verbose --disable-doc
-make install
-make check
+./configure CFLAGS="-ggdb -O0" --enable-logging=verbose --disable-doc --prefix=$PREFIX --with-gnunet=$PREFIX
+make $JFLAG install
-cd /merchant
+cd ~/merchant
./bootstrap
-./configure CFLAGS="-ggdb -O0" --enable-logging=verbose --disable-doc
-make install
-make check
+./configure CFLAGS="-ggdb -O0" --enable-logging=verbose --disable-doc --prefix=$PREFIX --with-gnunet=$PREFIX --with-exchange=$PREFIX
+make $JFLAG install
-cd /libeufin
+cd ~/libeufin
./bootstrap
-./configure
+./configure --prefix=$PREFIX
make install
-cd /taler-merchant-demos
+cd ~/taler-merchant-demos
./bootstrap
-./configure
+./configure --destination=local
make install
-cd /sync
+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
-./configure CFLAGS="-ggdb -O0" --enable-logging=verbose --disable-doc
+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