I hereby predict that Microsoft will revert this decision, and that
    VS Express 11 will be able to build CPython.

But will it be able to target Windows XP?

I have now tried, and it seems that the chances are really low (unless you use the VS 2010 tool chain, in which case you can just as well use
VS 2010 Express in the first place).

The VS 11 linker sets the "OS version" and "subsystem version" to 6.0,
which means that XP refuses to recognize the files as executables. While
the /subsystem switch allows to specify a different version, specifying
5.02 (needed for XP) gives an error that this is smaller than the
minimum supported version. So for that reason alone, VS 11 cannot
produce binaries that work on XP, but that would be easy to change for
MS.

In addition, the CRT uses various API in its startup code already that
are Vista+. I already mentioned GetTickCount64, which is used to initialize the security cookie (for /GS). In addition, TLS is now implemented using FlsAlloc to better support fibers, which is also Vista+. This dependency cannot be easily broken, except to access FlsAlloc through LoadLibrary/GetProcAddress or weak externals. There
may be more dependencies on Vista+.

Regards,
Martin
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to