1e01aa904Sopenharmony_ciTo compile libabigail, you first need to install its dependencies. At 2e01aa904Sopenharmony_cithe moment the dependencies are the following Free Software packages: 3e01aa904Sopenharmony_ci 4e01aa904Sopenharmony_ci elfutils 5e01aa904Sopenharmony_ci libtool 6e01aa904Sopenharmony_ci libxml2 7e01aa904Sopenharmony_ci 8e01aa904Sopenharmony_ciIf you are building from the Git repository, then you'd also need the 9e01aa904Sopenharmony_cifollowing packages: 10e01aa904Sopenharmony_ci 11e01aa904Sopenharmony_ci autoconf 12e01aa904Sopenharmony_ci automake 13e01aa904Sopenharmony_ci pkg-config 14e01aa904Sopenharmony_ci 15e01aa904Sopenharmony_ciIf you want to build the documentation of libabigail, then you also 16e01aa904Sopenharmony_cineed these packages (and their dependencies): 17e01aa904Sopenharmony_ci 18e01aa904Sopenharmony_ci doxygen 19e01aa904Sopenharmony_ci python-sphinx 20e01aa904Sopenharmony_ci 21e01aa904Sopenharmony_ciNote that if you are installing these packages in a binary form 22e01aa904Sopenharmony_ciprovided by your distribution, then you probably need to install the 23e01aa904Sopenharmony_cidevelopment variant of those packages if the distribution has one. 24e01aa904Sopenharmony_ci 25e01aa904Sopenharmony_ciOnce you have installed the development packages of the dependencies, 26e01aa904Sopenharmony_cithere are two options for compiling libabigail, depending on the two 27e01aa904Sopenharmony_cikinds of source code packages you have: either you have the source 28e01aa904Sopenharmony_cicode from our Git source control management system, or you have a 29e01aa904Sopenharmony_cireleased tarball. 30e01aa904Sopenharmony_ci 31e01aa904Sopenharmony_ci* Getting and compiling libabigail from Git 32e01aa904Sopenharmony_ci=========================================== 33e01aa904Sopenharmony_ci 34e01aa904Sopenharmony_ciTo get the source code from git, you have to type: 35e01aa904Sopenharmony_ci 36e01aa904Sopenharmony_ci git clone git://sourceware.org/git/libabigail.git 37e01aa904Sopenharmony_ci 38e01aa904Sopenharmony_ciPlease note that to compile libabigail from its sources in this case, 39e01aa904Sopenharmony_ciyou need to have the 'autoconf' page installed on your machine. 40e01aa904Sopenharmony_ci 41e01aa904Sopenharmony_ciThen go to your local libabigail.git directory where the source code 42e01aa904Sopenharmony_ciyou've checked out lies and create a 'build' directory that will 43e01aa904Sopenharmony_cireceive the binaries resulting from the compilation: 44e01aa904Sopenharmony_ci 45e01aa904Sopenharmony_ci cd libabigail.git 46e01aa904Sopenharmony_ci mkdir build 47e01aa904Sopenharmony_ci 48e01aa904Sopenharmony_ciGenerate the relevant build-system-related information needed to 49e01aa904Sopenharmony_ciconfigure the package for compilation, by typing: 50e01aa904Sopenharmony_ci 51e01aa904Sopenharmony_ci autoreconf -i 52e01aa904Sopenharmony_ci 53e01aa904Sopenharmony_ciThen configure the package: 54e01aa904Sopenharmony_ci 55e01aa904Sopenharmony_ci cd build 56e01aa904Sopenharmony_ci ../configure --prefix=<absolute-path-of-where-you-want-the-binaries-to-be-installed> 57e01aa904Sopenharmony_ci 58e01aa904Sopenharmony_ciThen build the package 59e01aa904Sopenharmony_ci 60e01aa904Sopenharmony_ci make 61e01aa904Sopenharmony_ci 62e01aa904Sopenharmony_ciAnd then install its resulting binaries and documentation: 63e01aa904Sopenharmony_ci 64e01aa904Sopenharmony_ci make install 65e01aa904Sopenharmony_ci 66e01aa904Sopenharmony_ci* Getting and compiling libabigail from released tarballs 67e01aa904Sopenharmony_ci========================================================= 68e01aa904Sopenharmony_ci 69e01aa904Sopenharmony_ciFirst, get a tarball from ftp://sourceware.org/pub/libabigail. 70e01aa904Sopenharmony_ci 71e01aa904Sopenharmony_ciThen untar it and go to the resulting source directory. 72e01aa904Sopenharmony_ci 73e01aa904Sopenharmony_ciThen create a build directory that is to receive the result of the 74e01aa904Sopenharmony_cicompilation and cd into it: 75e01aa904Sopenharmony_ci 76e01aa904Sopenharmony_ci mkdir build 77e01aa904Sopenharmony_ci cd build 78e01aa904Sopenharmony_ci 79e01aa904Sopenharmony_ciThen configure the package: 80e01aa904Sopenharmony_ci 81e01aa904Sopenharmony_ci ../configure --prefix=<absolute-path-of-where-you-want-the-binaries-to-be-installed> 82e01aa904Sopenharmony_ci 83e01aa904Sopenharmony_ciThen compile it: 84e01aa904Sopenharmony_ci 85e01aa904Sopenharmony_ci make 86e01aa904Sopenharmony_ci 87e01aa904Sopenharmony_ciThen install the resulting binaries 88e01aa904Sopenharmony_ci 89e01aa904Sopenharmony_ci make install 90e01aa904Sopenharmony_ci 91e01aa904Sopenharmony_ci* Building the documentation of libabigail 92e01aa904Sopenharmony_ci========================================== 93e01aa904Sopenharmony_ci 94e01aa904Sopenharmony_ciTo build the documentation of libabigail, you need to install the 95e01aa904Sopenharmony_cipython-sphinx package prior to running configure. 96e01aa904Sopenharmony_ci 97e01aa904Sopenharmony_ciOnce you've done that, type: 98e01aa904Sopenharmony_ci 99e01aa904Sopenharmony_ci make doc 100e01aa904Sopenharmony_ci 101e01aa904Sopenharmony_ciThis will generate the documentation in html, info and man format, in 102e01aa904Sopenharmony_cithe doc/ subdirectory of your build directory. 103e01aa904Sopenharmony_ci 104e01aa904Sopenharmony_ciIf you only want the html documentation (mainly the web site, apidoc and manuals) then just type: 105e01aa904Sopenharmony_ci 106e01aa904Sopenharmony_ci make html-doc 107e01aa904Sopenharmony_ci 108e01aa904Sopenharmony_ciIf you only want to generate the man documentation, just type: 109e01aa904Sopenharmony_ci 110e01aa904Sopenharmony_ci make man 111e01aa904Sopenharmony_ci 112e01aa904Sopenharmony_ciIf you only want to generate the info documentation, just type: 113e01aa904Sopenharmony_ci 114e01aa904Sopenharmony_ci make info 115