-test_i18n_atof_SOURCES = test/i18n_atof.c
-test_i18n_atof_LDADD = libvlc.la
-test_i18n_atof_CFLAGS = $(CFLAGS_tests)
-
-test_url_SOURCES = test/url.c
-test_url_LDADD = libvlc.la
-test_url_CFLAGS = $(CFLAGS_tests)
-
-test_utf8_SOURCES = test/utf8.c
-test_utf8_LDADD = libvlc.la
-test_utf8_CFLAGS = $(CFLAGS_tests)
+dist_check_SCRIPTS = check_symbols check_headers
+TESTS = check_symbols
+
+check_DATA = libvlc-headers.sym libvlc-sorted.sym
+CLEANFILES += $(check_DATA)
+
+libvlc-sorted.sym: libvlccore.sym
+ rm -f libvlc-sorted.sym
+ sort -fdu < "$(srcdir)/libvlccore.sym" > libvlc-sorted.sym
+
+libvlc-headers.sym:
+ rm -f libvlc-headers.sym
+ cat ${srcdir}/../include/vlc_*.h ${srcdir}/control/*.h | \
+ sed -n -e 's/^[ ]*VLC_EXPORT[ ]*([^,]*,\([^,]*\),.*/\1/p' | \
+ sed -e 's/[^a-zA-Z0-9_]*//' | \
+ sort -fdu > libvlc-headers.sym
+
+.PHONY: libvlc-headers.sym
+
+check-local:
+ for h in `echo $(pkginclude_HEADERS) | sed -e s,\.\./include/,,g`; \
+ do \
+ echo grep - "#include <$$h>" $(srcdir)/test/headers.c ; \
+ if ! grep -- "#include <$$h>" $(srcdir)/test/headers.c ; \
+ then \
+ echo "Header $$h not included in test/headers.c!"; \
+ exit 1; \
+ fi ; \
+ done
+ $(srcdir)/check_headers $(pkginclude_HEADERS)
+ $(srcdir)/check_headers $(pluginsinclude_HEADERS)