blob: 47d7125cebf2a0c1e30a49c0040b3f7db58f3b5e [file] [log] [blame]
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.25
Date: 2016-10-07
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!