diff --git a/frida/__init__.py b/frida/__init__.py index a133dfb..a8af9ae 100644 --- a/frida/__init__.py +++ b/frida/__init__.py @@ -1,7 +1,7 @@ from typing import Any, Callable, Dict, List, Optional, Tuple, Union try: - import _frida + from . import _frida except Exception as ex: print("") print("***") diff --git a/_frida/__init__.pyi b/frida/_frida/__init__.pyi similarity index 100% rename from _frida/__init__.pyi rename to frida/_frida/__init__.pyi diff --git a/src/_frida.c b/frida/_frida/extension.c similarity index 100% rename from src/_frida.c rename to frida/_frida/extension.c diff --git a/src/_frida.version b/frida/_frida/extension.version similarity index 100% rename from src/_frida.version rename to frida/_frida/extension.version diff --git a/src/meson.build b/frida/_frida/meson.build similarity index 61% rename from src/meson.build rename to frida/_frida/meson.build index acb6085..21b02d4 100644 --- a/src/meson.build +++ b/frida/_frida/meson.build @@ -1,14 +1,21 @@ +py_sources = [ + '__init__.pyi', + 'py.typed', +] +python.install_sources(py_sources, subdir: 'frida' / '_frida', pure: false) + extra_link_args = [] if host_os_family == 'darwin' extra_link_args += '-Wl,-exported_symbol,_PyInit__frida' elif host_os_family != 'windows' - extra_link_args += '-Wl,--version-script,' + meson.current_source_dir() / '_frida.version' + extra_link_args += '-Wl,--version-script,' + meson.current_source_dir() / 'extension.version' endif -extension = python.extension_module('_frida', '_frida.c', +extension = python.extension_module('_frida', 'extension.c', limited_api: '3.7', c_args: frida_component_cflags, link_args: extra_link_args, dependencies: [python_dep, frida_core_dep, os_deps], install: true, + subdir: 'frida', ) diff --git a/_frida/py.typed b/frida/_frida/py.typed similarity index 100% rename from _frida/py.typed rename to frida/_frida/py.typed diff --git a/frida/core.py b/frida/core.py index 07ae609..d6746ab 100644 --- a/frida/core.py +++ b/frida/core.py @@ -38,7 +38,7 @@ else: from typing_extensions import NotRequired -import _frida +from . import _frida _device_manager = None diff --git a/frida/meson.build b/frida/meson.build index 5e35250..1def27c 100644 --- a/frida/meson.build +++ b/frida/meson.build @@ -1,6 +1,8 @@ -frida_sources = [ +subdir('_frida') + +py_sources = [ '__init__.py', 'core.py', + 'py.typed', ] - -python.install_sources(frida_sources, subdir: 'frida', pure: false) +python.install_sources(py_sources, subdir: 'frida', pure: false) diff --git a/meson.build b/meson.build index cd28d4d..aa96710 100644 --- a/meson.build +++ b/meson.build @@ -30,7 +30,6 @@ if host_os_family != 'windows' os_deps += dependency('gio-unix-2.0') endif -subdir('src') subdir('frida') test('frida-python', python, diff --git a/setup.py b/setup.py index 9e24942..0d7c3a7 100644 --- a/setup.py +++ b/setup.py @@ -51,12 +51,12 @@ def main(): "Topic :: Software Development :: Debuggers", "Topic :: Software Development :: Libraries :: Python Modules", ], - packages=["frida", "_frida"], - package_data={"frida": ["py.typed"], "_frida": ["py.typed", "__init__.pyi"]}, + packages=["frida", "frida._frida"], + package_data={"frida": ["py.typed"], "frida._frida": ["py.typed", "__init__.pyi"]}, ext_modules=[ Extension( - name="_frida", - sources=["src/_frida.c"], + name="frida._frida", + sources=["frida/_frida/extension.c"], py_limited_api=True, ) ],