Issue #14040: Remove rarely used file name suffixes for C extensions (under POSIX mainly).

This will improve import performance a bit (especially under importlib).
This commit is contained in:
Antoine Pitrou 2012-02-20 19:41:11 +01:00
parent ea6b4d5f70
commit c229e6e8ff
7 changed files with 17 additions and 10 deletions

View File

@ -939,6 +939,20 @@ Porting C code
: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
------------

View File

@ -10,6 +10,9 @@ What's New in Python 3.3 Alpha 1?
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.

View File

@ -28,7 +28,6 @@ typedef struct Module {
const struct filedescr _PyImport_DynLoadFiletab[] = {
{".so", "rb", C_EXTENSION},
{"module.so", "rb", C_EXTENSION},
{0, 0}
};

View File

@ -11,7 +11,6 @@ extern char *Py_GetProgramName(void);
const struct filedescr _PyImport_DynLoadFiletab[] = {
{".o", "rb", C_EXTENSION},
{"module.o", "rb", C_EXTENSION},
{0, 0}
};

View File

@ -15,7 +15,6 @@
const struct filedescr _PyImport_DynLoadFiletab[] = {
{SHLIB_EXT, "rb", C_EXTENSION},
{"module"SHLIB_EXT, "rb", C_EXTENSION},
{0, 0}
};

View File

@ -10,7 +10,6 @@
const struct filedescr _PyImport_DynLoadFiletab[] = {
{".so", "rb", C_EXTENSION},
{"module.so", "rb", C_EXTENSION},
{0, 0}
};

View File

@ -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 @@ const struct filedescr _PyImport_DynLoadFiletab[] = {
#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__ */