diff options
author | Steve Dower <steve.dower@microsoft.com> | 2014-12-16 04:45:23 (GMT) |
---|---|---|
committer | Steve Dower <steve.dower@microsoft.com> | 2014-12-16 04:45:23 (GMT) |
commit | 03a144bb6ac3d7631a3bdb895e2a1f2d021fb08b (patch) | |
tree | 3ecded55448b2078f717dc5c0edb2e4c62510073 /Python/dynload_win.c | |
parent | 09bd9ec9b3c563915b6428459032de6cda6c1336 (diff) | |
download | cpython-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.c | 21 |
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 */ |