octave-maintainers
[Top][All Lists]
Advanced

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

Re: *.texi files not generated


From: Rik
Subject: Re: *.texi files not generated
Date: Mon, 30 Nov 2009 12:28:32 -0800

John W. Eaton wrote:
> On 28-Nov-2009, Michael D. Godfrey wrote:
>
> | On 11/28/09 5:19 PM, Rik wrote:
> | > The procedure I follow to verify my patches
> | > has been to clone a new tree from savannah, run autogen.sh, run
> | > configure, and then run make.  This avoids any cruft that may have built
> | > up in the source tree.
> | >    
> | This is what I did, and none of the .texi files got generated.  but,
> | cd doc/interpreter; make  xxx.texi would create the .txi.  Also, I
> | found that if "old" .texi files were present the make updated them.
> | So, now my builds run fine -- until I do a new clone.  For now,
> | I will save the old .texi files and copy them into a new clone.
>   
Michael & John,

SHORT VERSION

I have been testing a patch since this morning which fixes the missing
.texi file problem.  I'm a bit paranoid now so I'm testing it in
different build configurations to make sure it is rock solid.  I will
check it in today.

LONG VERSION

We should think carefully about moving the documentation away from
dynamic sources to static sources.  Autotools is geared towards
distributing .info and .texi files.  Our .texi files are not static but
are generated at build time from .txi pre-cursors and conf.texi.  Most
of the files are, in fact, static but there are a few decisions made
using @ifset and variables set in conf.texi by configure.

The idea behind distributing .info files is reasonably sensible because
it removes the requirement to have texinfo installed.  A side effect of
the dependence on conf.texi is that all the .texi files and all the
documentation have to be re-made for every build host.  Since texinfo is
now a requirement for building Octave we should at least not bother to
distribute the .texi files. 

Unfortunately, this pattern is not common and autotools doesn't support
it well.  The usual syntactic sugar, such as nodist_, does not work. 
Also, globally turning off distribution of .info files turns off the
creation of build rules for pdf and html versions of the documentation.

The closest thing I have found to an explanation is a response in an
e-mail thread here:
http://www.mail-archive.com/address@hidden/msg04033.html.  The
Automake developers are at least aware of the problem but the _TEXINFO
primary isn't as frequently used as the _SOURCES primary and I don't
expect resolution anytime soon.

My solution was to use as much of autotools as possible.  I want
autoconfigure to choose a command to make pdfs, etc., rather than coding
it directly into Makefile.am.  I then used a dist-hook clause to remove
.texi files before they are wrapped up in a tar archive for distribution.
> I checked in the following change.  Does it fix the problem for you?
>
>   http://hg.savannah.gnu.org/hgweb/octave/rev/81c5ea6ddf81
>   
May I substitute my patch for yours later today?  Mine handles the
missing *.texi files and in addition gets the distribution and cleanfile
targets correct.

--Rik



reply via email to

[Prev in Thread] Current Thread [Next in Thread]