delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/09/02/11:59:44

Date: Tue, 2 Sep 1997 18:58:56 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: djgpp AT delorie DOT com
Subject: Re: Rebuilding gcc - "c-parse.gperf" not found
In-Reply-To: <3409d234.8669182@snews.zippo.com>
Message-ID: <Pine.SUN.3.91.970902185836.22592B-100000@is>
MIME-Version: 1.0

On Sun, 31 Aug 1997, Peter J. Farley III wrote:

> You misunderstood me, I think.  It's not the files that need renaming
> to make the makefile work, it's the makefile itself that still has
> long names, when the files themselves have, in fact, all been made 8.3
> clean (or so it appears to me so far).  Even the initial
> "configur.bat" file in the gnu\gcc-2721 directory calls
> "config\msdos\configure" instead of "config\msdos\configur", and
> promptly gets "Bad command or filename" as an error message!

That is exactly what I had in mind.  The zip should include
configure.bat, not configur.bat.  Then, when you unzip it on non-LFN
platform, you get configur.bat which will work (since non-LFN
platforms silently truncate excess characters), while on LFN
platforms, Make will find the full-length configure.bat and be happy
also.

That's why I said that the _zip_ file is not LFN-clean.

> I will, indeed notify DJ of everything I find.  I'm also writing a
> Gawk program to scan through the makefile and clean all the long names
> to 8.3, with a double-check to see that the 8.3 actually exists before
> performing the rename.

IMHO, this is the wrong way of achieving the goal.  The file names
should be stored with their full length in the zip file, not
truncated.  If you truncate them, you will need to make too many
changes in the Makefile, which might be a pain when you use the
original Unix Makefile with minimal changes.

> Another thought just occurred to me.  If I turn OFF LFN support, would
> that let the makefile work as-is?

It won't work for every package.  Don't forget that Makefiles and
batch files sometimes call DOS commands like `copy', `ren' etc., and
these don't know about the LFN variable.  They always expect to see
the long file names.

So the only way to make it work on both types of systems is to make
the zip file store long file names which don't conflict when they are
unzipped on non-LFN machine (for example Makefile.in.in should be
stored as Makefile.in-in).

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019