[3.13] gh-122907: Fix Builds Without HAVE_DYNAMIC_LOADING Set (gh-122952) (#122984)

gh-122907: Fix Builds Without HAVE_DYNAMIC_LOADING Set (gh-122952)

As of 529a160 (gh-118204), building with HAVE_DYNAMIC_LOADING stopped working.  This is a minimal fix just to get builds working again.  There are actually a number of long-standing deficiencies with HAVE_DYNAMIC_LOADING builds that need to be resolved separately.
(cherry picked from commit ee1b8ce26e)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
This commit is contained in:
Miss Islington (bot) 2024-12-03 17:46:30 +01:00 committed by GitHub
parent ae3f347dc0
commit dddea7c232
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 32 additions and 12 deletions

View file

@ -8,6 +8,8 @@
#include "pycore_pystate.h"
#include "pycore_runtime.h"
#include "pycore_importdl.h"
/* ./configure sets HAVE_DYNAMIC_LOADING if dynamic loading of modules is
supported on this platform. configure will then compile and link in one
of the dynload_*.c files, as appropriate. We will call a function in
@ -15,8 +17,6 @@
*/
#ifdef HAVE_DYNAMIC_LOADING
#include "pycore_importdl.h"
#ifdef MS_WINDOWS
extern dl_funcptr _PyImport_FindSharedFuncptrWindows(const char *prefix,
const char *shortname,
@ -28,6 +28,8 @@ extern dl_funcptr _PyImport_FindSharedFuncptr(const char *prefix,
const char *pathname, FILE *fp);
#endif
#endif /* HAVE_DYNAMIC_LOADING */
/***********************************/
/* module info to use when loading */
@ -205,6 +207,7 @@ _Py_ext_module_loader_info_init_for_core(
return 0;
}
#ifdef HAVE_DYNAMIC_LOADING
int
_Py_ext_module_loader_info_init_from_spec(
struct _Py_ext_module_loader_info *p_info,
@ -226,6 +229,7 @@ _Py_ext_module_loader_info_init_from_spec(
Py_DECREF(filename);
return err;
}
#endif /* HAVE_DYNAMIC_LOADING */
/********************************/
@ -372,6 +376,7 @@ _Py_ext_module_loader_result_apply_error(
/* getting/running the module init function */
/********************************************/
#ifdef HAVE_DYNAMIC_LOADING
PyModInitFunction
_PyImport_GetModInitFunc(struct _Py_ext_module_loader_info *info,
FILE *fp)
@ -406,6 +411,7 @@ _PyImport_GetModInitFunc(struct _Py_ext_module_loader_info *info,
return (PyModInitFunction)exportfunc;
}
#endif /* HAVE_DYNAMIC_LOADING */
int
_PyImport_RunModInitFunc(PyModInitFunction p0,
@ -513,5 +519,3 @@ error:
p_res->err = &p_res->_err;
return -1;
}
#endif /* HAVE_DYNAMIC_LOADING */