Re: Docs and builds
Murray Cumming <[email protected]> Mon, 28 Jun 2004 13:23:46 +0200
| Newsgroups | gmane.comp.gnome.gnomemm,gmane.comp.gnome.devel |
|---|---|
| Message-ID | <1088421826.7533.3.camel@murrayc_debian> |
On Sun, 2004-06-27 at 16:32 -0700, Ray Simard wrote: > Hello! New to the list. > > First, a note: When I tried to search the archives for something > on this, the url http://mail.gnome.org/mailman/search?query= (etc) > comes up 404. Perhaps someone could look into that. Anyway, if this > happens to be a regular topic on this list, I apologize for raising it > again; but I can't get to the archives. > > My question is this: In the CVS sources for a number of packages, > there is a rather arcane setup that seems to be intended to prevent > the building and installation of the docs portion of the package. In these > cases, in configure.in, there's this (more on this subject to follow): > > =============================== > # Dummy conditional just to make automake-1.4 happy. > # We need an always-false condition in docs/Makefile.am. > AM_CONDITIONAL(LIBGNOMEMM_FALSE,[false]) > =============================== > > Which applies to docs/Makefile.am: > =============================== > ## This voodoo stuff lets automake see the subdirs > ## without including them into recursive builds. > if LIBGNOMEMM_FALSE > SUBDIRS = reference > endif > DIST_SUBDIRS = reference > =============================== > > I'm wondering why such effort is invested in preventing the building of docs. > > Some packages, for example gtkmm, install (excellent!) documentation; but their > makefiles have hand-coded rules and a rather complex arrangement that provides for > uploads which are not needed here. This is all *mm-specific stuff, so it really belongs on the gtkmm or gnomemm mailing lists. These particular build rules are meant to stop the documentation from rebuilding when you build from a source tarball. We distribute the built sources instead. If you could describe the actual problem that you are having then maybe we can help you to solve it. > Two things about this: > > If I change the [false] to [true] the docs get built, but not installed. I'm not sure > how to get the auto tools to make that happen as well. > > However... > > With the automake that I'm using (1.8), the above doesn't work at all. From some > experimenting I've seen indications that the presence of the string "FALSE" in > the condition name prevents automake from creating the variable-substitution code > for the name. In the Makefile that autoconf creates, there is, in this case: > > @LIBGNOMEMM_FALSE@SUBDIRS = reference > > By changing the name of the condition to LIBGNOMEMM_FALZE (just to get rid of "FALSE"), > @LIBGNOMEMM_FALZE@ becomes either a hash mark (#) when the second parameter to > AM_CONDITIONAL is a shell command that returns false, and an empty string if the > command returns true; so in the case of false, the code in the if/endif block > is effectively commented out, and not in the case of true. > > Still, after fixing that, as mentioned above, setting true causes docs to be built but > not installed. Is there a straightforward way to get the autotools to make that happen, > in particular, to recurse whatever subdirectories are listed and install whatever is there, > or does that have to be set up explicitly in the Makefile.am? (or something else altogether?)