141 lines
3.1 KiB
Text
141 lines
3.1 KiB
Text
|
|
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!
|