From 51b13863a2d64fa7c8da8006c4d345e08f9986c2 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 20 Dec 2017 12:51:14 +0100 Subject: [PATCH] meson: resurrect API documentation target We had this functionality back in Automake times, let's resurrect it. --- meson.build | 8 ++++++++ tools/meson-check-api-docs.sh | 11 +++++++++++ 2 files changed, 19 insertions(+) create mode 100644 tools/meson-check-api-docs.sh diff --git a/meson.build b/meson.build index f95feee..924274d 100644 --- a/meson.build +++ b/meson.build @@ -2556,6 +2556,14 @@ endif ############################################################ +meson_check_api_docs_sh = find_program('tools/meson-check-api-docs.sh') +run_target( + 'check-api-docs', + depends : [man, libsystemd, libudev], + command : [meson_check_api_docs_sh, libsystemd.full_path(), libudev.full_path()]) + +############################################################ + status = [ '@0@ @1@'.format(meson.project_name(), meson.project_version()), diff --git a/tools/meson-check-api-docs.sh b/tools/meson-check-api-docs.sh new file mode 100644 index 0000000..5bc808c --- /dev/null +++ b/tools/meson-check-api-docs.sh @@ -0,0 +1,11 @@ +#!/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 -- 2.7.4