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