add symbol version check target

This commit is contained in:
Bjarne von Horn 2024-02-02 11:52:09 +01:00
parent 71f8041248
commit a297dd7fae
2 changed files with 15 additions and 0 deletions

View File

@ -18,6 +18,7 @@ build:
- ./bootstrap
- ./configure --with-linux-dir=/usr/src/linux-obj/$(uname -i)/default --enable-tty --with-devices=2 --enable-ccat
- make -j8 all modules
- make -C lib symbol-version-check
- make DISTCHECK_CONFIGURE_FLAGS="--with-linux-dir=/usr/src/linux-obj/$(uname -i)/default" distcheck
- make dist
- mkdir test_dist && cd test_dist && tar xzf ../ethercat-*.tar.gz && cd ethercat-*/

View File

@ -114,3 +114,17 @@ endif
ethercat-config.cmake: $(srcdir)/ethercat-config.cmake.in Makefile
$(SED) -e 's,%libdir%,$(libdir),' -e 's,%includedir%,$(includedir),' $< > $@
#-----------------------------------------------------------------------------
.PHONY: symbol-version-check
# check whether all symbols marked with EC_PUBLIC_API are listed in
# libethercat.map
symbol-version-check: libethercat.la
readelf --dyn-syms --wide $(builddir)/.libs/libethercat.so | \
awk '$$4 == "FUNC" && $$7 != "UND" && $$8 !~ /@LIBETHERCAT/ { print "Unversioned symbol: " $$8; err = 1; } END { exit err; }'
#-----------------------------------------------------------------------------