Subject: Re: change in behavior of make from 3.80 to 3.81
From: Corinna Vinschen <[email-masked]>
To: [email-masked]
Cc: Eli Zaretskii <[email-masked]>
Date: Thu, 17 Aug 2006 11:35:51 +0200

On Aug 17 05:05, Eli Zaretskii wrote:
> > Date: Wed, 16 Aug 2006 15:52:59 -0400 (EDT)
> > From: Igor Peshansky <[email-masked]>
> > cc: [email-masked]
> > 
> > Alternatively, you can try to implement a $(cygpath ...) function in make
> > and submit *that* to the upstream maintainers.
> 
> FWIW, I don't think such a function is a good idea, and if it is
> proposed on the Make mailing list, I will probably object to it.
> 
> The reason is that adding such a function goes against portability of
> Makefiles across different ports of Make, and also adds a too-tight
> coupling between Make and the Cygwin file-name handling (i.e., every
> change in how /cygdrive/ is handled in Cygwin will require a
> corresponding change in Make).  While these disadvantages are not a
> catastrophe, I don't see a need to punish Make by them when a better
> and easier solution is available (i.e. use the existing HAVE_DOS_PATHS
> code, perhaps with some Cygwin-specific changes).  Contrary to what
> some people said in this thread, I don't see any problems that could
> hamper the Cygwin build of Make if it supported drive letters, since
> Windows doesn't allow colons anywhere else in file names anyway.

That's not quite right.  Colons are also used in file names when the
file name denotes an alternative named stream on NTFS file systems.

Try this on NTFS:

  $ echo 'Normal data stream' > foo
  $ echo 'Alternative named data stream' > foo:bar
  $ ls -l foo*
  -rw-r--r-- 1 corinna root 19 Aug 17 11:33 foo   < Note the file length!
  $ cat foo
  Normal data stream
  $ cat foo:bar
  Alternative named data stream

For a more detailed description, see
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/file_streams.asp

Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
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/