groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Groff] Automake migration proposal


From: Bertrand Garrigues
Subject: [Groff] Automake migration proposal
Date: Mon, 23 Jun 2014 02:10:28 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Hi all,

I've been using groff for about two years, mainly at work for some
technical documents. I've read the mission statement and the discussions
on the various topics with lots of interests and now I would like to try
to contribute. In order to understand the overall groff architecture and
the various binaries and tools, I first studied the current build system
and started to migrate it to automake. I know this is not the priority
and that even some persons in the mailing list would dislike such
migration, but there are some features (gnulib integration, standard
targets like 'make dist' available ...) that you might find interesting.

To test my work (which is still a draft):

git clone git://github.com/bertrandgarrigues/groff
cd groff
./bootstrap

Then you can invoke configure.

A short sum up of this work:

- Native integration of gnulib.
- Makefile in non-recursive style: I didn't use "SUBDIRS" in the main
Makefile.am, instead, all the .am files are included by this top-level
.am file. As a result a single Makefile is generated. The overall build
is now quickier. The re-compilation of a single file is also much
quickier as make does not need to recursively check all the
sub-directories.
- Improved the dependencies tracking: make can be invoked with -j option.

For the moment I have only tested on my Linux distro that I can build
everything (except the 'doc' directory), check that the examples are
correctly generated (like the .pdf in contrib/mom) and that I can
successfully generate my personal documents. 

There are still some work to complete this migration:
- Build and install the doc.
- Targets 'clean', 'uninstall' are not fully implemented.
- I haven't started to work on 'make dist' yet. 
- More tests, and tests on other platforms.
- Also, it seems that some files of libgroff.a could be replaced
directly by gnulib, but I haven't check this point in details.

Here is also a list of problems I have encountered on the current build
system, for your information:
- Invoking make with -j options fails on my distro (attempt to build
gropdf before arch/misc/shdeps.sed is generated).
- make dist does not work in an out-of-source build tree.
- When compiling on a distro that does not have an existing groff
installed, build of font/devpdf/U-* fonts will fail because afmtodit is
generated after the build of these fonts.

Regards,

--
Bertrand Garrigues



reply via email to

[Prev in Thread] Current Thread [Next in Thread]