We had this functionality back in Automake times, let's resurrect it.
############################################################
+meson_check_api_docs_sh = find_program('tools/meson-check-api-docs.sh')
+run_target(
+ 'check-api-docs',
+ depends : [man, libelogind, libudev],
+ command : [meson_check_api_docs_sh, libelogind.full_path(), libudev.full_path()])
+
+############################################################
+
status = [
'@0@ @1@'.format(meson.project_name(), meson.project_version()),
--- /dev/null
+#!/bin/sh
+
+set -eu
+
+for symbol in `nm -g --defined-only "$@" | grep " T " | cut -d" " -f3 | sort -u` ; do
+ if test -f ${MESON_BUILD_ROOT}/man/$symbol.3 ; then
+ echo "✓ Symbol $symbol() is documented."
+ else
+ printf " \x1b[1;31mSymbol $symbol() lacks documentation.\x1b[0m\n"
+ fi
+done