This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Correct VS2015's impending CCTYPE
authorSteve Hay <steve.m.hay@googlemail.com>
Sat, 25 Jul 2015 12:41:42 +0000 (13:41 +0100)
committerSteve Hay <steve.m.hay@googlemail.com>
Sat, 25 Jul 2015 13:05:04 +0000 (14:05 +0100)
commitb2e53f8c24a0cbc953dd050caf9e040731252cc6
tree8c86c0fc0b3a49de65f528edbda2ffeb368d8ad8
parentc362894ac718bfc04eb640500d7507ea87da1de3
Correct VS2015's impending CCTYPE

VS2013 was version 12.0, so VS2015 would be expected to be 13.0, not 15.0,
so the CCTYPE would be MSVC130, not MSVC150. However, VS2015 (just released
on 20 July) actually installs to somewhere like "C:\Program Files (x86)\
Microsoft Visual Studio 14.0" and sets "VisualStudioVersion=14.0" in the
environment, so they seem to have skipped version 13.0 (superstition?!) and
gone to version 14.0 instead. So our next CCTYPE will be MSVC140.

Unfortunately, it currently doesn't work. Changes to the CRT give linker
problems that are fixed by dropping -nodefaultlib, but changes to the FILE
structure are more of a problem. Tweaks in Makefile and config_sh.PL to
undef d_stdiobase/USE_STDIO_BASE and d_sdtsdtio/USE_STDIO_PTR etc go some
way to help, but there is still trouble compiling perlio.c (which accesses
f->_file in PerlIOStdio_invalidate_fileno) and win32/win32.c (which
accesses (pf)->_flag in win32_fdupopen).

(This commit also changes referencs to version N.x to simply N.0 since they
all are .0 only, except for the .NET 2002/2003 releases, which were 7.0/7.1
respectively.)
win32/Makefile
win32/makefile.mk