changeset: 75059:42f61304f77d user: Antoine Pitrou date: Mon Feb 20 19:41:11 2012 +0100 files: Doc/whatsnew/3.3.rst Misc/NEWS Python/dynload_aix.c Python/dynload_dl.c Python/dynload_hpux.c Python/dynload_next.c Python/dynload_shlib.c description: Issue #14040: Remove rarely used file name suffixes for C extensions (under POSIX mainly). This will improve import performance a bit (especially under importlib). diff -r c760bd844222 -r 42f61304f77d Doc/whatsnew/3.3.rst --- a/Doc/whatsnew/3.3.rst Mon Feb 20 19:30:23 2012 +0100 +++ b/Doc/whatsnew/3.3.rst Mon Feb 20 19:41:11 2012 +0100 @@ -939,6 +939,20 @@ :c:func:`PyUnicode_FromFormat()`, your code will automatically take advantage of the new unicode representations. +Building C extensions +--------------------- + +* The range of possible file names for C extensions has been narrowed. + Very rarely used spellings have been suppressed: under POSIX, files + named ``xxxmodule.so``, ``xxxmodule.abi3.so`` and + ``xxxmodule.cpython-*.so`` are no longer recognized as implementing + the ``xxx`` module. If you had been generating such files, you have + to switch to the other spellings (i.e., remove the ``module`` string + from the file names). + + (implemented in :issue:`14040`.) + + Other issues ------------ diff -r c760bd844222 -r 42f61304f77d Misc/NEWS --- a/Misc/NEWS Mon Feb 20 19:30:23 2012 +0100 +++ b/Misc/NEWS Mon Feb 20 19:41:11 2012 +0100 @@ -10,6 +10,9 @@ Core and Builtins ----------------- +- Issue #14040: Remove rarely used file name suffixes for C extensions + (under POSIX mainly). + - Issue #14051: Allow arbitrary attributes to be set of classmethod and staticmethod. diff -r c760bd844222 -r 42f61304f77d Python/dynload_aix.c --- a/Python/dynload_aix.c Mon Feb 20 19:30:23 2012 +0100 +++ b/Python/dynload_aix.c Mon Feb 20 19:41:11 2012 +0100 @@ -28,7 +28,6 @@ const struct filedescr _PyImport_DynLoadFiletab[] = { {".so", "rb", C_EXTENSION}, - {"module.so", "rb", C_EXTENSION}, {0, 0} }; diff -r c760bd844222 -r 42f61304f77d Python/dynload_dl.c --- a/Python/dynload_dl.c Mon Feb 20 19:30:23 2012 +0100 +++ b/Python/dynload_dl.c Mon Feb 20 19:41:11 2012 +0100 @@ -11,7 +11,6 @@ const struct filedescr _PyImport_DynLoadFiletab[] = { {".o", "rb", C_EXTENSION}, - {"module.o", "rb", C_EXTENSION}, {0, 0} }; diff -r c760bd844222 -r 42f61304f77d Python/dynload_hpux.c --- a/Python/dynload_hpux.c Mon Feb 20 19:30:23 2012 +0100 +++ b/Python/dynload_hpux.c Mon Feb 20 19:41:11 2012 +0100 @@ -15,7 +15,6 @@ const struct filedescr _PyImport_DynLoadFiletab[] = { {SHLIB_EXT, "rb", C_EXTENSION}, - {"module"SHLIB_EXT, "rb", C_EXTENSION}, {0, 0} }; diff -r c760bd844222 -r 42f61304f77d Python/dynload_next.c --- a/Python/dynload_next.c Mon Feb 20 19:30:23 2012 +0100 +++ b/Python/dynload_next.c Mon Feb 20 19:41:11 2012 +0100 @@ -10,7 +10,6 @@ const struct filedescr _PyImport_DynLoadFiletab[] = { {".so", "rb", C_EXTENSION}, - {"module.so", "rb", C_EXTENSION}, {0, 0} }; diff -r c760bd844222 -r 42f61304f77d Python/dynload_shlib.c --- a/Python/dynload_shlib.c Mon Feb 20 19:30:23 2012 +0100 +++ b/Python/dynload_shlib.c Mon Feb 20 19:41:11 2012 +0100 @@ -39,7 +39,6 @@ const struct filedescr _PyImport_DynLoadFiletab[] = { #ifdef __CYGWIN__ {".dll", "rb", C_EXTENSION}, - {"module.dll", "rb", C_EXTENSION}, #else /* !__CYGWIN__ */ #if defined(PYOS_OS2) && defined(PYCC_GCC) {".pyd", "rb", C_EXTENSION}, @@ -48,15 +47,10 @@ #ifdef __VMS {".exe", "rb", C_EXTENSION}, {".EXE", "rb", C_EXTENSION}, - {"module.exe", "rb", C_EXTENSION}, - {"MODULE.EXE", "rb", C_EXTENSION}, #else /* !__VMS */ {"." SOABI ".so", "rb", C_EXTENSION}, - {"module." SOABI ".so", "rb", C_EXTENSION}, {".abi" PYTHON_ABI_STRING ".so", "rb", C_EXTENSION}, - {"module.abi" PYTHON_ABI_STRING ".so", "rb", C_EXTENSION}, {".so", "rb", C_EXTENSION}, - {"module.so", "rb", C_EXTENSION}, #endif /* __VMS */ #endif /* defined(PYOS_OS2) && defined(PYCC_GCC) */ #endif /* __CYGWIN__ */