aboutsummaryrefslogtreecommitdiff
path: root/INSTALL
blob: 58f5d494c3359b0f37239b38d60bef98bcf3578b (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

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-2015 Andrey Ponomarenko's ABI Laboratory
All rights reserved.


RELEASE INFORMATION

Project:           ABI Compliance Checker (ACC)
Version:           1.99.14
Date:              2015-11-01


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. Configuring and Installing
   5. Running the Tool
   6. Usage with ABI Dumper


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)



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. CONFIGURING AND INSTALLING
=============================

   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. RUNNING THE TOOL
===================

   1. 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>

   2. abi-compliance-checker -lib NAME -old OLD.xml -new NEW.xml
   3. For advanced usage, see doc/Readme.html or --help option



6. USAGE WITH ABI DUMPER
========================

   1. Library should be compiled with -g
      option to contain DWARF debug info
      
   2. 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
        
   3. Compare ABI dumps:
   
        abi-compliance-checker -l NAME -old ABI-0.dump -new ABI-1.dump


Enjoy!