summaryrefslogtreecommitdiffstats
path: root/PC/VS7.1/field3.py
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2007-12-31 14:51:18 (GMT)
committerChristian Heimes <christian@cheimes.de>2007-12-31 14:51:18 (GMT)
commit915d5d96d826c13cd6a89341fc1a2ce12811aea2 (patch)
tree40152f46513c2f98de86fee3ca66d44d9104f9af /PC/VS7.1/field3.py
parentcdaa2cbfd59b27a1ac2e8b0980967471ea35b777 (diff)
downloadcpython-915d5d96d826c13cd6a89341fc1a2ce12811aea2.zip
cpython-915d5d96d826c13cd6a89341fc1a2ce12811aea2.tar.gz
cpython-915d5d96d826c13cd6a89341fc1a2ce12811aea2.tar.bz2
Moved PCbuild directory to PC/VS7.1
Diffstat (limited to 'PC/VS7.1/field3.py')
-rw-r--r--PC/VS7.1/field3.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/PC/VS7.1/field3.py b/PC/VS7.1/field3.py
new file mode 100644
index 0000000..47f24ca
--- /dev/null
+++ b/PC/VS7.1/field3.py
@@ -0,0 +1,35 @@
+# 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