autoconf
[Top][All Lists]
Advanced

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

Re: Autoconf and Doxygen


From: Christopher Key
Subject: Re: Autoconf and Doxygen
Date: Mon, 08 Oct 2007 10:12:38 +0100
User-agent: Thunderbird 2.0.0.6 (Windows/20070728)

Braden McDaniel wrote:
As I understand things, the general recommendation is to generate things that will be included in the source package directly into the srcdir.

William Pursel wrote:

I can tell you what I do, and mention that I find my solution pretty kludgy:

checkout from repository.
bootstrap:
   run Doxygen in every directory with a Doxyfile
   aclocal && autoconf ..

acinclude.m4 contains a macro which looks at the
html and man directories and does an AC_SUBST_FILE to
create MAN_FILE_LIST and HTML_FILE_LIST

Makefile.am contains:
dist_man_MANS = foo.1 \
@MAN_FILE_LIST@

(and similar for html)

where foo.1 is a file I know will be created by Doxygen.

I must include a specific file on the dist_man_MANS line or
automake doesn't know what section to use.  (Slap forehead
as I realize I could use dist_man1_MANS and probably avoid that
problem).

As I recall, I avoided putting the @MAN_FILE_LIST@ on the
same line with the dist_man_MANS because automake 1.9 doesn't
like that.

Thanks Braden, William,

For now, the documentations gets built directly into the source tree, and the relevant build commands in doc/Makefile.am. I'm not terribly happy with this as a long term solution though, it seems intuitively wrong for the source tree to be modified when during a build process performed in a distinct build tree.

I have to admit that seperating out the build step for the documentation hadn't occured to me, it does seem cleaner in some ways, but there you do lose the ability to automatically rebuild the documentation when required. As a compromise, I think I may add create a doc/builddocs.sh script, that gets called both from my autogen.sh and from doc/Makefile.am. This way, the source tree shouldn't get modified during a build unless it needs to.

Dealing with unknown sets of files does seem particulary easy. At the moment, I've only got html documentation, and have borrowed FLAC's system, in which the install and uninstall sections are coded manually (i.e. cd html/api && install * ...). Is there any chance that autoconf / automake might be extended to allow wildcar substitution somehow, e.g.:

dist_man_MANS = man/*.[1-9]

I guess that these would have to be expanded out by autoconf rather than configure.

Regards,

Chris




reply via email to

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