64-bit Perl 5.20.1 with Visual Studio 2013 Community Edition on Windows 8.1

Microsoft have made Visual Studio 2013 Community Edition available. You can use it for free under what I consider to be fairly liberal provisions:

Q: Who can use Visual Studio Community?

A: Here’s how individual developers can use Visual Studio Community:

  • Any individual developer can use Visual Studio Community to create their own free or paid apps.

  • Here’s how Visual Studio Community can be used in organizations:

    An unlimited number of users within an organization can use Visual Studio Community for the following scenarios: in a classroom learning environment, for academic research, or for contributing to open source projects.

    For all other usage scenarios: In non-enterprise organizations, up to 5 users can use Visual Studio Community. In enterprise organizations (meaning those with >250 PCs or > $1MM in annual revenue), no use is permitted beyond the open source, academic research, and classroom learning environment scenarios described above.

So, I went ahead, and downloaded it. The dialog told me I needed 10 GB for the installation. So, I waited some. At first, I omitted the phone SDK … I am assuming I can download that later if I do want to give it a shot.

My Windows 8 laptop is now close to a decade old. It now has 4 GB memory installed, but can only see 3 GB by design. VS 2013 CE claims it needs 1 GB memory. We’ll see how we command line builds work with what I have.

Unfortunately, following the 40 minute install process was done, something happened to the network connection. After a quick restart, I found 19 important updates waiting for me in the Windows Update queue. While waiting for those to install, I configured a ConEmu tab for VS 2013 x64 Native Tools Command Prompt:

I then switched to perl-5.20.1\win32, and edited the Makefile

CCTYPE = MSVC120
…
CCHOME = C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64
CCINCDIR = C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include
CCLIBDIR = C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\amd64

to make sure the linker found the 64-bit libraries.

I also set:

OPTIMIZE = -O1 /favor:INTEL64 -MD -Zi -DNDEBUG

because, after all, I have an Intel CPU in this thing.

Then, I typed nmake and pressed Enter.

It is too bad that there are soo many conversion from size_t to I32 warnings here. I should look into this at some point. For now, these custom built versions are only being used on my own laptop to see if things work, modules build etc, so it is not a priority.

nmake test ended with a few test failures I had not seen before:

I can come back to those later.

In the mean time, I downloaded and installed cpanm and cpan-outdated, and issued a:

C:\Users\user> cpan-outdated | cpanm -v

Next, it’s going to be the latest version of OpenSSL, and a whole bunch of other Perl modules that are currently installed alongside the other perl 5.20.1 built with the WinSDK 7.1 compiler.

For now, the updated modules are compiling.