Libabigail Home
The ABI Generic Analysis & Instrumentation Library
 All Pages
Home page of the ABI Generic Analysis and Instrumentation Library
Introduction

This project aims at providing a C++ library for constructing, manipulating, serializing and de-serializing ABI-relevant artifacts. The set of artifacts that we are interested in is made of constructions like types, variables, functions and declarations of a given library or program. For a given program or library, this set of constructions is called an ABI corpus.

Thus the project aims at providing a library to manipulate ABI corpuses, compare them, provide detailed information about their differences and help build tools to infer interesting conclusions about these differences.

Documentation

The source code repository of the project contains various tools written using the library. Their documentation is available online here.

The html documentation of the library itself is available online here.

Getting the source code

This project is still in an early stage; we haven't released any official tarball yet. You can get the source code in a read-only manner from our Git repository by doing:

git clone git://sourceware.org/git/libabigail.git

If you have write access on sourceware.org, you can check the source out in read-write by doing:

git clone ssh://sourceware.org/git/libabigail.git
Compiling

To compile libabigail, you first need to install its dependencies. At the moment the dependencies are the following Free Software packages:

Then go to your local libabigail.git directory where the source code you've checked out lies and create a 'build' directory that will receive the binaries resulting from the compilation:

cd libabigail
mkdir build

Generate the relevant build-system-related information needed to configure the package for compilation, by typing:

autoreconf -i

Then configure the package:

cd build
../configure --prefix=<absolute-path-of-where-you-want-the-binaries-to-be-installed>

Then build the package

make

And then install its resulting binaries and documentation:

make install
Contribute and file bug reports

To send us patches or just drop by to say hi, feel free to send an email to our mailing list libab.nosp@m.igai.nosp@m.l@sou.nosp@m.rcew.nosp@m.are.o.nosp@m.rg.

Bug reports are to be filed into our Bugzilla database.

License

The source code of the library is under LGPL version 3 or later.