/PC/make_versioninfo.c

http://unladen-swallow.googlecode.com/ · C · 38 lines · 18 code · 0 blank · 20 comment · 0 complexity · db485d93aa67de6989325b089086f4c7 MD5 · raw file

  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. }