#!/bin/sh set -eu sd_good=0 sd_total=0 udev_good=0 udev_total=0 deprecated=" -e sd_bus_try_close -e sd_bus_process_priority -e sd_bus_message_get_priority -e sd_bus_message_set_priority -e sd_seat_can_multi_session -e sd_journal_open_container " for symbol in `nm -g --defined-only "$@" | grep " T " | cut -d" " -f3 | grep -wv $deprecated | sort -u` ; do if test -f ${MESON_BUILD_ROOT}/man/$symbol.3 ; then echo "✓ Symbol $symbol() is documented." good=1 else printf " \x1b[1;31mSymbol $symbol() lacks documentation.\x1b[0m\n" good=0 fi case $symbol in sd_*) ((sd_good+=good)) ((sd_total+=1)) ;; udev_*) ((udev_good+=good)) ((udev_total+=1)) ;; *) echo 'unknown symbol prefix' exit 1 esac done echo "libsystemd: $sd_good/$sd_total libudev: $udev_good/$udev_total"