mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 19:43:32 +00:00
d26d7ae0e4
Building o//third_party/python now takes 5 seconds on my PC This change works towards modifying Python to use runtime dispatching when appropriate. For example, when loading the magnums in the socket module, it's a good idea to check if the magnum is zero, because that means the local system platform doesn't support it.
22 lines
641 B
C
22 lines
641 B
C
/* clang-format off */
|
|
|
|
/* Support for dynamic loading of extension modules */
|
|
|
|
#include "third_party/python/Include/Python.h"
|
|
#include "third_party/python/Include/importdl.h"
|
|
|
|
|
|
extern char *Py_GetProgramName(void);
|
|
|
|
const char *_PyImport_DynLoadFiletab[] = {".o", NULL};
|
|
|
|
|
|
dl_funcptr _PyImport_FindSharedFuncptr(const char *prefix,
|
|
const char *shortname,
|
|
const char *pathname, FILE *fp)
|
|
{
|
|
char funcname[258];
|
|
|
|
PyOS_snprintf(funcname, sizeof(funcname), "%.20s_%.200s", prefix, shortname);
|
|
return dl_loadmod(Py_GetProgramName(), pathname, funcname);
|
|
}
|