URL:
<http://savannah.gnu.org/bugs/?40344>
Summary: Can't handle Windows long path names
Project: make
Submitted by: glandium
Submitted on: Tue 22 Oct 2013 04:49:10 AM GMT
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: 4.0
Operating System: MS Windows
Fixed Release: None
Triage Status: None
_______________________________________________________
Details:
(Reported by Vladimir Vukicevic on the mozilla bug tracker)
make 4.0 can't handle long path names, which need some special magic under
windows -- you need to use the unicode versions of the IO functions, and
prepend paths with the \\?\ UNC prefix. (Note that also turns off automatic /
-> \ conversion.) So, \\?\C:\foo\bar\baz instead of C:/foo/bar/baz or
similar.
STR:
$ cd c:/tmp # or wherever
$ mkdir -p
this-is-a-long-path-component-0/this-is-a-long-path-component-1/this-is-a-long-path-component-2/this-is-a-long-path-component-3/this-is-a-long-path-component-4/this-is-a-long-path-component-5
$ cd !$
$ echo hello > this-is-a-long-filename.txt
$ cat > Makefile <<EOF
all: success
success:
../../../../../../this-is-a-long-path-component-0/this-is-a-long-path-component-1/this-is-a-long-path-component-2/this-is-a-long-path-component-3/this-is-a-long-path-component-4/this-is-a-long-path-component-5/this-is-a-long-filename.txt
cp $< $@
EOF
$ make
make: *** No rule to make target
'../../../../../../this-is-a-long-path-component-0/this-is-a-long-path-component-1/this-is-a-long-path-component-2/this-is-a-long-path-component-3/this-is-a-long-path-component-4/this-is-a-long-path-component-5/this-is-a-long-filename.txt',
needed by 'success'. Stop.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?40344>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-make mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-make