Last Comment Bug 770165 - Pymake and GNU make have different inter-path separators on Windows
: Pymake and GNU make have different inter-path separators on Windows
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Build Config (show other bugs)
: Trunk
: All All
: -- normal (vote)
: mozilla17
Assigned To: Siddharth Agarwal [:sid0] (inactive)
:
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-07-02 06:39 PDT by Siddharth Agarwal [:sid0] (inactive)
Modified: 2012-07-26 05:11 PDT (History)
5 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
workaround/fix (505 bytes, patch)
2012-07-02 06:39 PDT, Siddharth Agarwal [:sid0] (inactive)
no flags Details | Diff | Splinter Review
patch (457 bytes, patch)
2012-07-23 14:20 PDT, Siddharth Agarwal [:sid0] (inactive)
khuey: review+
Details | Diff | Splinter Review

Description Siddharth Agarwal [:sid0] (inactive) 2012-07-02 06:39:18 PDT
Created attachment 638338 [details] [diff] [review]
workaround/fix

For inter-path separators (the : in PATH=/bin:/usr/bin) Pymake uses the Windows standard semicolon (;) while GNU make uses the Unix standard colon (:). This means vpath-directive.mk currently fails with GNU make but succeeds with pymake.

I've attached a patch that makes the test pass, but that doesn't seem to be the right thing to do. (Or is it?)

Two questions:
1. Can this be fixed at all?
2. Should this be fixed?
Comment 1 Benjamin Smedberg [:bsmedberg] 2012-07-02 06:46:25 PDT
It would be helpful if these patches could be against the pymake repository itself instead of the mozilla repo.

It is the correct behavior for VPATH to use the ; separator on Windows, because pymake operates on native paths, while msys make on windows operates on msys paths. So changing the test is probably the correct answer. This is one of the fundamental differences between pymake and msys make. I don't think that this is a problem if we're comparing against mingw32-make, though, which also operates on windows-style paths.
Comment 2 Siddharth Agarwal [:sid0] (inactive) 2012-07-02 06:49:10 PDT
> So changing the test is probably the correct answer.

Yes, that's what I first thought, but don't relative paths make this a bit murkier? So far I think we've been cheating our way into successfully building on Windows with Pymake by only using relative paths.
Comment 3 Mike Hommey [:glandium] 2012-07-02 06:54:21 PDT
(In reply to Benjamin Smedberg  [:bsmedberg] from comment #1)
> pymake operates on native paths, while msys make on windows operates
> on msys paths.

Note that's what makes building nss with pymake really hard.
Comment 4 Siddharth Agarwal [:sid0] (inactive) 2012-07-23 14:20:12 PDT
Created attachment 645068 [details] [diff] [review]
patch

per bsmedberg's recommendation.
Comment 6 Ed Morley [:emorley] 2012-07-26 05:11:41 PDT
https://hg.mozilla.org/mozilla-central/rev/30ad537fca91

Note You need to log in before you can comment on or make changes to this bug.