Date: Tue, 4 Jul 2000 21:17:09 -0400 (EDT) From: Frank Donahoe To: Eli Zaretskii cc: DJGPP List Subject: building flex 2.5.4 In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk I started to rebuild from sources on my hard disk those distributions for which the recent large upload did not include patched sources. With "flx254s.zip" I was surprised to find that the build failed when running in a DOS box (LFN enabled) under Windows98. I thought maybe the sources had been changed. The sources in .../v2gnu (Dec 1997) were about nine months later than the ones I have so I downloaded. This is not recommended. The differences are trivial and the earlier file had a more imaginative use of upper case letters. Only in flex-2.5-4: config.status diff -brU 2 flex-2.54a/misc/msdos/configur.bat flex-2.5-4/misc/msdos/configur.bat --- flex-2.54a/misc/msdos/configur.bat Mon Mar 24 11:56:22 1997 +++ flex-2.5-4/misc/msdos/configur.bat Tue Dec 9 14:12:52 1997 @@ -3,2 +3,3 @@ sed -f MISC/MSDOS/djgpp.sed Makefile.in > Makefile update MISC/MSDOS/config.h config.h +touch config.status `config.status' can be generated by running the configure script. The failure of the build process with LFN enabled is because an intermediate file `y.tab.c' is generated while the supplied Makefile expects to see `y_tab.c'. Expect to use the supplied source under plain DOS or when LFN are disabled. Below is a patch to the instructions. Regards, Frank ; - - - - begin patch --- gnu/flex-2.5-4/MISC/MSDOS/README~ Tue Mar 25 15:40:34 1997 +++ gnu/flex-2.5-4/MISC/MSDOS/README Tue Jul 4 19:07:46 2000 @@ -30,7 +30,23 @@ misc\msdos\configur.bat + + The distribution "flx254s.zip" is preconfigured for djgpp so the + above line is not needed with a fresh source tree. However make + failed trying to rebuild for djgpp 2.0.3 using binutils 2.10 with + LFN under Windows98. The problem is that an intermediate file + `y.tab.c' is built while the makefile expects to find `y_tab.c'. + Result - fatal error! For plain DOS or "LFN=n" disregard these + changes. What will work with "LFN=y" is: + + make distclean + sh configure --prefix=/dev/env/DJDIR --host=i386-pc-msdosdjgpp + cp -f misc/msdos/config.h . + + Edit Makefile, change CFLAGS from "-g -O" to "-g -O2", add -DMS_DOS + to DEFS, and change INSTALLMAN from man to cat. Then run: + make ; - - - - - end patch