blob: 2030d6a8f8adfbaf69dde8219ef58911440edc1e [file] [log] [blame]
/*!
\mainpage The ABI Generic Analysis and Instrumentation Library
\tableofcontents
\section presentation Presentation
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
corpora, compare them, provide detailed information about their
differences and help build tools to infer interesting conclusions
about these differences.
\section documentation Documentation
The documentations of the libabigail tools is available online <a
href="http://sourceware.org/libabigail/manual">here</a>.
The html documentation of the API of the library itself is available
online <a href="http://sourceware.org/libabigail/apidoc">here</a>.
\section communication IRC and Mailing lists
To hang out with libabigail developers and users, you can chat with us
via <a href="http://en.wikipedia.org/wiki/Wikipedia:IRC">IRC</a> at
<em>irc://irc.oftc.net\#libabigail</em>.
To send us patches or just drop by to say Hi, please send an email to
our mailing list at the address 'libabigail <at> sourceware <dot>
org'. The archives of the mailing list can be read <a
href="https://sourceware.org/ml/libabigail">online</a>. To send us an
email, you first need to register to the mailing list by feeling
<a href="https://sourceware.org/mailman/listinfo/libabigail">this
form</a>.
\section bugs Bug reports
Bug reports are to be filed into our <a
href="http://sourceware.org/bugzilla/enter_bug.cgi?product=libabigail">Bugzilla
database</a>.
\section license License
The source code of the library is under <a href="http://www.gnu.org/licenses/lgpl.html"> LGPL version 3</a> or later.
\section source Getting the source code
You can download compressed tarballs containing the source code of
Libabigail at http://mirrors.kernel.org/sourceware/libabigail. The
latest released version of is source code is
http://mirrors.kernel.org/sourceware/libabigail/libabigail-1.7.tar.gz.
You can also get the source code in a read-only manner from our <a
href="http://sourceware.org/git/gitweb.cgi?p=libabigail.git">Git
repository</a> by doing:
\code
git clone git://sourceware.org/git/libabigail.git
\endcode
If you have write access on sourceware.org, you can check the source
out in read-write by doing:
\code
git clone ssh://sourceware.org/git/libabigail.git
\endcode
\section compile Compiling the source code
To compile libabigail, you first need to install its dependencies. At
the moment the dependencies are the following Free Software packages:
\li <a href="http://www.gnu.org/software/autoconf/">autoconf</a>
\li <a href="http://www.gnu.org/software/automake/">automake</a>
\li <a href="http://www.gnu.org/software/libtool/">libtool</a>
\li <a href="http://www.freedesktop.org/wiki/Software/pkg-config/">pkg-config</a>
\li <a href="http://www.xmlsoft.org">libxml2</a>
\li <a href="https://fedorahosted.org/elfutils/">elfutils</a>
\li <a href="http://www.stack.nl/~dimitri/doxygen/download.html">doxygen</a>
\li <a href="http://www.sphinx-doc.org/en/stable/">python-sphinx</a>
\subsection compile-from-tarball Compiling the code from the tarball
Once you've downloaded the tarball, please extract its content to a
directory of your choice. To extract the tarball on GNU/Linux, please
type:
\code
tar -xvf libabigail-<version>.tar.gz
\endcode
This should create a directory <em>libabigail-<version></em>.
Then go to that directory and run the commands:
\code
mkdir build
cd build
../configure --prefix=/where/you/want/to/install/libabigail
make all install
\endcode
Make sure the directory <em>/where/you/want/to/install/libabigail</em>
exists and is writeable by you.
The commands above should have built libabigail and its associated
tools, and installed them under
<em>/where/you/want/to/install/libabigail</em>. Note that built
objects are under the <em>build</em> sub-directory of the source tree
of Libabigail which you extracted from the tarball.
\subsection compile-from-git Compiling the code retrieved via the source code repository
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:
\code
cd libabigail
mkdir build
\endcode
Generate the relevant build-system-related information needed to
configure the package for compilation, by typing:
\code
autoreconf -i
\endcode
Then configure the package:
\code
cd build
../configure --prefix=<absolute-path-of-where-you-want-the-binaries-to-be-installed>
\endcode
Then build the package
\code
make
\endcode
And then install its resulting binaries and documentation:
\code
make install
\endcode
*/