bug-texinfo
[Top][All Lists]
Advanced

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

Re: Minor DJGPP specific fixes for texinfo-4.0d


From: Juan Manuel Guerrero
Subject: Re: Minor DJGPP specific fixes for texinfo-4.0d
Date: Tue, 27 Nov 2001 19:58:19 +0100

From: "Eli Zaretskii" <address@hidden>
Date: Tue, 27 Nov 2001 18:07:57 +0200

> From: "Juan Manuel Guerrero" <address@hidden>
> Date: Tue, 27 Nov 2001 15:04:40 +0100
> 
> I have noticed that makeinfo is not able to generate info files if the
> texinfo file have DOS-style EOL instead of UNIX-style EOL.
>
> What's the problem, exactly?  (I don't have the sources to look right
> now.)  IIRC, makeinfo reads input in text mode, so it should be
> oblivious to the EOL format.  Did that change somehow?  Or did
> someone add code that, once again, relies on stat to return the exact
> number of bytes as would be read by `read' or `fread'?


Sorry, but I do not know anything about all this. The bison authors use
texinfo 4.0b to make the info docs and I was not able to create a modified
version using DJGPP stock texinfo 4.0. I have looked for texinfo 4.0b
but I have only found texinfo 4.0d and tried to compile it out-of-the-box.
I have used gcc302, bash204, bnu2112 and CVS libc (timestamp 2001-11-08).

As long as I try to create an info file from fresh extracted bison.texinfo 
everything
works ok (bison.texinfo with UNIX-style EOL). As soon as I patch the file
using stock DJGPP patch binary I get a file with DOS-style EOL. Now the
compilation fails with this output:

  cd . \
    && E:/DJGPP-2.04/BIN/sh.exe ../config/missing --run makeinfo   \
         `echo bison.texinfo | sed 's,.*/,,'`
  bison.texinfo:32: Unknown index `fn' and/or `cp' in @synindex.
  bison.texinfo:33: Unknown index `vr' and/or `cp' in @synindex.
  bison.texinfo:34: Unknown index `tp' and/or `cp' in @synindex.
  ./bison.texinfo:5461: Cross reference to nonexistent node `Decl Summary'.
  ./bison.texinfo:5434: Cross reference to nonexistent node `Decl Summary'.
  ./bison.texinfo:2427: Cross reference to nonexistent node `Type Decl'.
  ./bison.texinfo:1190: Cross reference to nonexistent node `Grammar Layout'.
  makeinfo: Removing output file `e:/project/bison-1.30e/doc/bison.info' due to 
errors; use --force to preserve.
  make.exe: *** [bison.info] Error 1

As soon as I run dtou.exe on the patched bison.texinfo, makeinfo works ok again.
I was only interested in the info docs so I have not looked very deeply into
makeinfo.c to see what the reason  for this behaviour is.
In makeinfo.c I have found  char *find_and_load (filename) and this
function opens the file in binary mode.


From: "Tim Van Holder" <address@hidden>
Date: Tue, 27 Nov 2001 18:45:18 +0100

> 1) It is not possible to create doc.c and funs.h. The reason 
> is that the makefile rule to create them contains makedoc as
> dependency.  But the dependency
> should be makedoc$(EXEEXT). All this means that the following 
> line in Makefile.am:
> >
> $(BUILT_SOURCES): makedoc $(cmd_sources)
> 
> should be replaced by this one:
> 
>  $(BUILT_SOURCES): makedoc$(EXEEXT) $(cmd_sources)
> 
> Not true.  EXEEXT should be added by automake.  Automake <= 1.4
> require AC_EXEEXT in configure.in for this to happen; automake
> 1.5 always adds it (because autoconf 2.5x always sets EXEEXT).

I did not know this.

Regards,
Guerrero, Juan Manuel



reply via email to

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