Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upFix build for win32, remove --enable-gczeal that snuck back in #71
Conversation
|
Someone should test this on linux/osx with the removing of --enable-gczeal, but without the second patch -- we should see if this is a windows-specific gcc issue, or if we're doing something we shouldn't be. |
|
I'd like @michaelwu to take a look at the second commit. |
|
I think the original linking problem may be due to -fno-keep-inline-dllexport that is added to the gcc flags in configure... but haven't tested without, would rather get static linking working properly. |
|
Should this be two separate PRs? One to remove --enable-gc-zeal and one to fix building on windows? |
|
Sure? Note that I'm working through a bunch of this stuff in https://bugzilla.mozilla.org/show_bug.cgi?id=1238203 so that we get it all in upstream. |
|
An alternative to moving setTracingLocation and other functions is to remove those from the bindings - I don't think we need those functions, and they appear to be gone from upstream SM anyway. I'm fine with either solution though, since these functions are going to disappear in the future. |
|
Currently failing on linux with:
|
|
@vvuk You may already know, but if not, here's a note on the hackery so you don't need to allocate/delete critical sections - http://joeduffyblog.com/2006/11/28/windows-keyed-events-critical-sections-and-new-vista-synchronization-features/ |
|
Arg, PR_CallOnceWithArg went away in m-c sm, but I guess not here. I'll fix shortly. Same with just removing those methods from the tracer. As for critical sections... I had no idea about SRWLs. Since we're already depending on >= Vista, I'll switch to using them. |
|
It looks like this is passing CI builds now. @vvuk Is this ready to be reviewed/landed? |
|
@vvuk and @michaelwu Is there anything more that needs to be done here to land this? I think it's the last piece we need before we land the Win32 changes to Servo master. |
|
I'm happy with the approach here. |
|
Did rust-mozjs changes land, that had the removal of that in the bindings? |
|
Great, thanks! That did it for me :-) I'm opening the servo/servo PR, since it can land independently of these changes (which switch to static linking). That will let me start working on the CI/builder stuff. |
|
@bors-servo r=michaelwu |
|
|
Fix build for win32, remove --enable-gczeal that snuck back in For some reason, gcc isn't generating public symbols for setTracingLocation if they're defined inline in the class declaration in the header. There's probably an attribute we could apply or something, but this was the simplest way to get this to work. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/mozjs/71) <!-- Reviewable:end -->
|
|
…oal95 Win32 support r? @frewsxcv for python stuff r? @pcwalton for the "remove usage of Gaol" stuff for Win32 r? anybody else for misc cargo.lock updates, etc. This replaces #7878. This works best with servo/mozjs#71, too, to enable static linking, but can be run without (via some PATH hackery). The instructions are here, and will be added to a .md file in the repo once the mozjs changes also land: https://hackpad.com/Servo-on-Windows-C1LPcI2bP25 I'd like to get these changes landed because I've been rebasing them for months, they're otherwise quite stable, and don't affect our other platforms and targets. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9385) <!-- Reviewable:end -->
…sxcv,pcwalton,jdm,ecoal95 r? frewsxcv for python stuff r? pcwalton for the "remove usage of Gaol" stuff for Win32 r? anybody else for misc cargo.lock updates, etc. This replaces #7878. This works best with servo/mozjs#71, too, to enable static linking, but can be run without (via some PATH hackery). The instructions are here, and will be added to a .md file in the repo once the mozjs changes also land: https://hackpad.com/Servo-on-Windows-C1LPcI2bP25 I'd like to get these changes landed because I've been rebasing them for months, they're otherwise quite stable, and don't affect our other platforms and targets. Source-Repo: https://github.com/servo/servo Source-Revision: 525e77f64fc65ea2397b4ff3849f5b1f39386698 UltraBlame original commit: e89451f650e7a23ae482833c8f6c658e3ccc0b33
…sxcv,pcwalton,jdm,ecoal95 r? frewsxcv for python stuff r? pcwalton for the "remove usage of Gaol" stuff for Win32 r? anybody else for misc cargo.lock updates, etc. This replaces #7878. This works best with servo/mozjs#71, too, to enable static linking, but can be run without (via some PATH hackery). The instructions are here, and will be added to a .md file in the repo once the mozjs changes also land: https://hackpad.com/Servo-on-Windows-C1LPcI2bP25 I'd like to get these changes landed because I've been rebasing them for months, they're otherwise quite stable, and don't affect our other platforms and targets. Source-Repo: https://github.com/servo/servo Source-Revision: 525e77f64fc65ea2397b4ff3849f5b1f39386698 UltraBlame original commit: e89451f650e7a23ae482833c8f6c658e3ccc0b33
…sxcv,pcwalton,jdm,ecoal95 r? frewsxcv for python stuff r? pcwalton for the "remove usage of Gaol" stuff for Win32 r? anybody else for misc cargo.lock updates, etc. This replaces #7878. This works best with servo/mozjs#71, too, to enable static linking, but can be run without (via some PATH hackery). The instructions are here, and will be added to a .md file in the repo once the mozjs changes also land: https://hackpad.com/Servo-on-Windows-C1LPcI2bP25 I'd like to get these changes landed because I've been rebasing them for months, they're otherwise quite stable, and don't affect our other platforms and targets. Source-Repo: https://github.com/servo/servo Source-Revision: 525e77f64fc65ea2397b4ff3849f5b1f39386698 UltraBlame original commit: e89451f650e7a23ae482833c8f6c658e3ccc0b33
vvuk commentedJan 6, 2016
For some reason, gcc isn't generating public symbols for setTracingLocation if they're defined inline in the class declaration in the header. There's probably an attribute we could apply or something, but this was the simplest way to get this to work.