This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: BuildError f/g77.info
>There might be a small reason, namely that some gnu coding standards (gnits ?)
>state that documentation installation should be separate from normal
>installation.
I don't recall reading that, but I don't keep up much with GNU coding
standards these days. There's no separation of installation of docs
from "make install" -- in egcs, anyway -- in that the docs are installed
along with everything else when performing that step, and I don't
think, offhand, the relevant "subtargets" are documented.
And, I'd *think* it's non-negotiable that anything installed by "make
install" must have been built during the "make" (aka "make all") step
that preceded it (if so).
>Looking thru the Makefiles, I still can see some evidence of that,
>such as the doc target being separate from the main build, and invoked
>only at the install-info/install stage.
Methinks that was just a bug. Remember, *building* the Info files
was a New Thing for gcc users when egcs happened, so it can't be
that old. In gcc2, the .info files are (still, I assume) shipped
with the distribution, already built. I doubt it was intentional
to push the building of the docs off until "make install" time -- if
so, it seems to be now seen as a bug, due to (for example) wanting
to allow `root' to install after `joeuser' does the build in a
directory to which `root' has no write access.
In essence, this patch of mine fixes egcs to work the way gcc2 always
has (modulo any bugs there, of course): "make install" installs the
Info docs, without having to build them to do it, assuming a successful
"make" has already been completed.
>But it's probably not quite right, unless proper documentation building
>truely requires it, to lump documentation building with normal building
>proper...
If normal installation installs documentation, then normal building
must build it. That seems obvious enough, because documentation
is not fundamentally different from executables and libraries,
from the point of view of a typical user of a source distribution.
Adding to the complication in egcs is that one document, g77.info,
is built from a .texi file that, in turn, is built from other sources,
including g77 front-end "code", by other g77 "code", which is
compiled and executed...but that .texi file is shipped anyway (I
forget why we do that offhand), so it lives in the *source* directory.
That means, if it is not up-to-date (according to the relevant timestamps),
building the docs triggers writing that .texi file.
And *that* means, if "make install" builds the docs, "make install"
might try to write into the *source* directory for egcs.
Which is something of a hassle, if that source directory is on CD-ROM.
(Fixing egcs seemed easier, to me, than personally upgrading everybody's
CD-ROM to CD-R, etc. :)
In summary: I believe this problem is solved, at least until it gets
broken again, as of today's version (19990222) of egcs 1.2. It's
worth testing again, once in a while.
tq vm, (burley)