diff options
-rw-r--r-- | Makefile.am.inc | 5 | ||||
-rw-r--r-- | abi-descriptor.template | 14 | ||||
-rw-r--r-- | epan/Makefile.am | 10 | ||||
-rw-r--r-- | wiretap/Makefile.am | 10 | ||||
-rw-r--r-- | wsutil/Makefile.am | 10 |
5 files changed, 49 insertions, 0 deletions
diff --git a/Makefile.am.inc b/Makefile.am.inc index 91ea02631a..9ed0ab2c87 100644 --- a/Makefile.am.inc +++ b/Makefile.am.inc @@ -26,3 +26,8 @@ .def.sym: $(AWK) '/^EXPORTS$$/ {next;}; ${def_sym_filter_symbols} /^[^;]/ { print $$1;}' < $< > $@ + +# abi-compliance-checker descriptor +INCLUDE_DIRS = $(subst -I,NEWLINE,$(filter -I%, $(CFLAGS))) +abi-descriptor.xml: ../abi-descriptor.template + sed "s|INCLUDE_DIRS|$(INCLUDE_DIRS)|g;s/NEWLINE/\n /g" $< > $@ diff --git a/abi-descriptor.template b/abi-descriptor.template new file mode 100644 index 0000000000..f52ef24f0f --- /dev/null +++ b/abi-descriptor.template @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<descriptor> +<version> + 0.0.0 +</version> +<headers> + {RELPATH}/abi-check-headers +</headers> +<libs> + {RELPATH}/.libs +</libs> +<include_paths>INCLUDE_DIRS +</include_paths> +</descriptor> diff --git a/epan/Makefile.am b/epan/Makefile.am index 8c909e2741..64bbd80918 100644 --- a/epan/Makefile.am +++ b/epan/Makefile.am @@ -303,5 +303,15 @@ if HAVE_DOXYGEN $(DOXYGEN) doxygen.cfg endif # HAVE_DOXYGEN +# ABI compliance checker can be obtained from +# http://ispras.linux-foundation.org/index.php/ABI_compliance_checker +# Checked using version 1.21.12 +dumpabi: all abi-descriptor.xml + mkdir abi-check-headers; cp *.h abi-check-headers/; \ + abi-compliance-checker -l libwireshark -v1 `ls .libs/libwireshark.so.?.?.?|sed 's/.*\.so\.//'` \ + -relpath $(abs_srcdir) -dump-abi abi-descriptor.xml && \ + cp -f abi_dumps/libwireshark/libwireshark_* .libs/; (cd .libs; ln -sf libwireshark_*.abi.tar.gz libwireshark.abi.tar.gz); \ + rm -r abi-check-headers abi_dumps + checkapi: $(PERL) ../tools/checkAPIs.pl -g termoutput $(LIBWIRESHARK_SRC) diff --git a/wiretap/Makefile.am b/wiretap/Makefile.am index 2f46c65fec..7642c5f0c4 100644 --- a/wiretap/Makefile.am +++ b/wiretap/Makefile.am @@ -86,6 +86,16 @@ ascend.c ascend.h: ascend.y fi $(YACC) -d -p ascend -o ascend.c $(srcdir)/ascend.y +# ABI compliance checker can be obtained from +# http://ispras.linux-foundation.org/index.php/ABI_compliance_checker +# Checked using version 1.21.12 +dumpabi: all abi-descriptor.xml + mkdir abi-check-headers; cp *.h abi-check-headers/; \ + abi-compliance-checker -l libwiretap -v1 `ls .libs/libwiretap.so.?.?.?|sed 's/.*\.so\.//'` \ + -relpath $(abs_srcdir) -dump-abi abi-descriptor.xml && \ + cp -f abi_dumps/libwiretap/libwiretap_* .libs/; (cd .libs; ln -sf libwiretap_*.abi.tar.gz libwiretap.abi.tar.gz); \ + rm -r abi-check-headers abi_dumps + checkapi: ## 'abort' checking disabled for now pending resolution of existing use of g_assert & g_error ## $(PERL) ../tools/checkAPIs.pl -g abort -g termoutput $(NONGENERATED_C_FILES) $(GENERATOR_FILES) diff --git a/wsutil/Makefile.am b/wsutil/Makefile.am index e6f25b8dc8..812cf7da30 100644 --- a/wsutil/Makefile.am +++ b/wsutil/Makefile.am @@ -131,6 +131,16 @@ CLEANFILES = \ MAINTAINERCLEANFILES = \ Makefile.in +# ABI compliance checker can be obtained from +# http://ispras.linux-foundation.org/index.php/ABI_compliance_checker +# Checked using version 1.21.12 +dumpabi: all abi-descriptor.xml + mkdir abi-check-headers; cp *.h abi-check-headers/; \ + abi-compliance-checker -l libwiretap -v1 `ls .libs/libwiretap.so.?.?.?|sed 's/.*\.so\.//'` \ + -relpath $(abs_srcdir) -dump-abi abi-descriptor.xml && \ + cp -f abi_dumps/libwiretap/libwiretap_* .libs/; (cd .libs; ln -sf libwiretap_*.abi.tar.gz libwiretap.abi.tar.gz); \ + rm -r abi-check-headers abi_dumps + checkapi: $(PERL) ../tools/checkAPIs.pl -g abort -g termoutput \ $(LIBWSUTIL_SRC) |