summaryrefslogtreecommitdiffstats
path: root/Python/dynload_win.c
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@microsoft.com>2014-12-16 04:45:23 (GMT)
committerSteve Dower <steve.dower@microsoft.com>2014-12-16 04:45:23 (GMT)
commit03a144bb6ac3d7631a3bdb895e2a1f2d021fb08b (patch)
tree3ecded55448b2078f717dc5c0edb2e4c62510073 /Python/dynload_win.c
parent09bd9ec9b3c563915b6428459032de6cda6c1336 (diff)
downloadcpython-03a144bb6ac3d7631a3bdb895e2a1f2d021fb08b.zip
cpython-03a144bb6ac3d7631a3bdb895e2a1f2d021fb08b.tar.gz
cpython-03a144bb6ac3d7631a3bdb895e2a1f2d021fb08b.tar.bz2
#22980 Adds platform and version tags to .pyd files
Diffstat (limited to 'Python/dynload_win.c')
-rw-r--r--Python/dynload_win.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/Python/dynload_win.c b/Python/dynload_win.c
index ffcf0ee..9ed9eea 100644
--- a/Python/dynload_win.c
+++ b/Python/dynload_win.c
@@ -9,6 +9,7 @@
#include <ctype.h>
#include "importdl.h"
+#include "patchlevel.h"
#include <windows.h>
// "activation context" magic - see dl_nt.c...
@@ -17,16 +18,28 @@ extern ULONG_PTR _Py_ActivateActCtx();
void _Py_DeactivateActCtx(ULONG_PTR cookie);
#endif
-const char *_PyImport_DynLoadFiletab[] = {
#ifdef _DEBUG
- "_d.pyd",
+#define PYD_DEBUG_SUFFIX "_d"
+#else
+#define PYD_DEBUG_SUFFIX ""
+#endif
+
+#define STRINGIZE2(x) #x
+#define STRINGIZE(x) STRINGIZE2(x)
+#ifdef PYD_PLATFORM_TAG
+#define PYD_TAGGED_SUFFIX PYD_DEBUG_SUFFIX ".cp" STRINGIZE(PY_MAJOR_VERSION) STRINGIZE(PY_MINOR_VERSION) "-" PYD_PLATFORM_TAG ".pyd"
#else
- ".pyd",
+#define PYD_TAGGED_SUFFIX PYD_DEBUG_SUFFIX ".cp" STRINGIZE(PY_MAJOR_VERSION) STRINGIZE(PY_MINOR_VERSION) ".pyd"
#endif
+
+#define PYD_UNTAGGED_SUFFIX PYD_DEBUG_SUFFIX ".pyd"
+
+const char *_PyImport_DynLoadFiletab[] = {
+ PYD_TAGGED_SUFFIX,
+ PYD_UNTAGGED_SUFFIX,
NULL
};
-
/* Case insensitive string compare, to avoid any dependencies on particular
C RTL implementations */