From 9070a9c1030c65bc181f1d00e7226167508059c4 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 8 Nov 2013 16:52:42 +0100 Subject: [PATCH] build-sys: add make check-api-unused --- Makefile.am | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Makefile.am b/Makefile.am index 53685c11c..a67f18b77 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4578,3 +4578,23 @@ check-api-docs: $(lib_LTLIBRARIES) man echo "‣ Symbol $$symbol() lacks documentation." ; \ fi ; \ done + +OBJECT_VARIABLES:=$(filter %_OBJECTS,$(.VARIABLES)) +ALL_OBJECTS:=$(foreach v,$(OBJECT_VARIABLES),$($(v))) + +defined: $(ALL_OBJECTS) + $(AM_V_GEN)for f in $(ALL_OBJECTS) ; do \ + nm -g --undefined-only `echo $(builddir)/"$$f" | sed -e 's,\([^/]*\).lo$$,.libs/\1.o,'` ; \ + done | cut -c 20- | cut -d @ -f 1 | sort -u > $(builddir)/undefined + +undefined: + $(AM_V_GEN)for f in $(ALL_OBJECTS) ; do \ + nm -g --defined-only `echo $(builddir)/"$$f" | sed -e 's,\([^/]*\).lo$$,.libs/\1.o,'` ; \ + done | cut -c 20- | cut -d @ -f 1 | sort -u > $(builddir)/defined + +CLEANFILES += \ + defined \ + undefined + +check-api-unused: defined undefined + diff -u undefined defined | grep ^+ | grep -v ^+++ | cut -c2- -- 2.30.2