|
1 #include <stdio.h> |
|
2 #include "patchlevel.h" |
|
3 /* |
|
4 * This program prints out an include file containing fields required to build |
|
5 * the version info resource of pythonxx.dll because the resource compiler |
|
6 * cannot do the arithmetic. |
|
7 */ |
|
8 /* |
|
9 * FIELD3 is the third field of the version number. |
|
10 * This is what we'd like FIELD3 to be: |
|
11 * |
|
12 * #define FIELD3 (PY_MICRO_VERSION*1000 + PY_RELEASE_LEVEL*10 + PY_RELEASE_SERIAL) |
|
13 * |
|
14 * but that neither gives an error nor comes anywhere close to working. |
|
15 * |
|
16 * For 2.4a0, |
|
17 * PY_MICRO_VERSION = 0 |
|
18 * PY_RELEASE_LEVEL = 'alpha' = 0xa |
|
19 * PY_RELEASE_SERIAL = 0 |
|
20 * |
|
21 * gives FIELD3 = 0*1000 + 10*10 + 0 = 100 |
|
22 */ |
|
23 int main(int argc, char **argv) |
|
24 { |
|
25 printf("/* This file created by make_versioninfo.exe */\n"); |
|
26 printf("#define FIELD3 %d\n", |
|
27 PY_MICRO_VERSION*1000 + PY_RELEASE_LEVEL*10 + PY_RELEASE_SERIAL); |
|
28 printf("#define MS_DLL_ID \"%d.%d\"\n", |
|
29 PY_MAJOR_VERSION, PY_MINOR_VERSION); |
|
30 printf("#ifndef _DEBUG\n"); |
|
31 printf("#define PYTHON_DLL_NAME \"python%d%d.dll\"\n", |
|
32 PY_MAJOR_VERSION, PY_MINOR_VERSION); |
|
33 printf("#else\n"); |
|
34 printf("#define PYTHON_DLL_NAME \"python%d%d_d.dll\"\n", |
|
35 PY_MAJOR_VERSION, PY_MINOR_VERSION); |
|
36 printf("#endif\n"); |
|
37 return 0; |
|
38 } |