Date: Tue, 14 Jul 1998 10:06:55 +0300 (IDT) From: Eli Zaretskii To: Dave Love cc: Andris Pavenis , "Gurunandan R. Bhat" , Alexey Yakovlev , djgpp-workers AT delorie DOT com, fortran AT gnu DOT org Subject: Re: Inconsistencies between g77 v0.5.23 and v0.5.19 In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On 13 Jul 1998, Dave Love wrote: > Eli> If the reason is that older non-ANSI Unix libraries don't > Eli> support "b" in a destructive way, then just test for ANSI > Eli> (__STDC__) or Posix, and if one of those is supported, always > Eli> use "b". This should solve the problem for DJGPP, as well for > Eli> any other standard-complying environment. > > I'm not sure that's wise. I'd rather special-case DJGPP and similar > systems. I would be glad to know why do you feel that way. > Eli> Or did I miss something? > > SunOS (or some other BSD-ish system(s)), I think, at least in some > circumstances. If you mean the non-ANSI libc on these systems, then they are the minority these days. So if you need at all to test for system-specific definition (as opposed to something tested by the configure script), I'd suggest to test for those special systems which cannot live with "b" as ANSI requires. > >> The behaviour for cygwin32, at least, depends > >> on how you mount the file system, not on the library > >> intrinsically. > > Eli> True, but AFAIK using "b" won't hurt, regardless of how the file > Eli> system is mounted. > > It would if a configure test running a program indicated it wasn't > needed but it really was when you come to use a different filesystem. What I meant was that most modern libraries will support "b" even if it has no effect on the target filesystem. So always using "b" for files that might need it on some systems is the portable way of solving these problems for ANSI-complying libraries. And AFAIK, Cygwin32 features an ANSI-complying library. > I certainly > failed with the only autoconfed (non-GNU) program I can remember > trying under DJGPP. I'd expect various things to break because of > filenames, if nothing else. Only for files like config.h.in etc., and even that can be taken care of by using the output:input feature. Another way of handling that is to run the DJGPP port of Autoconf, which takes care of this automatically. (The lazy ones just run the original script on Windows 9X where such names are allowed ;-).