build-openssl.bat: Refer to VS2017 as VC14.1 instead of VC15 #2189

Closed
wants to merge 1 commit into
from

Conversation

Projects
None yet
6 participants
@jay
Member

jay commented Dec 22, 2017

.. and do the same for build-wolfssl.bat.

  • Refer to VS2017 as VC14.1 instead of VC15.

  • Support Enterprise and Professional variants.

Closes #xxxx


Another WIP. @captain-caveman2k as far as I can tell VS2017 is referred to as VC14.1 not VC15. I had some related confusion about this last year and I asked on the MS forums whether it's 14.10 or 14.1 and they said 14.1.

Regarding Enterprise/Professional I haven't tested them yet but I assume they are the same. Basically I added an autodetect so the build script could find the version in order of preference Enterprise -> Professional -> Community

Also there is a Microsoft tool vswhere for more precise Visual Studio location for 2010+.

@jay jay added the build label Dec 22, 2017

@MarcelRaad

MarcelRaad approved these changes Jan 4, 2018 edited

Yeah, it's VS 15, but VC 14.1 or 14.10/11/12. And CL 19.10/11/12. But they promised to get rid of that version mess for the next major version :-)

@bagder

This comment has been minimized.

Show comment Hide comment
@bagder

bagder Feb 5, 2018

Member

Made obsolete with be03364?

Member

bagder commented Feb 5, 2018

Made obsolete with be03364?

@jay jay changed the title from build-openssl.bat: Enhance VS2017 support to build-openssl.bat: Refer to VS2017 as VC14.1 instead of VC15 Feb 5, 2018

build-openssl.bat: Refer to VS2017 as VC14.1 instead of VC15
.. and do the same for build-wolfssl.bat.

Because MS calls it VC14.1.

Closes #2189
@jay

This comment has been minimized.

Show comment Hide comment
@jay

jay Feb 5, 2018

Member

Made obsolete with be03364?

hm. Alright I rebased on master. The remaining issue is calling it VC14.1 instead of VC15.

Member

jay commented Feb 5, 2018

Made obsolete with be03364?

hm. Alright I rebased on master. The remaining issue is calling it VC14.1 instead of VC15.

@captain-caveman2k

This comment has been minimized.

Show comment Hide comment
@captain-caveman2k

captain-caveman2k Feb 10, 2018

Member

The remaining issue is calling it VC14.1 instead of VC15

I believe 14.1 is the version of the compiler and also the toolchain.

The VC in VC15 is kind of short for Visual C++ from the days before Visual Studio. Visual Studio 2017 itself is version 15.

If memory serves me correctly it was known as Dev15 during development and VS "15" during beta - the latest non-preview release is 15.5.6 which I'm running.

Member

captain-caveman2k commented Feb 10, 2018

The remaining issue is calling it VC14.1 instead of VC15

I believe 14.1 is the version of the compiler and also the toolchain.

The VC in VC15 is kind of short for Visual C++ from the days before Visual Studio. Visual Studio 2017 itself is version 15.

If memory serves me correctly it was known as Dev15 during development and VS "15" during beta - the latest non-preview release is 15.5.6 which I'm running.

@jay

This comment has been minimized.

Show comment Hide comment
@jay

jay Feb 10, 2018

Member

Yeah but what I'm saying is it's Visual C++ 14.1 not Visual C++ 15. This is the first time the VS number is different from the VC number (VS15 uses VC14.1)

Member

jay commented Feb 10, 2018

Yeah but what I'm saying is it's Visual C++ 14.1 not Visual C++ 15. This is the first time the VS number is different from the VC number (VS15 uses VC14.1)

@bagder

This comment has been minimized.

Show comment Hide comment
@bagder

bagder Feb 15, 2018

Member

Lots of sources online say "14.1" for VS 2017. Anyone against?

Member

bagder commented Feb 15, 2018

Lots of sources online say "14.1" for VS 2017. Anyone against?

@rodwiddowson

This comment has been minimized.

Show comment Hide comment
@rodwiddowson

rodwiddowson Feb 15, 2018

Contributor

Splitting hairs:

C:\Users\Rod Widdowson>cl /?
Microsoft (R) C/C++ Optimizing Compiler Version 19.12.25835 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

So the compiler is version 19.12

The "Platform Toolset" is "Visual Studio 2017 (v141)" (no dots) but that is selectable (in the vcxproj file for msbuild systems, not sure for nmake) going all the way back to at least VC10 with and without XP support.

The Platform is "Visual Studio 15" (mine is 15.5.6, 'cos that has the Spectre switches).

I don't know where that leaves you,

Contributor

rodwiddowson commented Feb 15, 2018

Splitting hairs:

C:\Users\Rod Widdowson>cl /?
Microsoft (R) C/C++ Optimizing Compiler Version 19.12.25835 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

So the compiler is version 19.12

The "Platform Toolset" is "Visual Studio 2017 (v141)" (no dots) but that is selectable (in the vcxproj file for msbuild systems, not sure for nmake) going all the way back to at least VC10 with and without XP support.

The Platform is "Visual Studio 15" (mine is 15.5.6, 'cos that has the Spectre switches).

I don't know where that leaves you,

@MarcelRaad

This comment has been minimized.

Show comment Hide comment
@MarcelRaad

MarcelRaad Feb 15, 2018

Member

I'd agree with 14.1 because:

  • only the compiler executable itself is version 19.1x, the linker and other build tools' version and even the folder it resides in is 14.1x
  • the C/C++ toolset is not as tightly coupled to the IDE anymore as it used to be. You can install the 14.0 toolset with VS2017 without having VS2015 installed, use the 14.1 toolset from VS2015 via a NuGet package, or just install the build tools without any Visual Studio IDE.
  • other libraries, notably Boost, also had that discussion and finally agreed on 14.1
Member

MarcelRaad commented Feb 15, 2018

I'd agree with 14.1 because:

  • only the compiler executable itself is version 19.1x, the linker and other build tools' version and even the folder it resides in is 14.1x
  • the C/C++ toolset is not as tightly coupled to the IDE anymore as it used to be. You can install the 14.0 toolset with VS2017 without having VS2015 installed, use the 14.1 toolset from VS2015 via a NuGet package, or just install the build tools without any Visual Studio IDE.
  • other libraries, notably Boost, also had that discussion and finally agreed on 14.1
@rodwiddowson

This comment has been minimized.

Show comment Hide comment
@rodwiddowson

rodwiddowson Feb 15, 2018

Contributor

I’d +1 @MarcelRaad said. Fwiw

Contributor

rodwiddowson commented Feb 15, 2018

I’d +1 @MarcelRaad said. Fwiw

@Jan-E

This comment has been minimized.

Show comment Hide comment
@Jan-E

Jan-E Mar 14, 2018

Contributor

In the PHP world they are retaining VC15, apparently because the CRT is VC15(0):
http://news.php.net/php.internals.win/1174
http://news.php.net/php.internals.win
https://windows.php.net/download/

Also, in the Apache for Windows world VC15 is the norm:
https://www.apachelounge.com/download/

So, I am -1

Contributor

Jan-E commented Mar 14, 2018

In the PHP world they are retaining VC15, apparently because the CRT is VC15(0):
http://news.php.net/php.internals.win/1174
http://news.php.net/php.internals.win
https://windows.php.net/download/

Also, in the Apache for Windows world VC15 is the norm:
https://www.apachelounge.com/download/

So, I am -1

@bagder bagder closed this in 222de37 Apr 6, 2018

@Jan-E Jan-E referenced this pull request in winlibs/cURL Apr 6, 2018

Closed

VC version 14.1 #8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment