Closed Bug 1084532 Opened 5 years ago Closed 5 years ago

Drop support for MSVC 2010

Categories

(Firefox Build System :: General, defect)

defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED
mozilla37

People

(Reporter: ehsan, Assigned: ehsan)

References

Details

Attachments

(2 files)

No description provided.
Assignee: nobody → ehsan.akhgari
This support will be removed in bug 1084056.
See Also: → 1084056
Attachment #8507102 - Flags: review?(mh+mozilla)
This probably means the end of our VMWare based record and replay setup for Windows :/
Maybe... As long as you can debug a binary compiled with vs2013 we might be able to continue using it. I doubt they changed their remote debugging protocol too much.
You can debug binaries compiled with newer MSVC versions using older ones just fine.
I would be surprised if the pdb format didn't evolve in non-backwards compatible ways at some point.  It is Microsoft though ...
FWIW, I've debugged VS2013 builds using old versions of WinDbg without any problems.
Comment on attachment 8507102 [details] [diff] [review]
Deprecate support for MSVC 2010

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

::: configure.in
@@ +484,5 @@
>              _CC_SUITE=10
>              MSVS_VERSION=2010
>              MSVC_C_RUNTIME_DLL=msvcr100.dll
>              MSVC_CXX_RUNTIME_DLL=msvcp100.dll
> +            AC_MSG_WARN([Support for MSVC 2010 is deprecated and planned to be removed in Gecko 37.  Please upgrade your compiler as soon as possible.])

So, the problem with this is that it's going to be completely invisible. It would probably be better to print something at the end of the most common commands. Or, even more aggressive, make the build fail the first time configure is run after a clobber with a message saying they can try again.

Something like:
  if test ! -f MSVC2010; then
    touch MSVC2010
    AC_MSG_ERROR([...])
  fi

Thoughts?
Attachment #8507102 - Flags: review?(mh+mozilla) → feedback-
(In reply to Mike Hommey [:glandium] from comment #8)
> Comment on attachment 8507102 [details] [diff] [review]
> Deprecate support for MSVC 2010
> 
> Review of attachment 8507102 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> ::: configure.in
> @@ +484,5 @@
> >              _CC_SUITE=10
> >              MSVS_VERSION=2010
> >              MSVC_C_RUNTIME_DLL=msvcr100.dll
> >              MSVC_CXX_RUNTIME_DLL=msvcp100.dll
> > +            AC_MSG_WARN([Support for MSVC 2010 is deprecated and planned to be removed in Gecko 37.  Please upgrade your compiler as soon as possible.])
> 
> So, the problem with this is that it's going to be completely invisible. It
> would probably be better to print something at the end of the most common
> commands. Or, even more aggressive, make the build fail the first time
> configure is run after a clobber with a message saying they can try again.
> 
> Something like:
>   if test ! -f MSVC2010; then
>     touch MSVC2010
>     AC_MSG_ERROR([...])
>   fi
> 
> Thoughts?

I think that is too aggressive.  This will also affect Thunderbird/SM, I believe.

Really if you don't think that anyone will notice either this or the discussion on dev-platform, perhaps there is no point in doing this in the first place.
(In reply to :Ehsan Akhgari (not reading bugmail, needinfo? me!, PTO 11/3-11/21) from comment #9)
> I think that is too aggressive.  This will also affect Thunderbird/SM, I
> believe.

We could limit this to --enable-application=browser

> Really if you don't think that anyone will notice either this or the
> discussion on dev-platform, perhaps there is no point in doing this in the
> first place.

I don't think anyone will notice a warning in the long configure output. I also know for a fact that many people don't read dev-platform. So it all depends what's thought to be best: trying to make them switch now, or definitely breaking their build once we switch. The former still allows to build for a while until people find the time to do the upgrade, while the latter makes them *have* to upgrade at the moment they build. Note that upgrading is something that requires, for employees, to go to service now and wait.
No matter what we do someone will be caught by surprise. All we can do is our due diligence and hope that most people upgrade in advance. Someone should post to dev.platform in advance, and maybe blog about it as well. I'm not sure that sticking a message in the configure spew will do much.
(In reply to Ted Mielczarek [:ted.mielczarek] from comment #11)
> I'm not sure that sticking a message in the configure spew will do much.

Which is why I suggested we failed the build the first time after a clobber. That wouldn't go unnoticed to anyone actively building in windows, as opposed to any other kind of announce.
(In reply to Mike Hommey [:glandium] from comment #10)
> We could limit this to --enable-application=browser

Then we should probably do it this way if we do it at all. It can be a terrible hack for now, it's just temporary. If it's too much work then let's just not bother.
I'll be away for three weeks, and I doubt I can get a review on a patch before I leave, even if I write it now.  So someone else please take this.
Assignee: ehsan.akhgari → nobody
OK, the time to drop support is close.  Pinged Callek on dev-platform to confirm.
Assignee: nobody → ehsan.akhgari
Summary: Deprecate support for MSVC 2010 → Drop support for MSVC 2010
Attachment #8536043 - Flags: review?(mh+mozilla)
(In reply to :Ehsan Akhgari (not reading bugmail, needinfo? me!) from comment #15)
> OK, the time to drop support is close.  Pinged Callek on dev-platform to
> confirm.

Thunderbird is still using MSVC 2010 to compile.
Since thunderbird is using the mmoco systems which have the newer MSVC is there any reason it can't switch?
(In reply to Justin Wood (:Callek) from comment #18)
> Since thunderbird is using the mmoco systems which have the newer MSVC is
> there any reason it can't switch?

Well, doing so makes the builds all go red.
(In reply to Joshua Cranmer [:jcranmer] from comment #17)
> Thunderbird is still using MSVC 2010 to compile.

Until when? We can't continue the support indefinitely.
Callek, IIRC when we talked about this before we had a solution for Thunderbird.  Do you remember what it was?

(Or did we just decide that Thunderbird will be switched by someone?  I think I was under the impression that Thunderbird is a non-issue for some reason...)
Flags: needinfo?(bugspam.Callek)
When we talked I had thought (incorrectly apparently) that it was a non-issue since the build farm for TB has MSVC 2013 installed.

I'm personally not sure that we should block you on them, since presumably its "just minor code" to fix incompatibilities with 2013 :-)  And not as big an issue as SeaMonkey [and I also suspect it would block SeaMonkey in a similar way as well]

But I don't want to speak for a project that I don't manage further.

Sending your n-i to joshua
Flags: needinfo?(bugspam.Callek) → needinfo?(Pidgeot18)
(In reply to :Ehsan Akhgari (not reading bugmail, needinfo? me!) from comment #21)
> Callek, IIRC when we talked about this before we had a solution for
> Thunderbird.  Do you remember what it was?

Well, what we need is for MSVC 2013 builds to work. I thought it was just installer bustage, but the debug builds under MSVC 2013 for Thunderbird seem to completely fail (see bug 1085767).
Flags: needinfo?(Pidgeot18)
Attachment #8536043 - Flags: review?(mh+mozilla) → review+
https://hg.mozilla.org/mozilla-central/rev/2d6076122820
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla37
Blocks: 1112622
Depends on: 1114577
Blocks: 1114577
No longer depends on: 1114577
Duplicate of this bug: 1084056
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.