aboutsummaryrefslogtreecommitdiff
path: root/INSTALL
blob: 7adf40c812ed90d1cf200309af58cd83f8c64319 (plain)
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

Copyright (C) 2009-2011 Institute for System Programming, RAS
Copyright (C) 2011-2012 Nokia Corporation and/or its subsidiary(-ies)
Copyright (C) 2011-2012 ROSA Laboratory
Copyright (C) 2012-2016 Andrey Ponomarenko's ABI Laboratory
All rights reserved.


RELEASE INFORMATION

Project:           ABI Compliance Checker (ABICC)
Version:           1.99.18
Date:              2016-04-03


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 (5.8 or newer)
   4. Ctags (5.8 or newer)
   5. ABI Dumper (0.99.15 or newer)



2. REQUIREMENTS FOR MAC OS X
============================

   1. Xcode (g++, c++filt, otool, nm)
   2. Ctags (5.8 or newer)



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 (5.8 or newer)

3.1 Setup environment

   1. Add tool locations to the PATH environment variable
   2. Run vsvars32.bat script (C:\Microsoft Visual Studio 9.0\Common7\Tools\)



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

   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!