]> Savannah Git Hosting - gnulib.git/commit
generic cleanup; bug fixes; gnulib-comp generator
authorDmitry Selyutin <ghostmansd@gmail.com>
Sun, 7 Jan 2018 20:19:07 +0000 (23:19 +0300)
committerDmitry Selyutin <ghostmansd@gmail.com>
Sun, 7 Jan 2018 20:55:40 +0000 (23:55 +0300)
commit23f7be63fd57b4b767a991987e17f42beddea4d5
treedfc19859137af3f21856dfc11b07a71db767d5fa
parent5eb8f6a224f3058a155308d6f5874ee33a1eef78
generic cleanup; bug fixes; gnulib-comp generator

In order to implement correct gnulib-comp.m4 generation, the whole
conditional dependencies calculation algorithm had to be rewritten.
This patch fixes transitive closure algorithm so that it handles all
conditions correctly. Most of the transitive closure functionality was
separated into a standalone TransitiveClosure class to provide a fast
access to transitive closure results (thus incorporating almost all
functionality of the pygnulib.module.Database class).

The transitive closure is usually performed twice: the base one checks
dependencies for the base set of modules, while the full one also takes
the corresponding tests into account. A standalone Database class was
created to perform both closures in one shot and provide an easy access
to all required module and file lists. This allowed to incorporate some
code from the main script: dummy module handling, libtests.a presense,
module and file lists processing.

Yet another small change is that there is a special DummyModule object,
representing the well-known gnulib dummy module. It was created since
the original gnulib dummy module is unlikely to change quite often, so
it acts like special placeholder value.

Finally the naming convention was changed to longer names again.
pygnulib.py
pygnulib/config.py
pygnulib/generator.py
pygnulib/module.py
pygnulib/parser.py
pygnulib/vfs.py