diff --git a/frida/_frida/extension.c b/frida/_frida/extension.c index 6f2c0fa7..ca90fff0 100644 --- a/frida/_frida/extension.c +++ b/frida/_frida/extension.c @@ -6018,6 +6018,10 @@ PyInit__frida (void) module = PyModule_Create (&PyFrida_moduledef); +#ifdef Py_GIL_DISABLED + PyUnstable_Module_SetGIL (module, Py_MOD_GIL_NOT_USED); +#endif + PyModule_AddStringConstant (module, "__version__", frida_version_string ()); PYFRIDA_REGISTER_TYPE (GObject, G_TYPE_OBJECT); diff --git a/frida/_frida/meson.build b/frida/_frida/meson.build index 21b02d4e..b426af50 100644 --- a/frida/_frida/meson.build +++ b/frida/_frida/meson.build @@ -12,7 +12,7 @@ elif host_os_family != 'windows' endif extension = python.extension_module('_frida', 'extension.c', - limited_api: '3.7', + limited_api: '3.7' c_args: frida_component_cflags, link_args: extra_link_args, dependencies: [python_dep, frida_core_dep, os_deps], diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 08a438ab..00000000 --- a/setup.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[bdist_wheel] -py_limited_api = cp37 diff --git a/setup.py b/setup.py index 488e047a..d01b2a73 100644 --- a/setup.py +++ b/setup.py @@ -3,6 +3,7 @@ import shutil import subprocess import sys +import sysconfig from pathlib import Path from typing import Iterator @@ -13,7 +14,6 @@ SOURCE_ROOT = Path(__file__).resolve().parent FRIDA_EXTENSION = os.environ.get("FRIDA_EXTENSION", None) - def main(): setup( name="frida", @@ -24,7 +24,7 @@ def main(): author="Frida Developers", author_email="oleavr@frida.re", url="https://frida.re", - install_requires=["typing_extensions; python_version<'3.11'"], + install_requires=["typing_extensions"], python_requires=">=3.7", license="wxWindows Library Licence, Version 3.1", keywords="frida debugger dynamic instrumentation inject javascript windows macos linux ios iphone ipad android qnx", @@ -56,7 +56,7 @@ def main(): Extension( name="frida._frida", sources=["frida/_frida/extension.c"], - py_limited_api=True, + py_limited_api=not(bool(sysconfig.get_config_var("Py_GIL_DISABLED"))), ) ], cmdclass={"build_ext": FridaPrebuiltExt if FRIDA_EXTENSION is not None else FridaDemandBuiltExt},