forked from lvc/abi-compliance-checker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
INSTALL
143 lines (87 loc) · 3.15 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
Copyright (C) 2009-2011 Institute for System Programming, RAS
Copyright (C) 2011-2012 Nokia Corporation and/or its subsidiary(-ies)
Copyright (C) 2012-2016 Andrey Ponomarenko's ABI Laboratory
All rights reserved.
RELEASE INFORMATION
Project: ABI Compliance Checker (ABICC)
Version: 2.0 Beta
Date: 2016-11-14
This file explains how to install and setup environment
for the tool in your computer.
Content:
1. Requirements for Linux and FreeBSD
2. Requirements for Mac OS X
3. Requirements for MS Windows
4. Configure and Install
5. Usage (with ABI Dumper)
6. Usage (Original)
1. REQUIREMENTS FOR LINUX AND FREEBSD
=====================================
1. G++ (3.0-4.7, 4.8.3, 4.9 or newer)
2. GNU Binutils (c++filt, readelf, objdump)
3. Perl 5
4. Ctags
5. ABI Dumper (0.99.15 or newer)
2. REQUIREMENTS FOR MAC OS X
============================
1. Xcode (g++, c++filt, otool, nm)
2. Perl 5
3. Ctags
2.1 Setup environment
1. If /usr/bin/g++ points to clang, then please
specify GCC path by the -gcc-path option
2. You can install GCC by the command:
brew install homebrew/versions/gcc49
And then specify its path:
abi-compliance-checker --gcc-path=/usr/local/bin/gcc-4.9 ...
3. REQUIREMENTS FOR MS WINDOWS
==============================
1. MinGW (3.0-4.7, 4.8.3, 4.9 or newer)
2. MS Visual C++ (dumpbin, undname, cl)
3. Active Perl 5 (5.8 or newer)
4. Sigcheck v1.71 or newer
5. Info-ZIP 3.0 (zip, unzip)
6. Ctags
3.1 Setup environment
1. Add tool locations to the PATH environment variable
2. Run vcvars64.bat script (C:\Microsoft Visual Studio 9.0\VC\bin\)
4. CONFIGURE AND INSTALL
========================
This command will install the abi-compliance-checker program into the
PREFIX/bin system directory and private modules into the PREFIX/share:
sudo make install prefix=PREFIX [/usr, /usr/local, ...]
4.1 Remove
sudo make uninstall prefix=PREFIX
5. USAGE (WITH ABI DUMPER)
==========================
Library should be compiled with -g -Og
options to contain DWARF debug info.
Create ABI dumps for both library versions
using the ABI Dumper tool (https://github.com/lvc/abi-dumper):
abi-dumper OLD.so -o ABI-0.dump -lver 0
abi-dumper NEW.so -o ABI-1.dump -lver 1
You can filter public ABI symbols with the help of
additional -public-headers option of the ABI Dumper tool.
Compare ABI dumps to create report:
abi-compliance-checker -l NAME -old ABI-0.dump -new ABI-1.dump
6. USAGE (ORIGINAL)
===================
Create XML-descriptors for two versions
of a library (OLD.xml and NEW.xml):
<version>
1.0
</version>
<headers>
/path1/to/header(s)/
/path2/to/header(s)/
...
</headers>
<libs>
/path1/to/library(ies)/
/path2/to/library(ies)/
...
</libs>
Check compatibility:
abi-compliance-checker -lib NAME -old OLD.xml -new NEW.xml
For advanced usage, see doc/index.html or -help option.
Enjoy!