From: cgf AT bbc DOT com (Chris Faylor) Subject: Re: pathname conversion 24 Sep 1997 07:52:27 -0700 Message-ID: References: <342805a5 DOT 12665793 AT smtp DOT netzone DOT com> Reply-To: cgf AT bbc DOT com To: gnu-win32 AT cygnus DOT com In article <199709232045 DOT QAA04935 AT elektra DOT ultra DOT net>, John R. Dennis wrote: >Please note I am not suggesting removing support for better solutions >nor am I unappreciative of the fine work Cygnus has done on my >behalf. I'm just frustrated with using some of the tools because of >what seems to be a needless incompatibility. I suspect others are in >the same boat. Anybody else run into this problem? The incompatibility isn't exactly "needless". The intent of gnu-win32 from the start, as I understand it, was to provide a UNIX environment on Windows NT. UNIX does not think that an alphabetic character followed by a ':' at the beginning of a filename is special in any way. UNIX does not think that a '\' character in a filename is special in any way. Since neither colons or backslashes are special in a UNIX environment, they have been coopted for other uses. In a Makefile, a colon introduces a rule. On a shell command line, a backslash indicates that the next character is to be taken "literally". Working around these particular uses is not trivial. Cygnus has introduced the idea of a "mount table" similar to what is used in UNIX. This is a very powerful concept that allows one to map different drives or files into a monolithic filename space. The unfortunate aspect of this, however, is that if a program doesn't use cygwin.dll, it won't understand this mount table and confusion may ensue. But what is the alternative? If Cygnus had decided to modify every utility they could find so that it understood things like "C:\DOS\CHKDSK.COM" then they would not have added anything new to the Windows community. There are plenty of GNU-ported-to-DOS utilities out there. They chose to go a different way instead. They chose to provide a real, live UNIX environment for Windows 95/NT. GNU-WIN32 (or CYGWIN or whatever it is supposed to be called) is not perfect. It is a work in progress. Some things will never be possible. I suspect that transparent translation of native filespecs may be one of them. But even without that it is immensely useful to have a UNIX on Windows environment. Thanks to Cygnus (and Sergey, actually), I have been able to move most of my development environment (which is written in perl but makes heavy use of UNIX utilities) directly onto my NT system. That means that I can schedule remote builds on "serenade" (my NT system) from "hardy" (my DEC alpha system). That means that I can run nightly builds of my products on all of my systems where before a build on NT required firing up good ol' MSDEV, clicking on a bunch of stuff, and inspecting the output as it scrolled by. I'm sure that given enough time I could have laboriously ported things over to Windows NT or tracked down the myriad different utilities I needed to get things working. With GNU-WIN32 I didn't have to. -- http://www.bbc.com/ cgf AT bbc DOT com "Strange how unreal VMS=>UNIX Solutions Boston Business Computing the real can be." - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".