|
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
[Prev in Thread] | Current Thread | [Next in Thread] |