##### Control part variables
LLVM_SUFFIX="-${PKGVER%%.*}"

abinfo "Generating postinst scripts ..."
printf 'update-alternatives --install /usr/bin/llvm-config llvm /usr/lib/llvm%s/bin/llvm-config 80' \
    "$LLVM_SUFFIX" \
    >> "$SRCDIR/autobuild/postinst"
for i in "$PKGDIR"/usr/lib/llvm${LLVM_SUFFIX}/bin/*; do
    BIN="$(basename $i)"
    [[ "$BIN" == 'llvm-config' || "$BIN" == "clang$LLVM_SUFFIX" ]] || \
        printf " --slave /usr/bin/$BIN $BIN /usr/lib/llvm%s/bin/$BIN" \
            "$LLVM_SUFFIX" \
            >> "$SRCDIR/autobuild/postinst"
done

for i in "$PKGDIR"/usr/lib/llvm${LLVM_SUFFIX}/lib/cmake/*; do
    BIN="$(basename $i)"
    printf " --slave /usr/lib/cmake/$BIN ${BIN}-cmake /usr/lib/llvm%s/lib/cmake/$BIN" \
        "$LLVM_SUFFIX" \
        >> "$SRCDIR/autobuild/postinst"
done

for i in "$PKGDIR"/usr/lib/llvm${LLVM_SUFFIX}/include/*; do
    ! [[ "$i" =~ .*unwind.* ]] || continue
    ! [[ "$i" =~ .*clc ]] || continue
    ! [[ "$i" =~ .*c\+\+ ]] || continue
    BIN="$(basename $i)"
    printf " --slave /usr/include/$BIN ${BIN}-include /usr/lib/llvm%s/include/$BIN" \
        "$LLVM_SUFFIX" \
        >> "$SRCDIR/autobuild/postinst"
done

for i in "$PKGDIR"/usr/lib/llvm${LLVM_SUFFIX}/lib/libomp*; do
    OMP_LIB="$(basename $i)"
    printf " --slave /usr/lib/$OMP_LIB $OMP_LIB /usr/lib/llvm%s/lib/$OMP_LIB" \
        "$LLVM_SUFFIX" \
        >> "$SRCDIR/autobuild/postinst"
done

cat << EOF > "$SRCDIR/autobuild/postrm"
if [ "\$1" != "upgrade" ]; then
    update-alternatives --remove llvm /usr/lib/llvm${LLVM_SUFFIX}/bin/llvm-config || true
fi
EOF

abinfo "Final postinst script:"
cat "$SRCDIR/autobuild/postinst"
