gnumake module deps ...

Michael Meeks michael.meeks at suse.com
Mon Mar 11 04:32:25 PDT 2013


On Sat, 2013-03-09 at 23:39 +0100, David Ostrovsky wrote:
> You are a funny one ;-)
> First you are starting that project on write only language and then 
> looking for a mantainer??? ;-)

	Hah ;-) seems you defeated the write-only language at the first attempt
however; nice work.

> so we have now manual page with developer guide, just try
> bin/module-deps.pl --man

	Beautiful - all the changes look great.

> As Stephan pointed out we have "include only" dependencies that we 
> should take care of. Anyway now we have something that start to make sense:
> 
> http://ostrovsky.org/libo/lo.png
> http://ostrovsky.org/libo/lo.graphviz

	Nice - then again, it looks a little different ( I rather preferred the
library graph - it seemed simpler - can we have an option to print that
out as well ?).

	One thing I noticed in this graph was (perhaps as an artifact of it's
production), that the raft of pure UNO components depending on just
comphelper seems to have mostly gone ;-) which IMHO confuses the
picture; some oddnesses: eg. 'UnoXML' depends on sax and comphelper -
but sax depends on comphelper itself - look like they may point to some
redundant linkages (?).

	I suspect that if we instead of do the create_lib_module_map higher up:

	my $tree = clean_tree($deps)
	my $reduced_tree;
	if ($arg_dump_modules) {
		$reduced_tree = collapse_libs_to_modules($tree);
	} else {
		$reduced_tree = $tree;
	}
	prune_redundant_deps($reduced_tree);
	dump_graphviz($reduced_tree);

	Where the collapse_libs_to_modules would just build a new list of
collapsed module nodes from the library ones - renaming each of the
library deps as it went.

	Then we might get a more precise redundancy pruning & hence prettier /
more minimal graph again. There are other examples of deps that jump out
eg. slideshow->cppcanvas->canvas and also direct ->canvas etc.

> Let me print it on say 2-3 meters and bring it to the next Hackfest/LO 
> Congress ;-)

	Quite ! it's starting to look rather sexy.

	Having said that if someone can create the graphviz fragment that would
group lots of modules eg. animations, binaryurp, io, desktopbe1 etc.
into a single vertically listed meta-module - then I'd be happy to
collapse the horizontal width to aid readability with that.

	Anyhow,

	Thanks David !

		Michael.

-- 
michael.meeks at suse.com  <><, Pseudo Engineer, itinerant idiot



More information about the LibreOffice mailing list