* makedepend does not honor UNC path for -I and -Y
@ 2022-02-02 17:02 Ronald Hoogenboom
2022-02-06 16:47 ` Jon Turney
0 siblings, 1 reply; 4+ messages in thread
From: Ronald Hoogenboom @ 2022-02-02 17:02 UTC (permalink / raw)
To: cygwin
cygwin makedepend collapses the double-slash UNC path prefix to one single slash. It fails to find headers via such search paths.
Cygwin 3.2.0-1 on windows server 2012 R2
makedepend 1.0.6
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: makedepend does not honor UNC path for -I and -Y
2022-02-02 17:02 makedepend does not honor UNC path for -I and -Y Ronald Hoogenboom
@ 2022-02-06 16:47 ` Jon Turney
2022-02-07 8:59 ` Ronald Hoogenboom
0 siblings, 1 reply; 4+ messages in thread
From: Jon Turney @ 2022-02-06 16:47 UTC (permalink / raw)
To: Ronald Hoogenboom, The Cygwin Mailing List
On 02/02/2022 17:02, Ronald Hoogenboom wrote:
> cygwin makedepend collapses the double-slash UNC path prefix to one single slash. It fails to find headers via such search paths.
>
> Cygwin 3.2.0-1 on windows server 2012 R2
> makedepend 1.0.6
Thanks for reporting this.
I suspect that this is an upstream bug in makedepend, in that it does
some canonicalization on paths, and assumes that '//' is the same as '/'
everywhere in a path, which isn't true for an initial '//' (but happens
to work on Linux, etc.)
See SUSv4 Base specifications, section 4.13 "Pathname Resolution" ([1],
registration required):
"If a pathname begins with two successive <slash> characters, the first
component following the leading <slash> characters may be interpreted in
an implementation-defined manner, although more than two leading <slash>
characters shall be treated as a single <slash> character."
Unfortunately, you're probably going to have to fix this yourself, if
it's causing you problems.
Fortunately, makedepend is relatively small (See [2]).
[1]
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_13
[2] https://gitlab.freedesktop.org/xorg/util/makedepend
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: makedepend does not honor UNC path for -I and -Y
2022-02-06 16:47 ` Jon Turney
@ 2022-02-07 8:59 ` Ronald Hoogenboom
2022-02-08 13:27 ` Jon Turney
0 siblings, 1 reply; 4+ messages in thread
From: Ronald Hoogenboom @ 2022-02-07 8:59 UTC (permalink / raw)
To: Jon Turney, The Cygwin Mailing List
Thanks, Jon.
I solved this by 'relativizing' paths before passing to makedepend using realpath --relative-to (from coreutils).
Since makedepend is not heavily used anymore now gcc has the -MMD option, I wonder if the maintainers are taking any pull requests... If they don't and I create a patch, will cygwin add it in their build process of tools?
-----Original Message-----
From: Jon Turney <jon.turney@dronecode.org.uk>
Sent: Sunday, 6 February 2022 5:48 PM
To: Ronald Hoogenboom <RHoogenboom@irdeto.com>; The Cygwin Mailing List <cygwin@cygwin.com>
Subject: Re: makedepend does not honor UNC path for -I and -Y
On 02/02/2022 17:02, Ronald Hoogenboom wrote:
> cygwin makedepend collapses the double-slash UNC path prefix to one single slash. It fails to find headers via such search paths.
>
> Cygwin 3.2.0-1 on windows server 2012 R2 makedepend 1.0.6
Thanks for reporting this.
I suspect that this is an upstream bug in makedepend, in that it does some canonicalization on paths, and assumes that '//' is the same as '/'
everywhere in a path, which isn't true for an initial '//' (but happens to work on Linux, etc.)
See SUSv4 Base specifications, section 4.13 "Pathname Resolution" ([1], registration required):
"If a pathname begins with two successive <slash> characters, the first component following the leading <slash> characters may be interpreted in an implementation-defined manner, although more than two leading <slash> characters shall be treated as a single <slash> character."
Unfortunately, you're probably going to have to fix this yourself, if it's causing you problems.
Fortunately, makedepend is relatively small (See [2]).
[1]
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_13
[2] https://gitlab.freedesktop.org/xorg/util/makedepend
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: makedepend does not honor UNC path for -I and -Y
2022-02-07 8:59 ` Ronald Hoogenboom
@ 2022-02-08 13:27 ` Jon Turney
0 siblings, 0 replies; 4+ messages in thread
From: Jon Turney @ 2022-02-08 13:27 UTC (permalink / raw)
To: Ronald Hoogenboom, The Cygwin Mailing List
On 07/02/2022 08:59, Ronald Hoogenboom wrote:
> I solved this by 'relativizing' paths before passing to makedepend
> using realpath --relative-to (from coreutils). Since makedepend is
> not heavily used anymore now gcc has the -MMD option, I wonder if the
> maintainers are taking any pull requests... If they don't and I
Probably yes.
> create a patch, will cygwin add it in their build process of tools?
Definitely yes.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-02-08 13:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-02 17:02 makedepend does not honor UNC path for -I and -Y Ronald Hoogenboom
2022-02-06 16:47 ` Jon Turney
2022-02-07 8:59 ` Ronald Hoogenboom
2022-02-08 13:27 ` Jon Turney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).