#!/bin/sh
set -eux
: ${CLANG=10}
: ${MSAN_LIBDIR=/msan-libs}
: ${PARALLEL=$(nproc)}

cd gnutls28-*/
aclocal
automake --add-missing
./configure --with-included-libtasn1 --with-included-unistring \
	    --without-p11-kit --disable-hardware-acceleration -with-libnettle-prefix=/usr
make -j$PARALLEL
cd ..

cd nettle-*/
./configure --disable-assembler
make -j$PARALLEL
cd ..

cd libidn2-*/
./configure --enable-valgrind-tests=no
make -j$PARALLEL
cd ..

cd gmp-*/
./configure --disable-assembly
make -j$PARALLEL
cd ..

cd cracklib2-*/
./configure --with-default-dict=/usr/share/dict/cracklib-small
make -j$PARALLEL
make install
create-cracklib-dict /tmp/build/cracklib*/dicts/cracklib-small
cd ..

cp -aL llvm-toolchain-$CLANG-$CLANG*/libc++msan/lib/libc++.so* \
   gnutls28-*/lib/.libs/libgnutls.so* \
   nettle-*/.lib/lib*.so* \
   gmp-*/.libs/libgmp.so* \
   libidn2-*/lib/.libs/libidn2.so \
   cracklib2*/lib/.libs/*.so* \
   "$MSAN_LIBDIR"
