diff --git a/Makefile b/Makefile index abaacd38e13771c0c5a26e90e3c73f8bf1bb4bcb..4967f3393cd190f59feedc0829cef0c03ea2a9aa 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,7 @@ all clean install: $(MAKE) -C tests $@ $(MAKE) -C tools $@ $(MAKE) -C cmake $@ + $(MAKE) -C aac $@ check: all $(MAKE) -C tests check diff --git a/aac/Makefile b/aac/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..b5b0a718766a12e681941e9539ec757cafdbb8b6 --- /dev/null +++ b/aac/Makefile @@ -0,0 +1,18 @@ +INSTALL ?= install +PREFIX ?= /usr +aacdir = $(PREFIX)/share/apertis-abi-compare/ +AAC_CONFDIR ?= $(DESTDIR)$(aacdir) + +AAC_CONF = \ + aac-skip-headers.conf + +all: + +clean: + +install: + $(INSTALL) -d $(AAC_CONFDIR) + for t in $(AAC_CONF); \ + do \ + $(INSTALL) $$t $(AAC_CONFDIR); \ + done diff --git a/aac/aac-skip-headers.conf b/aac/aac-skip-headers.conf new file mode 100644 index 0000000000000000000000000000000000000000..4eae35c38776f7ebbd1d22bac031d6715721ab97 --- /dev/null +++ b/aac/aac-skip-headers.conf @@ -0,0 +1,4 @@ +stdio.h +stdlib.h +string.h +ctype.h diff --git a/debian/apertis-dev-tools.install b/debian/apertis-dev-tools.install index 4c311157a60eaf260a17c97c303ea1f4083e8f49..a11a4323a3426f11d71e11a73b414976ec2fd56e 100644 --- a/debian/apertis-dev-tools.install +++ b/debian/apertis-dev-tools.install @@ -2,3 +2,4 @@ usr/bin/ usr/share/man etc/xdg/ade/sysroot.conf usr/lib/cmake/ +usr/share/apertis-abi-compare/ diff --git a/tools/apertis-abi-compare b/tools/apertis-abi-compare index e8bd12a44f30e15e8956cf3a8880bbc0cdbc74b8..f0790ad787ef27b938d0e81cfc5b5ebf75462244 100755 --- a/tools/apertis-abi-compare +++ b/tools/apertis-abi-compare @@ -166,6 +166,11 @@ def run_abi_checker(lib, xml_old, ver_old, xml_new, ver_new, arch): acc_cmd.extend(['--arch', arch, '-lib', lib, '-old', xml_old, '-v1', ver_old, '-new', xml_new, '-v2', ver_new]) + # Due to a bug in abi-compliance-checker, std headers are sporadically + # used for analyzing leading to wrongly detect an ABI breakage. + # We globally exclude them to avoid this noise until it is fixed in ACC. + # https://github.com/lvc/abi-compliance-checker/issues/85 + acc_cmd.extend(['--skip-headers=/usr/share/apertis-abi-compare/aac-skip-headers.conf']) acc_process = subprocess.run(acc_cmd) sys.stdout.flush()