[Python-checkins] cpython: some horrible preprocessing tricks to automatically update the tag

benjamin.peterson python-checkins at python.org
Sat Jun 4 00:50:49 CEST 2011


http://hg.python.org/cpython/rev/d31d141f11b1
changeset: 70631:d31d141f11b1
parent: 70621:7878a096ed94
user: Benjamin Peterson <benjamin at python.org>
date: Fri Jun 03 17:50:16 2011 -0500
summary:
 some horrible preprocessing tricks to automatically update the tag
files:
 Python/import.c | 12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/Python/import.c b/Python/import.c
--- a/Python/import.c
+++ b/Python/import.c
@@ -110,8 +110,12 @@
 TAG and PYC_TAG_UNICODE must change for each major Python release. The magic
 number will take care of any bytecode changes that occur during development.
 */
+#define QUOTE(arg) #arg
+#define STRIFY(name) QUOTE(name)
+#define MAJOR STRIFY(PY_MAJOR_VERSION)
+#define MINOR STRIFY(PY_MINOR_VERSION)
 #define MAGIC (3180 | ((long)'\r'<<16) | ((long)'\n'<<24))
-#define TAG "cpython-32"
+#define TAG "cpython-" MAJOR MINOR;
 #define CACHEDIR "__pycache__"
 static const Py_UNICODE CACHEDIR_UNICODE[] = {
 '_', '_', 'p', 'y', 'c', 'a', 'c', 'h', 'e', '_', '_', '0円'};
@@ -119,7 +123,11 @@
 static long pyc_magic = MAGIC;
 static const char *pyc_tag = TAG;
 static const Py_UNICODE PYC_TAG_UNICODE[] = {
- 'c', 'p', 'y', 't', 'h', 'o', 'n', '-', '3', '2', '0円'};
+ 'c', 'p', 'y', 't', 'h', 'o', 'n', '-', PY_MAJOR_VERSION + 48, PY_MINOR_VERSION + 48, '0円'};
+#undef QUOTE
+#undef STRIFY
+#undef MAJOR
+#undef MINOR
 
 /* See _PyImport_FixupExtensionObject() below */
 static PyObject *extensions = NULL;
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /