script/compare_cc_results.py: ignore all LIB*_WRAPPER_SO_PATH values
[vlendec/samba-autobuild/.git] / script / compare_cc_results.py
1 #!/usr/bin/env python
2
3 #
4 # Compare the results of native and cross-compiled configure tests
5 #
6
7 import sys
8 import difflib
9
10 exceptions = [
11     'BUILD_DIRECTORY', 'SELFTEST_PREFIX', 'defines',
12     'CROSS_COMPILE', 'CROSS_ANSWERS', 'CROSS_EXECUTE',
13     'LIBSOCKET_WRAPPER_SO_PATH',
14     'LIBNSS_WRAPPER_SO_PATH',
15     'LIBUID_WRAPPER_SO_PATH',
16     'LIBRESOLV_WRAPPER_SO_PATH',
17 ]
18
19 base_lines = list()
20 base_fname = ''
21
22 found_diff = False
23
24 for fname in sys.argv[1:]:
25     lines = list()
26     f = open(fname, 'r')
27     for line in f:
28         if len(line.split('=', 1)) == 2:
29             key = line.split('=', 1)[0].strip()
30             if key in exceptions:
31                 continue
32         lines.append(line)
33     f.close()
34     if base_fname:
35         diff = list(difflib.unified_diff(base_lines,lines,base_fname,fname))
36         if diff:
37             print 'configuration files %s and %s do not match' % (base_fname, fname)
38             for l in diff:
39                 sys.stdout.write(l)
40             found_diff = True
41     else:
42         base_fname = fname
43         base_lines = lines
44
45 if found_diff:
46     sys.exit(1)