From: "Juan Manuel Guerrero" Organization: Darmstadt University of Technology To: eliz AT is DOT elta DOT co DOT il Date: Tue, 27 Nov 2001 19:58:19 +0100 Subject: Re: Minor DJGPP specific fixes for texinfo-4.0d CC: bug-texinfo AT gnu DOT org, djgpp-workers AT delorie DOT com In-reply-to: <9003-Tue27Nov2001180757+0200-eliz@is.elta.co.il> References: <2D28476DAE AT HRZ1 DOT hrz DOT tu-darmstadt DOT de> (ST001906 AT HRZ1 DOT HRZ DOT TU-Darmstadt DOT De) X-mailer: Pegasus Mail for Windows (v2.54DE) Message-ID: <320E0C3160@HRZ1.hrz.tu-darmstadt.de> Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk From: "Eli Zaretskii" Date: Tue, 27 Nov 2001 18:07:57 +0200 > From: "Juan Manuel Guerrero" > 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" 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