When using VS2012 or VS2013 for building iocpsock, the build fails a static assert regarding the time_t typedef. Reason is: some system headers are included early in iocpsockInt.h, they define time_t as a 64-bit entity. Then tclInt.h is included, which defines the _USE_32BIT_TIME_T macro, and then some other system headers are included which then trigger the static assert that time_t and time32_t have different sizes.
tclInt.h should be included first in iocpsockInt.h in order to have _USE_32BIT_TIME_T defined right away, but since I don't know what will break if the order of includes is changed, I just added a -D _USE_32BIT_TIME_T in makefile.vc as a workaround.
also the VCVERSION detection in rules.vc requires a fix for VC2013 since otherwise it looks in the wrong directory to find the TCL library when linking.
See iocpsock.patch attached.