This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]