• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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