0
0
mirror of https://github.com/python/cpython.git synced 2024-12-01 11:15:56 +01:00
cpython/PCbuild9/field3.py
Christian Heimes ad14d11a5e Initial import of new PCbuild9 for VS 2008. It partly based on PCbuild and partly hand crafted with some idea from PCbuild8. I've recreated all the extension module projects.
The new directory needs some more love and care but it works. I'm not able to test the AMD64 build.

The new tree is heavily using the *.vcprops property sheets. Please set any global settings in the property sheets.
2007-11-17 08:15:27 +00:00

36 lines
974 B
Python

# An absurd workaround for the lack of arithmetic in MS's resource compiler.
# After building Python, run this, then paste the output into the appropriate
# part of PC\python_nt.rc.
# Example output:
#
# * For 2.3a0,
# * PY_MICRO_VERSION = 0
# * PY_RELEASE_LEVEL = 'alpha' = 0xA
# * PY_RELEASE_SERIAL = 1
# *
# * and 0*1000 + 10*10 + 1 = 101.
# */
# #define FIELD3 101
import sys
major, minor, micro, level, serial = sys.version_info
levelnum = {'alpha': 0xA,
'beta': 0xB,
'candidate': 0xC,
'final': 0xF,
}[level]
string = sys.version.split()[0] # like '2.3a0'
print(" * For %s," % string)
print(" * PY_MICRO_VERSION = %d" % micro)
print(" * PY_RELEASE_LEVEL = %r = %s" % (level, hex(levelnum)))
print(" * PY_RELEASE_SERIAL = %d" % serial)
print(" *")
field3 = micro * 1000 + levelnum * 10 + serial
print(" * and %d*1000 + %d*10 + %d = %d" % (micro, levelnum, serial, field3))
print(" */")
print("#define FIELD3", field3)