Use YASM to build libvpx on Win32

RESOLVED FIXED in mozilla2.0b7

Status

()

Core
Build Config
RESOLVED FIXED
7 years ago
7 years ago

People

(Reporter: Justin Lebar (not reading bugmail), Assigned: Justin Lebar (not reading bugmail))

Tracking

({dev-doc-complete})

Trunk
mozilla2.0b7
x86
Windows XP
dev-doc-complete
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(blocking2.0 betaN+)

Details

Attachments

(1 attachment, 1 obsolete attachment)

(Assignee)

Description

7 years ago
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.
(Assignee)

Updated

7 years ago
Depends on: 570477
(Assignee)

Comment 1

7 years ago
Created attachment 462263 [details] [diff] [review]
Use yasm to assemble libvpx on win32

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)
(Assignee)

Updated

7 years ago
Depends on: 583924
(Assignee)

Comment 2

7 years ago
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.
(Assignee)

Comment 4

7 years ago
All right; canceling this review until I add in the yasm version check.
(Assignee)

Updated

7 years ago
Attachment #462263 - Flags: review?(tterribe)
(Assignee)

Comment 5

7 years ago
Created attachment 465731 [details] [diff] [review]
Patch v2

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.
Per comment 6.
Keywords: dev-doc-needed
Comment on attachment 465731 [details] [diff] [review]
Patch v2

Nice.
Attachment #465731 - Flags: review?(ted.mielczarek) → review+
(Assignee)

Comment 9

7 years ago
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.
(Assignee)

Comment 12

7 years ago
(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?
(Assignee)

Comment 13

7 years ago
(In reply to comment #11)
> Make sure that when you rebase this on tip that you don't regress bug 587363.

Nice catch.  Thanks.
(Assignee)

Comment 14

7 years ago
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.
Blocks: 593753
(Assignee)

Comment 16

7 years ago
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.
(Assignee)

Updated

7 years ago
Attachment #465731 - Flags: approval2.0?
I don't believe blocking works transitively.
(Assignee)

Comment 18

7 years ago
(In reply to comment #17)
> I don't believe blocking works transitively.

Apparently not.  I'll request approval again.
(Assignee)

Updated

7 years ago
Attachment #465731 - Flags: approval2.0?
Alternately, you could request blocking since this blocks a blocker of a blocker. :)
(Assignee)

Updated

7 years ago
Attachment #465731 - Flags: approval2.0?
(Assignee)

Comment 20

7 years ago
Done.  :)
blocking2.0: --- → ?
blocking2.0: ? → betaN+
(Assignee)

Comment 21

7 years ago
Pushed to try: Try push: http://hg.mozilla.org/try/rev/ffdf2f66d8b8

If all goes well, I'll land tomorrow morning.
(Assignee)

Comment 22

7 years ago
cpearce actually pushed this patch to try yesterday, and it looked good.  I'll land soon!

http://hg.mozilla.org/try/rev/1178065b0dbb
http://hg.mozilla.org/mozilla-central/rev/3056a0e0d970
broke comm-central Windows!
(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?
(Assignee)

Comment 25

7 years ago
http://hg.mozilla.org/mozilla-central/rev/3056a0e0d970
Status: ASSIGNED → RESOLVED
Last Resolved: 7 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
(Assignee)

Comment 27

7 years ago
(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.
Keywords: dev-doc-needed → dev-doc-complete
Depends on: 608423

Comment 31

7 years ago
that means that is libjpeg turbo coming ?
You need to log in before you can comment on or make changes to this bug.