Docs and builds



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.

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?)

Ray Simard
rpmail sylvan-glade com



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