Commit dcc1e701 authored by Sandro Knauß's avatar Sandro Knauß Committed by Ben Cooksley

The ABI Compatibility Checker tool (abi-compliance-checker) doesn't skip...

The ABI Compatibility Checker tool (abi-compliance-checker) doesn't skip includes from sub-directories - just named directories.
To resolve this, and ensure Clang directories are ignored in full, use glob patterns to ensure every path with Clang includes is excluded from our checks.

Differential Revision: https://phabricator.kde.org/D21168
parent 64d63089
Pipeline #3496 skipped with stage
#!/usr/bin/python3
import argparse
import glob
import itertools
import logging
import os
import pathlib
......@@ -20,19 +22,19 @@ logging.getLogger("paramiko.transport").setLevel(logging.WARNING)
ACCXMLTMPL = """<version>{version}</version>
<headers>
{headers}
{headers}
</headers>
<libs>
{libs}
{libs}
</libs>
<skip_include_paths>
{skipIncludePaths}
{skipIncludePaths}
</skip_include_paths>
<add_include_paths>
{additionalIncludes}
{additionalIncludes}
</add_include_paths>
<gcc_options>
{gccOptions}
{gccOptions}
</gcc_options>
"""
......@@ -234,7 +236,7 @@ class Library:
version = self.version
headers = set() # type: Set[str]
libs = set() # type: Set[str]
skipIncludePaths = set(self.accSettings['skip_include_paths']) # type: Set[str]
skipIncludePaths = set(itertools.chain.from_iterable(glob.glob(i) for i in self.accSettings['skip_include_paths'])) # type: Set[str]
additionalIncludes = set(self.accSettings['add_include_paths']) # type: Set[str]
gccOptions = set(self.accSettings['gcc_options']) # type: Set[str]
......
......@@ -19,7 +19,7 @@
skip_include_paths:
- /usr/lib/python3.6/site-packages/utils/fake_libc_include
- /usr/include/clang/AST
- /usr/lib64/clang
- /usr/lib64/clang/*/include
add_include_paths:
- /usr/lib64/qt5/mkspecs/linux-g++
createABIDumpFailHard: False
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment