This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: 3.81 and windows paths
%% "John W. Eaton" <jwe@bevo.che.wisc.edu> 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 <psmith@gnu.org> 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/