Commit Graph

19 Commits

Author SHA1 Message Date
Dodji Seketeli e34631ce29 Add a 'check-valgrind' target to the top-most Makefile.am
The check-valgrind target was only accessible from the tests/
sub-directory.  Make it be accessible from the top-most directory too.

	* Makefile.am (check-valgrind): Add this new target here.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2016-05-25 10:25:47 +02:00
Dodji Seketeli 5faf6e9a68 Document how to handle regression tests in CONTRIBUTING
There was not user documentation about how to execute regression
tests.  This patch fixes that by adding a description of the
regression tests and how to launch them.

I have also added a new "make check-valgrind-recursive" target that
execute the tests under memcheck by tracing children processes too,
notably libabigail command line tool processes.

	* CONTRIBUTING: Add a section about regression tests.
	* Makefile.am: Add a check-valgrind-recursive target.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2016-05-23 00:10:07 +02:00
Chenxiong Qi 57dcfb18f5 Bug 19428 - New fedabipkgdiff utility
fedabipkgdiff is a convenient way to compare the ABI of Fedora
packages easily.

The first version of fedabipkgdiff introduced by this patch lets users
perform operations like:

    fedabipkgdiff --from fc23 foo-0.1-1.fc23.x86_64.rpm
    fedabipkgdiff --from fc23 --to fc24 foo
    fedabipkgdiff foo-0.1-1.fc23 foo-0.1-1.fc24
    fedabipkgdiff foo-0.1-1.fc23.i686 foo-0.1-1.fc24.i686
    fedabipkgdiff --all-subpackages foo-0.1-1.fc23 foo-0.1-1.fc24

	* autoconf-archive/ax_compare_version.m4: New file copied from the
	autoconf-archive project.
	* autoconf-archive/ax_prog_python_version.m4: Likewise.
	* autoconf-archive/ax_python_module.m4: Likewise.
	* Makefile.am: Add the new files above to the source distribution.
	* configure.ac: Include the new m4 macros from the autoconf
	archive. Add a new --enable-fedabipkgdiff option. Update the
	report at the end of the configure process to show the status of
	the fedabipkgdiff feature. Add check for prerequisite python
	modules argparse, glob, logging, os, re, shlex, subprocess, sys,
	itertools, urlparse, itertools, shutil, unittest, xdg, koji and
	mock.  These are necessary for the unit test of
	fedabipkgdiff. Generate tests/runtestfedabipkgdiff.py into the
	build directory, from the tests/runtestfedabipkgdiff.py.in input
	file.
	* tools/Makefile.am: Include the fedabipkgdiff to the source
	distribution and install it if the "fedabipkgdiff" feature is
	enabled.
	* tests/Makefile.am: Rename runtestfedabipkgdiff.sh into
	runtestfedabipkgdiff.py.  Add the new runtestfedabipkgdiff.py.in
	autoconf template file in here.
	* tests/runtestfedabipkgdiff.py.in: New unit test file.
	* tools/fedabipkgdiff: New fedabipkgdiff tool.
	* doc/manuals/fedabipkgdiff.rst: New manual.

Signed-off-by: Chenxiong Qi <cqi@redhat.com>
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2016-05-13 00:42:36 +02:00
Dodji Seketeli 4148297251 Add doc, info, man and html-doc targets to generate documentation
* Makefile.am: Add info, man and html-doc targets to generate
	documentation in info, man and html formats.  If you want to
	generate them all, then the doc target is the one to be used.
	* COMPILING: Add documentation for the above.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2016-04-27 15:39:53 +02:00
Dodji Seketeli 47aa22a3a8 Add a 'release' target to main Makefile
Add a release target that tags and uploads the release.

	* Makefile.am: Add tarball, upload-release-only, upload-release
	and release targets.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2016-04-17 21:14:31 +02:00
Mark Wielaard eea4bf067b Make make more silent.
Silent rules already are the default, but automake and make both still
tell which directory is being entered/build. Disable printing from make.

	* Makefile.am (AM_MAKEFLAGS): Set --no-print-directory.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
2016-01-28 09:18:05 +01:00
Dodji Seketeli 211ada1ee9 Add a NEWS file
* NEWS: New file.
	* Makefile.am: Add NEWS file to source distribution.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2016-01-05 12:35:57 +01:00
Ondrej Oprala c738b5c311 Add bash-completion scripts for the libabigail tools
* Makefile.am: include bash-completion/Makefile.am
	* bash-completion/Makefile.am: New makefile for the bash-completion
	directory.
	* bash-completion/abicompat: New completion script.
	* bash-completion/abidiff: Likewise.
	* bash-completion/abidw: Likewise.
	* bash-completion/abilint: Likewise.
	* bash-completion/abinilint: Likewise.
	* bash-completion/abipkgdiff: Likewise.
	* bash-completion/abisym: Likewise.
	* configure.ac: Check for the bash-completion package. Handle
	the new --enable-bash-completion[=WHEN] configure option.
	* manuals/libabigail-tools.rst: Mention the scripts.

Signed-off-by: Ondrej Oprala <ooprala@redhat.com>
2015-11-23 08:18:48 +01:00
Dodji Seketeli 3d8eccf9dc Update licence texts
* COPYING: Of course we know the licence we want to use now :-)
	* COPYING-GPLV3: Add the text of GPLv3.
	* Makefile.am: Add the file COPYING-GPLV3 above to source
	distribution.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2015-04-20 13:51:21 +02:00
Dodji Seketeli 8a886caad9 INSTALL file is not yet in the distribution
* Makefile.am: Do not say that INSTALL file is in the distribution
	while it is not.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2014-11-19 10:21:06 +01:00
Dodji Seketeli 8b381db0b7 Update Makefile.am after the additions related to gen-changelog.py
* Makefile.am: Add ChangeLog and COPYING-LGPLV2 to the source
	distribution.
	(update-changelog, tag-release-only tag-release): New Makefile
	targets.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2014-11-18 23:18:06 +01:00
Dodji Seketeli 0d738e2b95 Initial version of an archive manipulation program: biar
* tests/test-utils.h (is_dir, ensure_dir_path_created)
	(ensure_parent_dir_created): Move these directories manipulation
	utilities from here to ...
	* tools/abg-tools-utils.h (is_dir, ensure_dir_path_created)
	(ensure_parent_dir_created): ... here in this new file.
	(dir_name, base_name): Declare these new functions.
	* tests/test-utils.cc (is_dir, ensure_dir_path_created)
	(ensure_parent_dir_created): Likewise, move these to ...
	* tools/abg-tools-utils.cc (is_dir, ensure_dir_path_created)
	(ensure_parent_dir_created): ... here in this new file.
	(dir_name, base_name): Define these.
	* tools/Makefile.am: New file.  Create a new libtoolsutils.la
	static library with stuff from tools/abg-tools-utils.cc in it.
	Also create a new 'biar' program with the stuff from the new
	tools/biar.cc in it.
	* tools/biar.cc: New file.  Contains the code for the new "biar"
	archive manipulation command line utility.
	* tests/test-read-write.cc (main): Adjust for the change about
	ensure_parent_dir_created above.
	* tests/test-write-read-archive.cc (main): Likewise.
	* Makefile.am (SUBDIRS): Add the new tools/ sub-directory to the
	build system.
	* configure.ac (AC_CONFIG_FILES): Generate tools/Makefile.
	* tests/Makefile.am: Make libtestutils.la link with the new
	libtoolsutils.la.  Make sure to express the dependencies between
	libtestutils.la and the binaries that depend on it.  Otherwise
	parallel builds can go awry.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2013-08-29 17:08:47 +02:00
Dodji Seketeli 849b598cf5 Support pkgconfig through a new libabigail.pc file
* libabigail.pc.in: New pkgconfig file.
	* configure.ac: Define the LIBXML2_VERSION variable that is used
	in the libabigail.pc.in file.  Generate the libabigail.pc file
	from its libabigail.pc.in template.
	* Makefile.am: Add libabigail.pc.in to the source distribution.
	Install the generated libabigail.pc to the right destination.
2013-08-22 17:06:56 +02:00
Dodji Seketeli f9d66af03c Put headers in include/libabigail
* include/libabigail: New directory.
	* include/Makefile.am:  New file.
	* include/libabigail/Makefile.am: New file.
	* src/abg-*.h: Move these in include/libabigail/*.h
	* src/Makefile.am: Set -I option to look for headers in include/libabigail
	* doc/api/libabigail.doxy: Look for headers in include/libabigail
	* tests/Makefile.am: Set -I option to look for headers in include/libabigail
	* abigail.m4: Set includedir to $prefix/include/libabigail for
	library used as a dep, or to srcdir/libabigail/include/libabigail
	in GCC source tree.
	* configure.ac: Add Makefile.am in include and include/libabigail
	* abigail.m4: Look for headers in include/libabigail when the
	libabigail is in in the source tree and in $incdir/libabigail when
	it is installed as a dependency.
2013-07-23 23:13:56 +02:00
Dodji Seketeli 61ae9b831a add abigail.m4 to the distribution
* Makefile.am: Add abigail.m4 to the distribution.
	* Makefile.in: Re-generate.
2013-07-23 23:13:52 +02:00
Dodji Seketeli e4fefbdbe4 Allow autoconf-based clients to detect the library
* configure.ac: Define the components of the version number as
	autoconf variables.  Set the version number to 0.1.0
	* abigail.m4: New file
	* Makefile.am: Add abigail.m4 to the build system.  Install it in
	  $(datadir)/aclocal.
	* src/Makefile.am: Generate and add abg-version.h from the version
	number autoconf variable defined in configure.ac.  Re-generate
	abg-version.h each time configure.ac changes.
	* src/abg-config.h (abigail_get_library_version): Declare ...
	* src/abg-config.cc (abigail_get_library_version): ... and define
	this wirth C linkage.  This is useful for autoconf tests to test
	for the presence of the library.
	* configure: Re-generate.
	* Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* tests/Makefile.in: Likewise.
2013-07-23 23:13:51 +02:00
Dodji Seketeli 3563b06270 Build system fix for make distcheck
* Makefile.am: Support the doc sub-directory.  We don't have a
	COPYRIGHT file.
	* src/Makefile.am: Don't prefix the file paths by the absolute
	path of the src dir; current autotools know how to deal with it,
	otherwise and it break them.
	* tests/Makefile.am: Likewise.  Make sure to remove the output of
	the tests upon make clean.
	* Makefile.in: Re-generate.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* src/Makefile.in: Likewise.
	* tests/Makefile.in: Likewise.
2013-07-23 23:13:51 +02:00
Dodji Seketeli fc27d10cee Debugged type-decl de-serialization
* src/abg-ir.cc (namespace_decl::~namespace_decl): Add this
	missing virtual constructor definition.
	* src/abg-reader.cc (read_context::{get_cur_decl,pop_decl}):
	Return a null pointer when the decls stack is empty.
	(update_read_context): Don't try to de-reference a NULL cur_decl.
	(read_input): Don't try to poke at file validity here.  What was I
	thinking.  Really test for advance_cursor to return 1, expressing
	success.
	* src/abg-reader.h (read_file):  Fix style.
	* Makefile.am: Add tests sub-directory.
	* configure.ac: Build with debugging-friendly options if the
	ABIGAIL_DEBUG env variable is set.  Generate tests/Makefile.
	* tests/Makefile.am: New file.
	* tests/test-read-write.cc: Likewise.
	* tests/test-utils.{h,cc}: Likewise.
	* tests/data/test-read-write/input0.xml: Likewise.
2013-03-21 23:57:22 +01:00
Dodji Seketeli d7d371a742 Initial import Abigail
This is the initial Import of the

    ABI Generic Analysis and Instrumentation Library
2013-02-28 11:42:57 +01:00