| |
| 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! |