This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add support for building with Visual C++ 2013
authorSteve Hay <steve.m.hay@googlemail.com>
Tue, 22 Oct 2013 17:05:17 +0000 (18:05 +0100)
committerSteve Hay <steve.m.hay@googlemail.com>
Tue, 22 Oct 2013 17:12:23 +0000 (18:12 +0100)
commit3e7c2d43f6ca98041fe070aeb1caf1177867ca3c
tree45b7fcd665cd93491c2b89799e8fc7603d8b9409
parent46879fadd034dcb5d6f720076845767f8ccf152d
Add support for building with Visual C++ 2013

Two tests (t/io/fs.t and cpan/HTTP-Tiny/t/110_mirror.t) fail on my system,
currently in Daylight Saving Time, both due to times written/read by
utime()/stat() being off by one hour...

Not sure what the issue is yet, but I've reproduced it in this C program:

#include <stdio.h>
#include <sys/stat.h>
#include <sys/utime.h>
void main(void) {
  struct _utimbuf ut;
  struct _stat st;
  time_t t;
  t = 760060800;
  printf("Setting: %ld\n", t);
  ut.actime = t;
  ut.modtime = t;
  if (_utime("test.c", &ut) == -1) {
    perror("_utime failed\n");
    return;
  }
  if (_stat("test.c", &st) != 0) {
    perror("_stat failed\n");
    return;
  }
  printf("  atime: %ld\n", st.st_atime);
  printf("  mtime: %ld\n", st.st_mtime);
}

which outputs

Setting: 760060800
  atime: 760057200
  mtime: 760057200

with VC++ 2013, instead of

Setting: 760060800
  atime: 760060800
  mtime: 760060800

like Visual C++ 6.0 through 2012 all do.
README.win32
pod/perldelta.pod
win32/Makefile
win32/makefile.mk
win32/win32.h