1/*! 2 3\mainpage The ABI Generic Analysis and Instrumentation Library 4 5\tableofcontents 6 7\section presentation Presentation 8 9This project aims at providing a C++ library for constructing, 10manipulating, serializing and de-serializing ABI-relevant artifacts. 11The set of artifacts that we are interested in is made of 12constructions like types, variables, functions and declarations of a 13given library or program. For a given program or library, this set of 14constructions is called an ABI corpus. 15 16Thus the project aims at providing a library to manipulate ABI 17corpora, compare them, provide detailed information about their 18differences and help build tools to infer interesting conclusions 19about these differences. 20 21\section documentation Documentation 22 23The documentations of the libabigail tools is available online <a 24href="http://sourceware.org/libabigail/manual">here</a>. 25 26The html documentation of the API of the library itself is available 27online <a href="http://sourceware.org/libabigail/apidoc">here</a>. 28 29\section communication IRC and Mailing lists 30 31To hang out with libabigail developers and users, you can chat with us 32via <a href="http://en.wikipedia.org/wiki/Wikipedia:IRC">IRC</a> at 33<em>irc://irc.oftc.net\#libabigail</em>. 34 35To send us patches or just drop by to say Hi, please send an email to 36our mailing list at the address 'libabigail <at> sourceware <dot> 37org'. The archives of the mailing list can be read <a 38href="https://sourceware.org/ml/libabigail">online</a>. To send us an 39email, you first need to register to the mailing list by feeling 40<a href="https://sourceware.org/mailman/listinfo/libabigail">this 41form</a>. 42 43\section bugs Bug reports 44 45Bug reports are to be filed into our <a 46href="http://sourceware.org/bugzilla/enter_bug.cgi?product=libabigail">Bugzilla 47database</a>. 48 49\section license License 50 51The source code of the library is under the <a href="https://spdx.org/licenses/Apache-2.0.html">Apache version 2 license</a> with the <a href="https://spdx.org/licenses/LLVM-exception.html">LLVM exception</a>. 52 53\section source Getting the source code 54 55You can download compressed tarballs containing the source code of 56Libabigail at http://mirrors.kernel.org/sourceware/libabigail. The 57latest released version of is source code is 58http://mirrors.kernel.org/sourceware/libabigail/libabigail-2.1.tar.gz. 59 60You can also get the source code in a read-only manner from our <a 61href="http://sourceware.org/git/gitweb.cgi?p=libabigail.git">Git 62repository</a> by doing: 63 64\code 65 git clone git://sourceware.org/git/libabigail.git 66\endcode 67 68If you have write access on sourceware.org, you can check the source 69out in read-write by doing: 70 71\code 72 git clone ssh://sourceware.org/git/libabigail.git 73\endcode 74 75\section compile Compiling the source code 76 77To compile libabigail, you first need to install its dependencies. At 78the moment the dependencies are the following Free Software packages: 79 80 \li <a href="http://www.gnu.org/software/autoconf/">autoconf</a> 81 \li <a href="http://www.gnu.org/software/automake/">automake</a> 82 \li <a href="http://www.gnu.org/software/libtool/">libtool</a> 83 \li <a href="http://www.freedesktop.org/wiki/Software/pkg-config/">pkg-config</a> 84 \li <a href="http://www.xmlsoft.org">libxml2</a> 85 \li <a href="https://fedorahosted.org/elfutils/">elfutils</a> 86 \li <a href="http://www.stack.nl/~dimitri/doxygen/download.html">doxygen</a> 87 \li <a href="http://www.sphinx-doc.org/en/stable/">python-sphinx</a> 88 89\subsection compile-from-tarball Compiling the code from the tarball 90 91Once you've downloaded the tarball, please extract its content to a 92directory of your choice. To extract the tarball on GNU/Linux, please 93type: 94 95\code 96 tar -xvf libabigail-<version>.tar.gz 97\endcode 98 99This should create a directory <em>libabigail-<version></em>. 100 101Then go to that directory and run the commands: 102 103\code 104 mkdir build 105 cd build 106 ../configure --prefix=/where/you/want/to/install/libabigail 107 make all install 108\endcode 109 110Make sure the directory <em>/where/you/want/to/install/libabigail</em> 111exists and is writeable by you. 112 113The commands above should have built libabigail and its associated 114tools, and installed them under 115<em>/where/you/want/to/install/libabigail</em>. Note that built 116objects are under the <em>build</em> sub-directory of the source tree 117of Libabigail which you extracted from the tarball. 118 119\subsection compile-from-git Compiling the code retrieved via the source code repository 120 121Go to your local libabigail.git directory where the source code 122you've checked out lies and create a 'build' directory that will 123receive the binaries resulting from the compilation: 124 125\code 126 cd libabigail 127 mkdir build 128\endcode 129 130Generate the relevant build-system-related information needed to 131configure the package for compilation, by typing: 132 133\code 134 autoreconf -i 135\endcode 136 137Then configure the package: 138 139\code 140 cd build 141 ../configure --prefix=<absolute-path-of-where-you-want-the-binaries-to-be-installed> 142\endcode 143 144Then build the package 145 146\code 147 make 148\endcode 149 150And then install its resulting binaries and documentation: 151 152\code 153 make install 154\endcode 155 156 157*/ 158