mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
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:
parent
ea6b4d5f70
commit
c229e6e8ff
7 changed files with 17 additions and 10 deletions
|
@ -939,6 +939,20 @@ Porting C code
|
||||||
:c:func:`PyUnicode_FromFormat()`, your code will automatically take
|
:c:func:`PyUnicode_FromFormat()`, your code will automatically take
|
||||||
advantage of the new unicode representations.
|
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
|
Other issues
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,9 @@ What's New in Python 3.3 Alpha 1?
|
||||||
Core and Builtins
|
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
|
- Issue #14051: Allow arbitrary attributes to be set of classmethod and
|
||||||
staticmethod.
|
staticmethod.
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,6 @@ typedef struct Module {
|
||||||
|
|
||||||
const struct filedescr _PyImport_DynLoadFiletab[] = {
|
const struct filedescr _PyImport_DynLoadFiletab[] = {
|
||||||
{".so", "rb", C_EXTENSION},
|
{".so", "rb", C_EXTENSION},
|
||||||
{"module.so", "rb", C_EXTENSION},
|
|
||||||
{0, 0}
|
{0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,6 @@ extern char *Py_GetProgramName(void);
|
||||||
|
|
||||||
const struct filedescr _PyImport_DynLoadFiletab[] = {
|
const struct filedescr _PyImport_DynLoadFiletab[] = {
|
||||||
{".o", "rb", C_EXTENSION},
|
{".o", "rb", C_EXTENSION},
|
||||||
{"module.o", "rb", C_EXTENSION},
|
|
||||||
{0, 0}
|
{0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
|
|
||||||
const struct filedescr _PyImport_DynLoadFiletab[] = {
|
const struct filedescr _PyImport_DynLoadFiletab[] = {
|
||||||
{SHLIB_EXT, "rb", C_EXTENSION},
|
{SHLIB_EXT, "rb", C_EXTENSION},
|
||||||
{"module"SHLIB_EXT, "rb", C_EXTENSION},
|
|
||||||
{0, 0}
|
{0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
|
|
||||||
const struct filedescr _PyImport_DynLoadFiletab[] = {
|
const struct filedescr _PyImport_DynLoadFiletab[] = {
|
||||||
{".so", "rb", C_EXTENSION},
|
{".so", "rb", C_EXTENSION},
|
||||||
{"module.so", "rb", C_EXTENSION},
|
|
||||||
{0, 0}
|
{0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,6 @@
|
||||||
const struct filedescr _PyImport_DynLoadFiletab[] = {
|
const struct filedescr _PyImport_DynLoadFiletab[] = {
|
||||||
#ifdef __CYGWIN__
|
#ifdef __CYGWIN__
|
||||||
{".dll", "rb", C_EXTENSION},
|
{".dll", "rb", C_EXTENSION},
|
||||||
{"module.dll", "rb", C_EXTENSION},
|
|
||||||
#else /* !__CYGWIN__ */
|
#else /* !__CYGWIN__ */
|
||||||
#if defined(PYOS_OS2) && defined(PYCC_GCC)
|
#if defined(PYOS_OS2) && defined(PYCC_GCC)
|
||||||
{".pyd", "rb", C_EXTENSION},
|
{".pyd", "rb", C_EXTENSION},
|
||||||
|
@ -48,15 +47,10 @@ const struct filedescr _PyImport_DynLoadFiletab[] = {
|
||||||
#ifdef __VMS
|
#ifdef __VMS
|
||||||
{".exe", "rb", C_EXTENSION},
|
{".exe", "rb", C_EXTENSION},
|
||||||
{".EXE", "rb", C_EXTENSION},
|
{".EXE", "rb", C_EXTENSION},
|
||||||
{"module.exe", "rb", C_EXTENSION},
|
|
||||||
{"MODULE.EXE", "rb", C_EXTENSION},
|
|
||||||
#else /* !__VMS */
|
#else /* !__VMS */
|
||||||
{"." SOABI ".so", "rb", C_EXTENSION},
|
{"." SOABI ".so", "rb", C_EXTENSION},
|
||||||
{"module." SOABI ".so", "rb", C_EXTENSION},
|
|
||||||
{".abi" PYTHON_ABI_STRING ".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},
|
{".so", "rb", C_EXTENSION},
|
||||||
{"module.so", "rb", C_EXTENSION},
|
|
||||||
#endif /* __VMS */
|
#endif /* __VMS */
|
||||||
#endif /* defined(PYOS_OS2) && defined(PYCC_GCC) */
|
#endif /* defined(PYOS_OS2) && defined(PYCC_GCC) */
|
||||||
#endif /* __CYGWIN__ */
|
#endif /* __CYGWIN__ */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue