#!/bin/bash
set -ueo pipefail
set -x

flavor="${1:-}"
if [ -z "$flavor" ]; then
  exit
fi

destdir="${2:-}"
if [ -z "$destdir" ]; then
  destdir="$(readlink -f "debian/build-$flavor/tmpinst/")"
fi
if ! [ -d "$destdir" ]; then
  echo "destdir '$destdir' does not exist!" >&2
  exit 1
fi

eval $(dpkg-architecture --print-set)
includedir="$destdir/usr/include/hdf5/$flavor"
libdir="$destdir/usr/lib/$DEB_HOST_MULTIARCH"
bindir="$destdir/usr/bin"
flavordir="$libdir/hdf5/$flavor"

mkdir -p "$flavordir"

ln -s "$(realpath --relative-to="$flavordir" "$includedir")" "$flavordir/include"
ln -s "." "$flavordir/lib"

mv "$libdir"/libhdf5.settings "$libdir"/libhdf5_$flavor.settings

for file in $(ls "$libdir"/libhdf5*.{a,so,settings}); do
  filename="${file##*/}"
  [[ "$filename" =~ ^libhdf5_$flavor(.*)$ ]] || continue
  ln -s "../../$filename" "$flavordir/libhdf5${BASH_REMATCH[1]}"
done

if [ "$flavor" != serial ]; then
  mv "$bindir"/h5pcc{,.$flavor}
  mv "$bindir"/h5pfc{,.$flavor}
  mv "$bindir"/h5c++{,.$flavor}
fi

mv "$libdir"/pkgconfig "$flavordir/"
