Commit Graph

21 Commits

Author SHA1 Message Date
Jonathan Wakely
22f6a640e7 Fix checkout & build instructions
* CONTRIBUTING: Fix Git repository url.
	* doc/website/mainpage.txt: Add elfutils into the dependencies
	list and fix the repository directory name.  Also use autoreconf
	-i.
	* include/abg-fwd.h: Fix Git repository URL.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2014-01-14 15:39:34 +01:00
Dodji Seketeli
c57e950ec7 Initial writing/reading of an ABI corpus to an archive
* configure.ac: Support detection of libzip dependency. Define
        new DEPS_CFLAGS and DEPS_LIBS variables for use in
        Makefile.am to refer to the dependency headers and
        libraries.
	* doc/website/mainpage.txt: Update this to talk about the new
	libzip dependency.
	* include/Makefile.am: Add abg-libzip-utils.h to the build system.
	* include/abg-corpus.h (corps): Hide abigail::corpus's private behind a
	pimpl idiom.
	(corpus::{drop_translation_units, get_file_path, set_file_path,
	write, read}): New methods.
	* include/abg-libxml-utils.h (new_reader_from_buffer): Declare new
	function.
	* include/abg-libzip-utils.h: New file.
	* src/Makefile.am: Add abg-corpus.cc and abg-libzip-utils.cc to
	the build system.  Refer to the library and headers dependencies
	via the new DEPS_LIBS and DEPS_CFLAGS variables.
	* src/abg-corpus.cc: New file.
	* src/abg-ir.cc (translation::set_path): New method.
	* src/abg-libxml-utils.cc (new_reader_from_buffer): Define new
	function.
	* src/abg-libzip-utils.cc: New file.
	* src/abg-reader.cc (translation_unit::read): New overload.
	* src/abg-writer.cc: Inject the names from the std namespace into
	the abigail namespace, rather than into abigail::writer.
	(abigail::translation_unit::write): New overload.  This can now
	use ofstream and the other stuff from std that are injected in the
	abigail:: namespace.
	* tests/Makefile.am: Add tests/test-write-read-archive.cc to the
	build system; use that to build runtestwritereadarchive.  Also add
	the input test data from
	tests/data/test-write-read-archive/test[0-4].xml.
	* /tests/data/test-write-read-archive/test[0-4].xml: New test
	input data files.
	* tests/test-write-read-archive.cc: New test for this archive
	write/read support.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2013-08-27 16:20:41 +02:00
Dodji Seketeli
a9a8834018 Tweak the apidoc mainpage
* include/abg-fwd.h<doxygen markup>: Fix link to the project web
	page and for git check-out.
2013-08-21 22:24:13 +02:00
Dodji Seketeli
2927145da4 Initial website generation-fu using Doxygen
* doc/website/mainpage.txt: New file representing the input for
	the website.
	* doc/website/libabigail-website.doxy: New file representing the
	doxygen configuration for the website generation.
	* doc/api/libabigail.doxy: Output doxygen generation warnings into
	a file.
	* doc/Makefile.am: Support generating the website from doxygen.
	Update the api generation relevant macros names for better
	consistency.  Make "make html" generate the website too.  Make
	"make clean" erase the website bits too.  Add a 'website'
	target to make the website.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2013-08-21 19:54:01 +02:00
Dodji Seketeli
b9ea069f1d Remove autotools-generated files
* Makefile.in: Remove this autotools-generated file.  I know that
	people in the GCC-realm like storing these autotools-generated
	files into the source control system, but I believe in this day
	and age, this is annoying (to say the least) for the project
	developers for no good reason.  Requiring (the ubiquitous)
	autoconf for building from source is no big deal today, and typing
	"autoreconf" is not hard to do, really.  And it saves the
	developers for having to update a bunch of boilerplate
	automatically generated files into the source control system; this
	is really unnecessary noise and it is a commonly accepted good
	practice to avoid doing it these days.  To help people who do not
	know how to handle this, there is a COMPILING file in the source
	tree that explains how to build the project from sources.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* include/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* doc/Makefile.in: Likewise.
	* tests/Makefile.in: Likewise.
2013-08-20 00:05:07 +02:00
Benjamin Kosnik
9258b41534 Template naming compression.
* include/abg-ir.h: Template naming compressions.
	(class_template_decl): To class_tdecl.
	(function_template_decl): To function_tdecl.
	(template_type_parameter): To type_tparameter.
	(template_non_type_parameter): To non_type_tparameter.
	(template_template_parameter): To template_tparameter.
	(tmpl_parm_type_composition): To type_composition.
	* include/abg-irfwd.h: Same.
	* src/abg-hash.cc: Same.
	* src/abg-ir.cc: Same.
	* src/abg-reader.cc: Same.
2013-08-14 15:07:19 +02:00
Benjamin Kosnik
9f7c830236 Slight change to doxy config.
* doc/api/libabigail.doxy: Turn off namespace scopes, on all the viz.
2013-08-14 15:07:19 +02:00
Benjamin Kosnik
e80ad1adee Forward decls for abg-ir.h, doxygen fixups, restyle.
* include/abg-irfwd.h: New file for forward declarations.
	* include/Makefile.am: Add new header.
	* include/Makefile.in: Regenerate.

	* include/*: Forward declare, doxygen fixups, restyle.
	* src/*: Same.

	* src/abg-corpus.cc: Empty, removed.

	* doc/api/libabigail.doxy: Tweak.
2013-08-14 15:07:18 +02:00
Benjamin Kosnik
1f702180e6 Adjust doxygen input path.
* doc/api/libabigail.doxy: Adjust include directory.
2013-08-14 15:07:18 +02:00
Benjamin Kosnik
d23c4e9b96 Collapse subdir of include to include.
* include/libabigail/abg-*.h: Move to...
	* include/abg-*.h
	* include/libabigail: Remove.

	* configure.ac: Adjust include location from libabigail/include to
	include.
	* Makefile.in: Same.
	* aclocal.m4: Same.
	* configure: Same.
	* doc/Makefile.in: Same.
	* include/Makefile.am: Same.
	* src/Makefile.am: Same.
	* src/Makefile.in: Same.
	* tests/Makefile.am: Same.
	* tests/Makefile.in: Same.
2013-08-14 15:07:18 +02:00
Dodji Seketeli
e5dd19b2a6 Update autotool auto-generated files
* Makefile.in: Updated.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* doc/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* tests/Makefile.in: Likewise.
2013-07-23 23:17:28 +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
Benjamin Kosnik
8e950513b0 Install into docdir, turn off collaboration graphs.
* doc/Makefile.am (doc-install-html-doxygen): Install generated
	files into docdir.

	* doc/api/libabigail.doxy (COLLABORATION_GRAPH): Turn off.
2013-07-23 23:13:56 +02:00
Benjamin Kosnik
ba24c0aee8 Fix dependencies for api/html output directory.
* doc/Makefile.am: Create abi output directory.
2013-07-23 23:13:55 +02:00
Benjamin Kosnik
f3dae517b9 Initial DOT work.
* doc/vizualization/layout/scripts/
	(inkscape_export_svg_to_plain_svg.sh): Move...
	(inkscape_export_svg_to_png_and_pdf.sh): Move...
	* scripts: ..here. New toplevel directory.
	* scripts/scripts/dot_to_png.sh: New.
	* scripts/scripts/dot_to_svg.sh: New.
	* src/Makefile.am: Add abg-viz-dot.cc, abg-viz-dot.h.
	* tests/Makefile.am: Add test-dot.cc.
	* src/abg-viz-dot.cc: New.
	* src/abg-viz-dot.h: New.
	* tests/test-dot.cc: New.
	* doc/vizualization/graph: New.
	* doc/vizualization/graph/gv/sa-A.gv: New.
	* doc/vizualization/graph/gv/sa-B.gv: New.
	* doc/vizualization/graph/gv/sa-C1.gv: New.
	* doc/vizualization/graph/gv/sa-C2.gv: New.
	* doc/vizualization/graph/gv/sa-C3.gv: New.
	* doc/vizualization/graph/gv/sa-C4.gv: New.
	* doc/vizualization/graph/gv/sa-D1.gv: New.
	* doc/vizualization/graph/gv/sa-D2.gv: New.
	* doc/vizualization/graph/gv/sa-D2v.gv: New.
	* doc/vizualization/graph/gv/sa-D3.gv: New.
	* doc/vizualization/graph/gv/sa-D3v.gv: New.
	* doc/vizualization/graph/gv/sa-D4v.gv: New.
	* doc/vizualization/graph/gv/sa-D5v1.gv: New.
	* doc/vizualization/graph/gv/sa-D5v2.gv: New.
	* doc/vizualization/graph/gv/sa-DD1.gv: New.
	* doc/vizualization/graph/gv/sa-DD2.gv: New.
	* doc/vizualization/graph/gv/sa-DD3.gv: New.
	* doc/vizualization/graph/gv/sa-DD4.gv: New.
	* doc/vizualization/graph/gv/sa-DD5.gv: New.
	* doc/vizualization/graph/gv/sa-base.gv: New.
	* doc/vizualization/graph/png/sa-A.png: New.
	* doc/vizualization/graph/png/sa-B.png: New.
	* doc/vizualization/graph/png/sa-C1.png: New.
	* doc/vizualization/graph/png/sa-C2.png: New.
	* doc/vizualization/graph/png/sa-C3.png: New.
	* doc/vizualization/graph/png/sa-C4.png: New.
	* doc/vizualization/graph/png/sa-D1.png: New.
	* doc/vizualization/graph/png/sa-D2.png: New.
	* doc/vizualization/graph/png/sa-D2v.png: New.
	* doc/vizualization/graph/png/sa-D3.png: New.
	* doc/vizualization/graph/png/sa-D3v.png: New.
	* doc/vizualization/graph/png/sa-D4v.png: New.
	* doc/vizualization/graph/png/sa-D5v1.png: New.
	* doc/vizualization/graph/png/sa-D5v2.png: New.
	* doc/vizualization/graph/png/sa-DD1.png: New.
	* doc/vizualization/graph/png/sa-DD2.png: New.
	* doc/vizualization/graph/png/sa-DD3.png: New.
	* doc/vizualization/graph/png/sa-DD4.png: New.
	* doc/vizualization/graph/png/sa-DD5.png: New.
	* doc/vizualization/graph/png/sa-base.png: New.
	* doc/vizualization/graph/sources/sa-A.cc: New.
	* doc/vizualization/graph/sources/sa-B.cc: New.
	* doc/vizualization/graph/sources/sa-C.cc: New.
	* doc/vizualization/graph/sources/sa-D.cc: New.
	* doc/vizualization/graph/sources/sa-DD.cc: New.
	* doc/vizualization/graph/sources/sa-base.cc: New.
	* doc/vizualization/graph/svg/sa-A.svg: New.
	* doc/vizualization/graph/svg/sa-B.svg: New.
	* doc/vizualization/graph/svg/sa-C1.svg: New.
	* doc/vizualization/graph/svg/sa-C2.svg: New.
	* doc/vizualization/graph/svg/sa-C3.svg: New.
	* doc/vizualization/graph/svg/sa-C4.svg: New.
	* doc/vizualization/graph/svg/sa-D1.svg: New.
	* doc/vizualization/graph/svg/sa-D2.svg: New.
	* doc/vizualization/graph/svg/sa-D2v.svg: New.
	* doc/vizualization/graph/svg/sa-D3.svg: New.
	* doc/vizualization/graph/svg/sa-D3v.svg: New.
	* doc/vizualization/graph/svg/sa-D4v.svg: New.
	* doc/vizualization/graph/svg/sa-D5v1.svg: New.
	* doc/vizualization/graph/svg/sa-D5v2.svg: New.
	* doc/vizualization/graph/svg/sa-DD1.svg: New.
	* doc/vizualization/graph/svg/sa-DD2.svg: New.
	* doc/vizualization/graph/svg/sa-DD3.svg: New.
	* doc/vizualization/graph/svg/sa-DD4.svg: New.
	* doc/vizualization/graph/svg/sa-DD5.svg: New.
	* doc/vizualization/graph/svg/sa-base.svg: New.
2013-07-23 23:13:55 +02:00
Benjamin Kosnik
1a151751ad Regenerate configure files. 2013-07-23 23:13:54 +02:00
Benjamin Kosnik
40029ae864 Add doc/visualization/layout.
* doc/vizualization/layout: New.
	* doc/vizualization/layout/pdf/sa-A.pdf: New.
	* doc/vizualization/layout/pdf/sa-B.pdf: New.
	* doc/vizualization/layout/pdf/sa-C1.pdf: New.
	* doc/vizualization/layout/pdf/sa-C2.pdf: New.
	* doc/vizualization/layout/pdf/sa-C3.pdf: New.
	* doc/vizualization/layout/pdf/sa-D1.pdf: New.
	* doc/vizualization/layout/pdf/sa-D2.pdf: New.
	* doc/vizualization/layout/pdf/sa-D2v.pdf: New.
	* doc/vizualization/layout/pdf/sa-D3.pdf: New.
	* doc/vizualization/layout/pdf/sa-D3v.pdf: New.
	* doc/vizualization/layout/pdf/sa-D4v.pdf: New.
	* doc/vizualization/layout/pdf/sa-DD1.pdf: New.
	* doc/vizualization/layout/pdf/sa-DD2.pdf: New.
	* doc/vizualization/layout/pdf/sa-DD3.pdf: New.
	* doc/vizualization/layout/pdf/sa-DD4.pdf: New.
	* doc/vizualization/layout/pdf/sa-DD5.pdf: New.
	* doc/vizualization/layout/pdf/sa-base.pdf: New.
	* doc/vizualization/layout/png/sa-A.png: New.
	* doc/vizualization/layout/png/sa-B.png: New.
	* doc/vizualization/layout/png/sa-C1.png: New.
	* doc/vizualization/layout/png/sa-C2.png: New.
	* doc/vizualization/layout/png/sa-C3.png: New.
	* doc/vizualization/layout/png/sa-D1.png: New.
	* doc/vizualization/layout/png/sa-D2.png: New.
	* doc/vizualization/layout/png/sa-D2v.png: New.
	* doc/vizualization/layout/png/sa-D3.png: New.
	* doc/vizualization/layout/png/sa-D3v.png: New.
	* doc/vizualization/layout/png/sa-D4v.png: New.
	* doc/vizualization/layout/png/sa-DD1.png: New.
	* doc/vizualization/layout/png/sa-DD2.png: New.
	* doc/vizualization/layout/png/sa-DD3.png: New.
	* doc/vizualization/layout/png/sa-DD4.png: New.
	* doc/vizualization/layout/png/sa-DD5.png: New.
	* doc/vizualization/layout/png/sa-base.png: New.
	* doc/vizualization/layout/scripts/
	(inkscape_export_svg_to_plain_svg.sh): New.
	(inkscape_export_svg_to_png_and_pdf.sh): New.
	* doc/vizualization/layout/sources/sa-A.cc: New.
	* doc/vizualization/layout/sources/sa-B.cc: New.
	* doc/vizualization/layout/sources/sa-C.cc: New.
	* doc/vizualization/layout/sources/sa-D.cc: New.
	* doc/vizualization/layout/sources/sa-DD.cc: New.
	* doc/vizualization/layout/sources/sa-base.cc: New.
	* doc/vizualization/layout/svg/sa-A.svg: New.
	* doc/vizualization/layout/svg/sa-B.svg: New.
	* doc/vizualization/layout/svg/sa-C1.svg: New.
	* doc/vizualization/layout/svg/sa-C2.svg: New.
	* doc/vizualization/layout/svg/sa-C3.svg: New.
	* doc/vizualization/layout/svg/sa-D1.svg: New.
	* doc/vizualization/layout/svg/sa-D2.svg: New.
	* doc/vizualization/layout/svg/sa-D2v.svg: New.
	* doc/vizualization/layout/svg/sa-D3.svg: New.
	* doc/vizualization/layout/svg/sa-D3v.svg: New.
	* doc/vizualization/layout/svg/sa-D4v.svg: New.
	* doc/vizualization/layout/svg/sa-DD1.svg: New.
	* doc/vizualization/layout/svg/sa-DD2.svg: New.
	* doc/vizualization/layout/svg/sa-DD3.svg: New.
	* doc/vizualization/layout/svg/sa-DD4.svg: New.
	* doc/vizualization/layout/svg/sa-DD5.svg: New.
	* doc/vizualization/layout/svg/sa-base.svg: New.
2013-07-23 23:13:54 +02:00
Benjamin Kosnik
be9e84e756 Add doc dir. Add Doxgen api generation rules.
* doc: Add.
	* doc/Makefile.am (html, install-html): Add.
	* doc/Makefile.in: Add.
	* doc/api/libabigail.doxy: Add doxygen config.
	* src/abg-*: Add @file markup.
2013-07-23 23:13:54 +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
189fc9cd14 Update in-vcs configure and docs/Makefile.in to recent configure
* configure: Updated as re-generated by autoconf 2.69.
	* doc/Makefile.in: Updated as re-generated by automake 1.12.2.
2013-07-23 23:13:49 +02:00
Benjamin Kosnik
43a83cf453 Add doc dir. Add Doxgen api generation rules.
2013-04-02  Benjamin Kosnik  <bkoz@redhat.com>

	* doc: Add.
	* doc/Makefile.am (html, install-html): Add.
	* doc/Makefile.in: Add.
	* doc/api/libabigail.doxy: Add doxygen config.
	* src/abg-*: Add @file markup.
2013-04-03 15:21:33 +02:00