On Mon, Mar 08, 2010 at 04:21:16PM -0800, Ilguiz Latypov wrote: >The attached patch allows executing a path in backslash notation. This >can be tested in the Cygwin builds of GNU make with the "DOS >compatibility" compile-time option of GNU make enabled, such as those >from Cygwin make packages 3.79 and 3.80. > >$ cat dos-compat.mak >default: > ..\echo.exe test > C:\<FULLPATH>\echo.exe test > >$ ./make.exe --win32 -f dos-compat.mak >..\echo.exe test >test >C:\<FULLPATH>\echo.exe test >test > >The patch cannot be tested by simply running a command in backslash >notation in the existing Cygwin build of bash or pdksh because these >shells re-implement the search of the potential executable command. I >believe these re-implementations are for improved user interaction and >platform-independent security. > >The patch is a blind conjecture because I am not fully aware about the >intention of find_exec() in spawn.cc. Its implementation seems >exceedingly complicated to me, and the comments in the middle of the >function about refusing a full Windows path contradict the description >of the function above its prototype.
The cygwin mailing list archive should be replete with past discussions about this issue. The bottom line is that if you want to use MS-DOS paths, then use a MinGW or DJGPP version of make.exe. make.exe is not going to be patched. In fact, I'm reconsidering my pledge to adopt some of the changes that are currently in the make source control for allowing MS-DOS paths with Cygwin's make. So it is possible that the next version of make won't have this "ability" either. cgf -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple