Closed Bug 919069 Opened 6 years ago Closed 6 years ago

AccessibleMarshal.dll fails to build on VS2013 amd64_x86 cross-compile

Categories

(Firefox Build System :: General, defect)

x86_64
Windows 7
defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED
mozilla27

People

(Reporter: dmajor, Assigned: dmajor)

References

Details

Attachments

(1 file, 1 obsolete file)

error LNK2001: unresolved external symbol _ISimpleDOMDocument_ProxyFileInfo
error LNK2001: unresolved external symbol _ISimpleDOMNode_ProxyFileInfo
error LNK2001: unresolved external symbol _ISimpleDOMText_ProxyFileInfo
AccessibleMarshal.dll : fatal error LNK1120: 3 unresolved externals

The MIDL-generated ISimpleDOMText_p.c and friends are getting wrapped in |#if defined(_M_AMD64)| so the entire file reduces to nothing on our 32-bit build.

I suspect we've got the wrong /env settings in http://dxr.mozilla.org/mozilla-central/source/configure.in#l505
Summary: VS2013 amd64_x86 cross-compile puts → AccessibleMarshal.dll fails to build on VS2013 amd64_x86 cross-compile
This is the version on my system:
Microsoft (R) 32b/64b MIDL Compiler Version 8.00.0603
CC some people who were involved with Bug 471854 - Build error in accessible/public/msaa on x64 Windows with VC8

Do we really need the highly-specific version checks on MIDL? It seems like if the target is x86, then we always want |-env win32|, whether or not it's the default option. I guess the only concern might be if some older versions of MIDL didn't understand |-env|. Any thoughts?
Our minimum requirement is already VS2010, so older MIDL would not be a concern.
dmajor: that sounds sensible.
Attached patch midl_env (obsolete) — Splinter Review
Turns out nobody else was using the version variables so I just removed them. Too much?
Attachment #808958 - Flags: review?(ted)
Comment on attachment 808958 [details] [diff] [review]
midl_env

Review of attachment 808958 [details] [diff] [review]:
-----------------------------------------------------------------

Nope, removing unnecessary cruft is great.

::: configure.in
@@ +494,1 @@
>          AC_MSG_CHECKING([for midl flags])

I'd probably just drop the AC_MSG_{CHECKING,RESULT} while you're here too. It's not actually checking anything.
Attachment #808958 - Flags: review?(ted) → review+
patch for checkin -- removed AC comments as requested
Assignee: nobody → dmajor
Attachment #808958 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #810016 - Flags: review+
Keywords: checkin-needed
Component: General → Build Config
https://hg.mozilla.org/mozilla-central/rev/d10ded33e522
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla27
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.