Closed
Bug 687225
Opened 13 years ago
Closed 13 years ago
configure does not detect MSVC 2011 compiler
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla10
People
(Reporter: gps, Assigned: gps)
References
Details
(Whiteboard: fixed-in-bs)
Attachments
(1 file, 2 obsolete files)
(deleted),
patch
|
Callek
:
review+
|
Details | Diff | Splinter Review |
I'm trying to build mozilla-central on Windows 8 with the Visual Studio 2011 toolchain and am getting the following error when running configure: checking for strip... no checking for windres... no checking for midl... midl configure: error: This version (17.00.40825.2) of the MSVC compiler is unsupport ed. See https://developer.mozilla.org/en/Windows_Build_Prerequisites. *** Fix above errors and then restart with "c:/mozilla-build/pytho n/python.exe c:/dev/mozilla-central/build/pymake/pymake/../make.py -f client.mk build" c:\dev\mozilla-central\client.mk:315:0: command 'cd obj-i686-pc-mingw32 && c:/ dev/mozilla-central/configure \ || ( echo "*** Fix above errors and then restart with\ \"c:/mozilla-build/python/python.exe c:/dev/mozilla-central/build /pymake/pymake/../make.py -f client.mk build\"" && exit 1 )' failed, return code 1 I'll likely have a patch in a few minutes...
Assignee | ||
Comment 1•13 years ago
|
||
This (trivial) patch detects the MSVC 2011 compiler in configure. When applied, `make.py -f client.mk configure` works! (Although, there still might be a few warnings related to Windows 8/MSVC 2011 in there.) But, at least this patch unblocks on Windows 8 compiling.
Comment 2•13 years ago
|
||
You also need to fix */installer/package-manifest.in and */installer/removed-files.in for the corresponding CRT.
Comment 3•13 years ago
|
||
And I forgot toolkit/mozapps/installer/packager.mk, too
Assignee | ||
Comment 4•13 years ago
|
||
Ahh, good catch. I didn't realize those existed. My compilation hasn't yet reached the installer phase. I could incorporate those into the patch easily enough or I can create a part 2 once compilation gets that far.
Comment 5•13 years ago
|
||
Oh, and you made me remember of yet another one: build/win32/Makefile.in. Man, we really need to group that.
Assignee | ||
Comment 6•13 years ago
|
||
OK, I'll upload a new patch shortly. In the meantime, the output from `make.py -f client.mk configure` without an existing objdir is at http://gps.pastebin.mozilla.org/1333021. I don't know enough about our build system (yet) to determine if there is anything fishy.
Comment 7•13 years ago
|
||
Nothing seems wrong at first (quick) glance. Note that for the CRT to be installed, you need to manually set the WIN32_REDIST_DIR variable.
Comment 8•13 years ago
|
||
Comment on attachment 560677 [details] [diff] [review] Detect MSVC2011 Compiler in configure Review of attachment 560677 [details] [diff] [review]: ----------------------------------------------------------------- ::: configure.in @@ +731,5 @@ > AC_DEFINE(_CRT_NONSTDC_NO_WARNINGS) > + elif test "$_CC_MAJOR_VERSION" = "17"; then > + _CC_SUITE=11 > + AC_DEFINE(_CRT_SECURE_NO_WARNINGS) > + AC_DEFINE(_CRT_NONSTDC_NO_WARNINGS) I wonder if we shouldn't just fold these three blocks together now, like: elif test $_CC_MAJOR_VERSION -ge 15; then _CC_SUITE=$(( $_CC_MAJOR_VERSION - 6 )) ... What do you think?
Attachment #560677 -
Flags: review?(ted.mielczarek) → review+
Assignee | ||
Comment 9•13 years ago
|
||
Actually, I should have canceled the review since there were some missing files per comment #2. As for rolling everything together, it is very tempting. We run the risk of something in the future not following convention. But, I suppose we can cross that bridge if it comes to that. I'll upload a new patch when I have access to the computer it is on.
Assignee | ||
Comment 10•13 years ago
|
||
This version adds checks to files that were missed in the first iteration. I confirmed that detection and compilation works in both x86 and x64 modes.
Attachment #560677 -
Attachment is obsolete: true
Attachment #564093 -
Flags: review?(ted.mielczarek)
Comment 11•13 years ago
|
||
Comment on attachment 564093 [details] [diff] [review] Detect MSVC2011 Compiler in configure, v2 Review of attachment 564093 [details] [diff] [review]: ----------------------------------------------------------------- ::: build/win32/Makefile.in @@ +97,5 @@ > +ifeq (1700,$(_MSC_VER)) > +REDIST_FILES = \ > + msvcp110.dll \ > + msvcr110.dll \ > + $(NULL) Please use two-space indent here. Apparently I've been bad about enforcing that in this file. Feel free to fix the rest of them to match if you'd like.
Attachment #564093 -
Flags: review?(ted.mielczarek) → review+
Assignee | ||
Comment 12•13 years ago
|
||
This is the same as the last patch (which received r+) except it corrects whitespace in build/win32/Makefile.in, as suggested by reviewer. I don't have checkin privileges, so on r+, please check it in for me.
Attachment #564093 -
Attachment is obsolete: true
Attachment #564458 -
Flags: review?(ted.mielczarek)
Comment 13•13 years ago
|
||
Comment on attachment 564458 [details] [diff] [review] Detect MSVC2011 in configure, v3 I verified this has no other changes, and meets ted's review requirement. Saving him the trouble and setting checkin-needed. Someone will get this into the tree shortly.
Attachment #564458 -
Flags: review?(ted.mielczarek) → review+
Comment 14•13 years ago
|
||
r+=ted for posterity for checkin
Keywords: checkin-needed
Whiteboard: c-n note: r+=ted
Comment 15•13 years ago
|
||
https://hg.mozilla.org/projects/build-system/rev/fe2e10601158
Keywords: checkin-needed
Whiteboard: c-n note: r+=ted → fixed-in-bs
https://hg.mozilla.org/mozilla-central/rev/fe2e10601158
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla10
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•