17db96d56Sopenharmony_ci# An absurd workaround for the lack of arithmetic in MS's resource compiler. 27db96d56Sopenharmony_ci# After building Python, run this, then paste the output into the appropriate 37db96d56Sopenharmony_ci# part of PC\python_nt.rc. 47db96d56Sopenharmony_ci# Example output: 57db96d56Sopenharmony_ci# 67db96d56Sopenharmony_ci# * For 2.3a0, 77db96d56Sopenharmony_ci# * PY_MICRO_VERSION = 0 87db96d56Sopenharmony_ci# * PY_RELEASE_LEVEL = 'alpha' = 0xA 97db96d56Sopenharmony_ci# * PY_RELEASE_SERIAL = 1 107db96d56Sopenharmony_ci# * 117db96d56Sopenharmony_ci# * and 0*1000 + 10*10 + 1 = 101. 127db96d56Sopenharmony_ci# */ 137db96d56Sopenharmony_ci# #define FIELD3 101 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_ciimport sys 167db96d56Sopenharmony_ci 177db96d56Sopenharmony_cimajor, minor, micro, level, serial = sys.version_info 187db96d56Sopenharmony_cilevelnum = {'alpha': 0xA, 197db96d56Sopenharmony_ci 'beta': 0xB, 207db96d56Sopenharmony_ci 'candidate': 0xC, 217db96d56Sopenharmony_ci 'final': 0xF, 227db96d56Sopenharmony_ci }[level] 237db96d56Sopenharmony_cistring = sys.version.split()[0] # like '2.3a0' 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ciprint(" * For %s," % string) 267db96d56Sopenharmony_ciprint(" * PY_MICRO_VERSION = %d" % micro) 277db96d56Sopenharmony_ciprint(" * PY_RELEASE_LEVEL = %r = %s" % (level, hex(levelnum))) 287db96d56Sopenharmony_ciprint(" * PY_RELEASE_SERIAL = %d" % serial) 297db96d56Sopenharmony_ciprint(" *") 307db96d56Sopenharmony_ci 317db96d56Sopenharmony_cifield3 = micro * 1000 + levelnum * 10 + serial 327db96d56Sopenharmony_ci 337db96d56Sopenharmony_ciprint(" * and %d*1000 + %d*10 + %d = %d" % (micro, levelnum, serial, field3)) 347db96d56Sopenharmony_ciprint(" */") 357db96d56Sopenharmony_ciprint("#define FIELD3", field3) 36