Home | History | Annotate | Download | only in abi-compliance-checker
      1 
      2 Copyright (C) 2009-2011 Institute for System Programming, RAS
      3 Copyright (C) 2011-2012 Nokia Corporation and/or its subsidiary(-ies)
      4 Copyright (C) 2011-2012 ROSA Laboratory
      5 Copyright (C) 2012-2016 Andrey Ponomarenko's ABI Laboratory
      6 All rights reserved.
      7 
      8 
      9 RELEASE INFORMATION
     10 
     11 Project:           ABI Compliance Checker (ABICC)
     12 Version:           1.99.25
     13 Date:              2016-10-07
     14 
     15 
     16 This file explains how to install and setup environment
     17 for the tool in your computer.
     18 
     19 
     20 Content:
     21 
     22    1. Requirements for Linux and FreeBSD
     23    2. Requirements for Mac OS X
     24    3. Requirements for MS Windows
     25    4. Configure and Install
     26    5. Usage (with ABI Dumper)
     27    6. Usage (Original)
     28 
     29 
     30 1. REQUIREMENTS FOR LINUX AND FREEBSD
     31 =====================================
     32 
     33    1. G++ (3.0-4.7, 4.8.3, 4.9 or newer)
     34    2. GNU Binutils (c++filt, readelf, objdump)
     35    3. Perl 5
     36    4. Ctags
     37    5. ABI Dumper (0.99.15 or newer)
     38 
     39 
     40 
     41 2. REQUIREMENTS FOR MAC OS X
     42 ============================
     43 
     44    1. Xcode (g++, c++filt, otool, nm)
     45    2. Perl 5
     46    3. Ctags
     47 
     48 2.1 Setup environment
     49 
     50    1. If /usr/bin/g++ points to clang, then please
     51       specify GCC path by the -gcc-path option
     52    
     53    2. You can install GCC by the command:
     54         
     55         brew install homebrew/versions/gcc49
     56       
     57       And then specify its path:
     58       
     59         abi-compliance-checker --gcc-path=/usr/local/bin/gcc-4.9 ...
     60 
     61 
     62 
     63 3. REQUIREMENTS FOR MS WINDOWS
     64 ==============================
     65 
     66    1. MinGW (3.0-4.7, 4.8.3, 4.9 or newer)
     67    2. MS Visual C++ (dumpbin, undname, cl)
     68    3. Active Perl 5 (5.8 or newer)
     69    4. Sigcheck v1.71 or newer
     70    5. Info-ZIP 3.0 (zip, unzip)
     71    6. Ctags
     72 
     73 3.1 Setup environment
     74 
     75    1. Add tool locations to the PATH environment variable
     76    2. Run vcvars64.bat script (C:\Microsoft Visual Studio 9.0\VC\bin\)
     77 
     78 
     79 
     80 4. CONFIGURE AND INSTALL
     81 ========================
     82 
     83    This command will install the abi-compliance-checker program into the
     84    PREFIX/bin system directory and private modules into the PREFIX/share:
     85 
     86      sudo make install prefix=PREFIX [/usr, /usr/local, ...]
     87 
     88 4.1 Remove
     89 
     90      sudo make uninstall prefix=PREFIX
     91 
     92 
     93 
     94 5. USAGE (WITH ABI DUMPER)
     95 ==========================
     96 
     97    Library should be compiled with -g -Og
     98    options to contain DWARF debug info.
     99 
    100    Create ABI dumps for both library versions
    101    using the ABI Dumper tool (https://github.com/lvc/abi-dumper):
    102 
    103      abi-dumper OLD.so -o ABI-0.dump -lver 0
    104      abi-dumper NEW.so -o ABI-1.dump -lver 1
    105 
    106    Compare ABI dumps to create report:
    107 
    108      abi-compliance-checker -l NAME -old ABI-0.dump -new ABI-1.dump
    109 
    110 
    111 
    112 6. USAGE (ORIGINAL)
    113 ===================
    114 
    115    Create XML-descriptors for two versions
    116    of a library (OLD.xml and NEW.xml):
    117 
    118         <version>
    119             1.0
    120         </version>
    121 
    122         <headers>
    123             /path1/to/header(s)/
    124             /path2/to/header(s)/
    125                 ...
    126         </headers>
    127 
    128         <libs>
    129             /path1/to/library(ies)/
    130             /path2/to/library(ies)/
    131                 ...
    132         </libs>
    133 
    134    Check compatibility:
    135    
    136      abi-compliance-checker -lib NAME -old OLD.xml -new NEW.xml
    137    
    138    For advanced usage, see doc/index.html or -help option.
    139 
    140 
    141 Enjoy!
    142