aboutsummaryrefslogtreecommitdiff
path: root/INSTALL
blob: 5d909f3a25698b55c40534f6e30e29dda3dd597b (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
128
129
130
131
132
133
134
135
136
137
138
139
140
141

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.24
Date:              2016-10-04


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

   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!