On Thu, Jun 26, 2008 at 10:43 PM, Eli Zaretskii <[EMAIL PROTECTED]> wrote: >> Date: Thu, 26 Jun 2008 14:44:38 +0400 >> From: "Vitaly Murashev" <[EMAIL PROTECTED]> >> Cc: bug-make@gnu.org >> >> > . It doesn't add an explicit drive letter to file names such as >> > "/foo/bar", and generally treats such names incorrectly. >> >> You are right, and i suppose that the best way is to keep original GNU >> Make behavior intact for this case. >> E.g. "/foo/bar" must be treated as full qualified path even on MS Windows. > > No, I think it should prefix the drive letter of the current disk. > >> > . It doesn't produce fully qualified file names from drive-relative >> > names such as "d:foo/bar". >> >> Not really. My patch produces the same output for "d:foo/bar" >> and for "d:/foo/bar", the result is "d:/foo/bar" > > Yes, but "d:foo/bar" and "d:/foo/bar" are not the same thing. The > former refers to the current directory on drive d:, which could be > different from the root. > >> > . It assumes Windows file names use only `/' as directory separator >> > character, while in reality there could be `\' as well. >> >> Yes, it does, but before my patch it assumes the same. And as i can >> understand it is a common behavior for GNU Make. > > No, GNU Make supports both types of slashes. >
Hello Eli. Thanks for discussion. I reworked all discussed defects and want to suggest a new patch again. Also please note, that in the original (without suggested patch) GNU Make v.3.81 code like this: --- $(info $(abspath C:/../../../../..)) --- on MS Windows crashes make.exe with exception: "e:\test\make-3.81\Debug\make_msvc.net2003.exe": Interrupt/Exception caught (code = 0xc00000fd, addr = 0x43fa59) It is occurs not always but when the count of ".."-elements in the above code exeeds the count of path-elements in current directory plus one.
function.patch
Description: Binary data
_______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make