Use YASM to build libvpx on Win32

RESOLVED FIXED in mozilla2.0b7

Status

defect
RESOLVED FIXED
9 years ago
Last year

People

(Reporter: justin.lebar+bug, Assigned: justin.lebar+bug)

Tracking

({dev-doc-complete})

Trunk
mozilla2.0b7
x86
Windows XP
Dependency tree / graph

Firefox Tracking Flags

(blocking2.0 betaN+)

Details

Attachments

(1 attachment, 1 obsolete attachment)

I'm told that yasm now fully supports SAFESEH on Win32, so we should, in theory, be able to build libvpx on Win32 using the newest version of yasm.
Depends on: 570477
I tested this with yasm r2348 [1] on Windows 7. 

The yasm devs indicated to me that they'd be willing to spin a 1.0.2 release sometime soon, although personally I'm fine including their trunk build in Mozilla Build.

[1] http://www.tortall.net/projects/yasm/snapshots/r2348/yasm-r2348.exe
Attachment #462263 - Flags: review?(tterribe)
Depends on: 583924
This patch should probably check the yasm version to make sure it's 1.1.0 or greater.  (v1.1.0 is the final name of the 1.0.2 release mentioned above.)  My configure-fu is not so great, however.
Generally you'd just run yasm --version and use sed to capture the version number, then do some awful shell logic to test that the version is what you want.
All right; canceling this review until I add in the yasm version check.
Attachment #462263 - Flags: review?(tterribe)
Posted patch Patch v2Splinter Review
Now with a yasm version check.

Of course, we can't check this in at least until yasm 1.1 is on the Windows build machines and is included in some version of mozilla-build.
Assignee: nobody → justin.lebar+bug
Attachment #462263 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #465731 - Flags: review?(ted.mielczarek)
The documentation at https://developer.mozilla.org/en/YASM will need to be updated. Just noting that here so that it's not forgotten.
Comment on attachment 465731 [details] [diff] [review]
Patch v2

Nice.
Attachment #465731 - Flags: review?(ted.mielczarek) → review+
Comment on attachment 465731 [details] [diff] [review]
Patch v2

Requesting approval 2.0.  Thanks for the review!
Attachment #465731 - Flags: approval2.0?
We can't land this without bug 583924 being fixed anyway, right?
Make sure that when you rebase this on tip that you don't regress bug 587363.
(In reply to comment #10)
> We can't land this without bug 583924 being fixed anyway, right?

Yes.  Do you think I should wait to request approval until that one gets fixed?
(In reply to comment #11)
> Make sure that when you rebase this on tip that you don't regress bug 587363.

Nice catch.  Thanks.
Ted, I'm not too familiar with how we handle updates which will break people if they're using the old MozillaBuild.  Can we check this in (pending approval) now that the win32 build machines have the new yasm, or do we need to somehow notify Windows users that the need to update their build system?
If it won't break the build machines you can land it. If you're going to require everyone to update to MozillaBuild 1.5.1, please post to dev.planning and blog about it before landing, so most people know. Also, make the error message on Windows very explicit about updating to MozillaBuild 1.5.1.
Actually, this blocks bug 593753 which blocks bug 584253 which blocks release, so I don't need approval for this patch.

I posted to dev.planning and will post to my blog (and syndicate to pmo) tomorrow.
Attachment #465731 - Flags: approval2.0?
I don't believe blocking works transitively.
(In reply to comment #17)
> I don't believe blocking works transitively.

Apparently not.  I'll request approval again.
Attachment #465731 - Flags: approval2.0?
Alternately, you could request blocking since this blocks a blocker of a blocker. :)
Attachment #465731 - Flags: approval2.0?
Done.  :)
blocking2.0: --- → ?
Pushed to try: Try push: http://hg.mozilla.org/try/rev/ffdf2f66d8b8

If all goes well, I'll land tomorrow morning.
cpearce actually pushed this patch to try yesterday, and it looked good.  I'll land soon!

http://hg.mozilla.org/try/rev/1178065b0dbb
(In reply to comment #23)
> http://hg.mozilla.org/mozilla-central/rev/3056a0e0d970
> broke comm-central Windows!

You probably need to install YASM 1.1 (or the new MozillaBuild 1.5.1?) on the c-c build machines?
http://hg.mozilla.org/mozilla-central/rev/3056a0e0d970
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
(In reply to comment #24)
> You probably need to install YASM 1.1 (or the new MozillaBuild 1.5.1?) on the
> c-c build machines?

Bug 594468.
I just wished this bug had waited for the updates to be done :-/
Depends on: 594468
Target Milestone: --- → mozilla2.0b6
(In reply to comment #26)
> Bug 594468.
> I just wished this bug had waited for the updates to be done :-/

I'm sorry.  I tried to make sure we'd been loud enough about this change, but I clearly didn't do a good enough job.
Depends on: 599567
Would someone like to update these pages to mention that YASM is required, and details about how to get and install it? Should be pretty trivial, but would be best coming from someone that's done it:

https://developer.mozilla.org/En/Developer_Guide/Build_Instructions/Windows_Prerequisites#Software_Requirements

https://developer.mozilla.org/en/YASM

https://developer.mozilla.org/En/Simple_Firefox_build
It comes with MozillaBuild 1.5.1, so updating the docs should be easy.
Someone (Ted, I presume) updated the main YASM page. I took care of the other two.
Depends on: 608423

Comment 31

9 years ago
that means that is libjpeg turbo coming ?

Updated

Last year
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.