Subject: Re: 3.81 and windows paths
From: "Paul D. Smith" <[email-masked]>
To: "John W. Eaton" <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Fri, 28 Jul 2006 17:41:52 -0400

%% "John W. Eaton" <[email-masked]> writes:

  jwe> On 28-Jul-2006, Paul D. Smith wrote:
  | This would be very tricky: right now all the code to do DOS vs. POSIX
  | pathnames is controlled through #ifdefs, so it's a compile-time thing.
  | Changing it to a runtime thing would be a lot of work, I think... the

  jwe> OK, but I still think it should be implemented as an optional
  jwe> feature that users can select unless we can prove that the
  jwe> feature doesn't cause trouble for valid Makefiles that use only
  jwe> Posix filenames.

As I said, we can definitely say it could cause trouble, but in pretty
rare situations (I believe).

Whether that's enough to cause Cygwin to reject this option is,
ultimately, up to them.

Note I'm not even thinking about making this feature available on
non-Windows systems as that just doesn't make sense.

  | #ifdeffing in GNU make is kind of a mess, with all the different ports
  | we support.

  jwe> Yes, that's unfortunate.  I don't think that it is necessary to
  jwe> use an intricate mess of #ifdefs all throughout a program to
  jwe> achieve portability to a wide variety of systems.  That seems to
  jwe> be a design decision that was made fairly early on in the
  jwe> development of Make (long before you became the maintainer, I
  jwe> would guess).

Yes, it's too bad.  Supporting wildly different host platforms can be
done much more cleanly BUT you need to do a lot of up-front work and put
a lot of thought into it.  Or, you can have something similar to
Apache's APR library or whatever available to you.

Obviously the GNU make ports weren't handled that way, for quite
reasonable reasons.  Even so there's a lot of room to clean this up now,
but not a lot of incentive I suppose.

I asked on some Amiga mailing lists whether that port was still used and
useful; if it wasn't I was going to rip it out which would have helped
a good bit.  But, by gosh, some people actually still do use it!

The next version of GNU make will require an ISO 1989 C compiler and
runtime library and give up supporting pre-standard K&R compilers.  That
will help a tiny little bit.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <[email-masked]>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/