android-notify 1.60.0__py3-none-any.whl → 1.60.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of android-notify might be problematic. Click here for more details.
- android_notify/config.py +1 -1
- {android_notify-1.60.0.dist-info → android_notify-1.60.2.dist-info}/METADATA +4 -4
- {android_notify-1.60.0.dist-info → android_notify-1.60.2.dist-info}/RECORD +375 -6
- venv/Lib/site-packages/_distutils_hack/__init__.py +239 -0
- venv/Lib/site-packages/_distutils_hack/override.py +1 -0
- venv/Lib/site-packages/pkg_resources/__init__.py +3713 -0
- venv/Lib/site-packages/pkg_resources/py.typed +0 -0
- venv/Lib/site-packages/pkg_resources/tests/__init__.py +0 -0
- venv/Lib/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py +7 -0
- venv/Lib/site-packages/pkg_resources/tests/test_find_distributions.py +56 -0
- venv/Lib/site-packages/pkg_resources/tests/test_integration_zope_interface.py +54 -0
- venv/Lib/site-packages/pkg_resources/tests/test_markers.py +8 -0
- venv/Lib/site-packages/pkg_resources/tests/test_pkg_resources.py +485 -0
- venv/Lib/site-packages/pkg_resources/tests/test_resources.py +869 -0
- venv/Lib/site-packages/pkg_resources/tests/test_working_set.py +505 -0
- venv/Lib/site-packages/setuptools/__init__.py +248 -0
- venv/Lib/site-packages/setuptools/_core_metadata.py +337 -0
- venv/Lib/site-packages/setuptools/_discovery.py +33 -0
- venv/Lib/site-packages/setuptools/_distutils/__init__.py +14 -0
- venv/Lib/site-packages/setuptools/_distutils/_log.py +3 -0
- venv/Lib/site-packages/setuptools/_distutils/_macos_compat.py +12 -0
- venv/Lib/site-packages/setuptools/_distutils/_modified.py +95 -0
- venv/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +16 -0
- venv/Lib/site-packages/setuptools/_distutils/archive_util.py +294 -0
- venv/Lib/site-packages/setuptools/_distutils/ccompiler.py +26 -0
- venv/Lib/site-packages/setuptools/_distutils/cmd.py +554 -0
- venv/Lib/site-packages/setuptools/_distutils/command/__init__.py +23 -0
- venv/Lib/site-packages/setuptools/_distutils/command/_framework_compat.py +54 -0
- venv/Lib/site-packages/setuptools/_distutils/command/bdist.py +167 -0
- venv/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py +141 -0
- venv/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py +598 -0
- venv/Lib/site-packages/setuptools/_distutils/command/build.py +156 -0
- venv/Lib/site-packages/setuptools/_distutils/command/build_clib.py +201 -0
- venv/Lib/site-packages/setuptools/_distutils/command/build_ext.py +812 -0
- venv/Lib/site-packages/setuptools/_distutils/command/build_py.py +407 -0
- venv/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +160 -0
- venv/Lib/site-packages/setuptools/_distutils/command/check.py +152 -0
- venv/Lib/site-packages/setuptools/_distutils/command/clean.py +77 -0
- venv/Lib/site-packages/setuptools/_distutils/command/config.py +358 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install.py +805 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install_data.py +94 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install_egg_info.py +91 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install_headers.py +46 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install_lib.py +238 -0
- venv/Lib/site-packages/setuptools/_distutils/command/install_scripts.py +62 -0
- venv/Lib/site-packages/setuptools/_distutils/command/sdist.py +521 -0
- venv/Lib/site-packages/setuptools/_distutils/compat/__init__.py +18 -0
- venv/Lib/site-packages/setuptools/_distutils/compat/numpy.py +2 -0
- venv/Lib/site-packages/setuptools/_distutils/compat/py39.py +66 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +1394 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/cygwin.py +340 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/errors.py +24 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +614 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_base.py +83 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_cygwin.py +76 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_mingw.py +48 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_msvc.py +136 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_unix.py +413 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +422 -0
- venv/Lib/site-packages/setuptools/_distutils/compilers/C/zos.py +230 -0
- venv/Lib/site-packages/setuptools/_distutils/core.py +289 -0
- venv/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +31 -0
- venv/Lib/site-packages/setuptools/_distutils/debug.py +5 -0
- venv/Lib/site-packages/setuptools/_distutils/dep_util.py +14 -0
- venv/Lib/site-packages/setuptools/_distutils/dir_util.py +244 -0
- venv/Lib/site-packages/setuptools/_distutils/dist.py +1386 -0
- venv/Lib/site-packages/setuptools/_distutils/errors.py +108 -0
- venv/Lib/site-packages/setuptools/_distutils/extension.py +258 -0
- venv/Lib/site-packages/setuptools/_distutils/fancy_getopt.py +471 -0
- venv/Lib/site-packages/setuptools/_distutils/file_util.py +236 -0
- venv/Lib/site-packages/setuptools/_distutils/filelist.py +431 -0
- venv/Lib/site-packages/setuptools/_distutils/log.py +56 -0
- venv/Lib/site-packages/setuptools/_distutils/spawn.py +134 -0
- venv/Lib/site-packages/setuptools/_distutils/sysconfig.py +598 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/__init__.py +42 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/compat/py39.py +40 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/support.py +134 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_archive_util.py +353 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_bdist.py +47 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_bdist_dumb.py +78 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_bdist_rpm.py +127 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_build.py +49 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_build_clib.py +134 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +628 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_build_py.py +196 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_build_scripts.py +96 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_check.py +194 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_clean.py +45 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_cmd.py +107 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_config_cmd.py +87 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_core.py +130 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_dir_util.py +139 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_dist.py +552 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_extension.py +117 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_file_util.py +95 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_filelist.py +336 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_install.py +245 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_install_data.py +74 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_install_headers.py +33 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_install_lib.py +110 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_install_scripts.py +52 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_log.py +12 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_modified.py +126 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_sdist.py +470 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_spawn.py +141 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_sysconfig.py +319 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_text_file.py +127 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_util.py +243 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_version.py +80 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/test_versionpredicate.py +0 -0
- venv/Lib/site-packages/setuptools/_distutils/tests/unix_compat.py +17 -0
- venv/Lib/site-packages/setuptools/_distutils/text_file.py +286 -0
- venv/Lib/site-packages/setuptools/_distutils/unixccompiler.py +9 -0
- venv/Lib/site-packages/setuptools/_distutils/util.py +518 -0
- venv/Lib/site-packages/setuptools/_distutils/version.py +348 -0
- venv/Lib/site-packages/setuptools/_distutils/versionpredicate.py +175 -0
- venv/Lib/site-packages/setuptools/_distutils/zosccompiler.py +3 -0
- venv/Lib/site-packages/setuptools/_entry_points.py +94 -0
- venv/Lib/site-packages/setuptools/_imp.py +87 -0
- venv/Lib/site-packages/setuptools/_importlib.py +9 -0
- venv/Lib/site-packages/setuptools/_itertools.py +23 -0
- venv/Lib/site-packages/setuptools/_normalization.py +177 -0
- venv/Lib/site-packages/setuptools/_path.py +93 -0
- venv/Lib/site-packages/setuptools/_reqs.py +42 -0
- venv/Lib/site-packages/setuptools/_scripts.py +361 -0
- venv/Lib/site-packages/setuptools/_shutil.py +59 -0
- venv/Lib/site-packages/setuptools/_static.py +188 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/__init__.py +27 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/autoasync.py +142 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/autocommand.py +70 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/automain.py +59 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/autoparse.py +333 -0
- venv/Lib/site-packages/setuptools/_vendor/autocommand/errors.py +23 -0
- venv/Lib/site-packages/setuptools/_vendor/backports/__init__.py +1 -0
- venv/Lib/site-packages/setuptools/_vendor/backports/tarfile/__init__.py +2937 -0
- venv/Lib/site-packages/setuptools/_vendor/backports/tarfile/__main__.py +5 -0
- venv/Lib/site-packages/setuptools/_vendor/backports/tarfile/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/backports/tarfile/compat/py38.py +24 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/__init__.py +1083 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_adapters.py +83 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_collections.py +30 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_compat.py +57 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_functools.py +104 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_itertools.py +73 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_meta.py +67 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/_text.py +99 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat/py311.py +22 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/compat/py39.py +36 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/diagnose.py +21 -0
- venv/Lib/site-packages/setuptools/_vendor/importlib_metadata/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/inflect/__init__.py +3986 -0
- venv/Lib/site-packages/setuptools/_vendor/inflect/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/inflect/compat/py38.py +7 -0
- venv/Lib/site-packages/setuptools/_vendor/inflect/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/collections/__init__.py +1091 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/collections/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/context.py +361 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/functools/__init__.py +633 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/functools/__init__.pyi +125 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/functools/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/__init__.py +624 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/layouts.py +25 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/show-newlines.py +33 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/strip-prefix.py +21 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/to-dvorak.py +6 -0
- venv/Lib/site-packages/setuptools/_vendor/jaraco/text/to-qwerty.py +6 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.py +6 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.pyi +2 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/more.py +4806 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/more.pyi +709 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.py +1046 -0
- venv/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.pyi +136 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +15 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_elffile.py +110 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_manylinux.py +263 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_musllinux.py +85 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_parser.py +354 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_structures.py +61 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/_tokenizer.py +194 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/licenses/__init__.py +145 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/licenses/_spdx.py +759 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/markers.py +331 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/metadata.py +863 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/requirements.py +91 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +1020 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/tags.py +617 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/utils.py +163 -0
- venv/Lib/site-packages/setuptools/_vendor/packaging/version.py +582 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/__init__.py +627 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/__main__.py +55 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/android.py +249 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/api.py +292 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/macos.py +130 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/unix.py +275 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/version.py +16 -0
- venv/Lib/site-packages/setuptools/_vendor/platformdirs/windows.py +272 -0
- venv/Lib/site-packages/setuptools/_vendor/tomli/__init__.py +11 -0
- venv/Lib/site-packages/setuptools/_vendor/tomli/_parser.py +691 -0
- venv/Lib/site-packages/setuptools/_vendor/tomli/_re.py +107 -0
- venv/Lib/site-packages/setuptools/_vendor/tomli/_types.py +10 -0
- venv/Lib/site-packages/setuptools/_vendor/tomli/py.typed +1 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/__init__.py +48 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_checkers.py +993 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_config.py +108 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_decorators.py +235 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_exceptions.py +42 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_functions.py +308 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_importhook.py +213 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_memo.py +48 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_pytest_plugin.py +127 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_suppression.py +86 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_transformer.py +1229 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_union_transformer.py +55 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/_utils.py +173 -0
- venv/Lib/site-packages/setuptools/_vendor/typeguard/py.typed +0 -0
- venv/Lib/site-packages/setuptools/_vendor/typing_extensions.py +3641 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/__init__.py +3 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/__main__.py +23 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/_bdist_wheel.py +613 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +26 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +26 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/cli/__init__.py +155 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/cli/convert.py +332 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/cli/pack.py +85 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/cli/tags.py +139 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/cli/unpack.py +30 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +482 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/metadata.py +183 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/util.py +17 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_elffile.py +108 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_manylinux.py +260 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_musllinux.py +83 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_parser.py +356 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_structures.py +61 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/_tokenizer.py +192 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/markers.py +253 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/requirements.py +90 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/specifiers.py +1011 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/tags.py +571 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/utils.py +172 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/vendored/packaging/version.py +561 -0
- venv/Lib/site-packages/setuptools/_vendor/wheel/wheelfile.py +227 -0
- venv/Lib/site-packages/setuptools/_vendor/zipp/__init__.py +501 -0
- venv/Lib/site-packages/setuptools/_vendor/zipp/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/_vendor/zipp/compat/py310.py +11 -0
- venv/Lib/site-packages/setuptools/_vendor/zipp/glob.py +106 -0
- venv/Lib/site-packages/setuptools/archive_util.py +219 -0
- venv/Lib/site-packages/setuptools/build_meta.py +548 -0
- venv/Lib/site-packages/setuptools/command/__init__.py +21 -0
- venv/Lib/site-packages/setuptools/command/_requirestxt.py +131 -0
- venv/Lib/site-packages/setuptools/command/alias.py +77 -0
- venv/Lib/site-packages/setuptools/command/bdist_egg.py +477 -0
- venv/Lib/site-packages/setuptools/command/bdist_rpm.py +42 -0
- venv/Lib/site-packages/setuptools/command/bdist_wheel.py +604 -0
- venv/Lib/site-packages/setuptools/command/build.py +135 -0
- venv/Lib/site-packages/setuptools/command/build_clib.py +103 -0
- venv/Lib/site-packages/setuptools/command/build_ext.py +470 -0
- venv/Lib/site-packages/setuptools/command/build_py.py +400 -0
- venv/Lib/site-packages/setuptools/command/develop.py +55 -0
- venv/Lib/site-packages/setuptools/command/dist_info.py +103 -0
- venv/Lib/site-packages/setuptools/command/easy_install.py +30 -0
- venv/Lib/site-packages/setuptools/command/editable_wheel.py +908 -0
- venv/Lib/site-packages/setuptools/command/egg_info.py +718 -0
- venv/Lib/site-packages/setuptools/command/install.py +131 -0
- venv/Lib/site-packages/setuptools/command/install_egg_info.py +58 -0
- venv/Lib/site-packages/setuptools/command/install_lib.py +137 -0
- venv/Lib/site-packages/setuptools/command/install_scripts.py +67 -0
- venv/Lib/site-packages/setuptools/command/rotate.py +65 -0
- venv/Lib/site-packages/setuptools/command/saveopts.py +21 -0
- venv/Lib/site-packages/setuptools/command/sdist.py +217 -0
- venv/Lib/site-packages/setuptools/command/setopt.py +141 -0
- venv/Lib/site-packages/setuptools/command/test.py +45 -0
- venv/Lib/site-packages/setuptools/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/compat/py310.py +20 -0
- venv/Lib/site-packages/setuptools/compat/py311.py +27 -0
- venv/Lib/site-packages/setuptools/compat/py312.py +13 -0
- venv/Lib/site-packages/setuptools/compat/py39.py +9 -0
- venv/Lib/site-packages/setuptools/config/__init__.py +43 -0
- venv/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +526 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/__init__.py +34 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/error_reporting.py +336 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +82 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_exceptions.py +51 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +1412 -0
- venv/Lib/site-packages/setuptools/config/_validate_pyproject/formats.py +402 -0
- venv/Lib/site-packages/setuptools/config/expand.py +452 -0
- venv/Lib/site-packages/setuptools/config/pyprojecttoml.py +468 -0
- venv/Lib/site-packages/setuptools/config/setupcfg.py +780 -0
- venv/Lib/site-packages/setuptools/depends.py +185 -0
- venv/Lib/site-packages/setuptools/discovery.py +614 -0
- venv/Lib/site-packages/setuptools/dist.py +1119 -0
- venv/Lib/site-packages/setuptools/errors.py +67 -0
- venv/Lib/site-packages/setuptools/extension.py +177 -0
- venv/Lib/site-packages/setuptools/glob.py +185 -0
- venv/Lib/site-packages/setuptools/installer.py +155 -0
- venv/Lib/site-packages/setuptools/launch.py +36 -0
- venv/Lib/site-packages/setuptools/logging.py +40 -0
- venv/Lib/site-packages/setuptools/modified.py +18 -0
- venv/Lib/site-packages/setuptools/monkey.py +126 -0
- venv/Lib/site-packages/setuptools/msvc.py +1536 -0
- venv/Lib/site-packages/setuptools/namespaces.py +106 -0
- venv/Lib/site-packages/setuptools/tests/__init__.py +13 -0
- venv/Lib/site-packages/setuptools/tests/compat/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/tests/compat/py39.py +3 -0
- venv/Lib/site-packages/setuptools/tests/config/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/tests/config/downloads/__init__.py +59 -0
- venv/Lib/site-packages/setuptools/tests/config/downloads/preload.py +18 -0
- venv/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +772 -0
- venv/Lib/site-packages/setuptools/tests/config/test_expand.py +247 -0
- venv/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml.py +396 -0
- venv/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml_dynamic_deps.py +109 -0
- venv/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +980 -0
- venv/Lib/site-packages/setuptools/tests/contexts.py +131 -0
- venv/Lib/site-packages/setuptools/tests/environment.py +95 -0
- venv/Lib/site-packages/setuptools/tests/fixtures.py +392 -0
- venv/Lib/site-packages/setuptools/tests/integration/__init__.py +0 -0
- venv/Lib/site-packages/setuptools/tests/integration/helpers.py +77 -0
- venv/Lib/site-packages/setuptools/tests/integration/test_pbr.py +20 -0
- venv/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +223 -0
- venv/Lib/site-packages/setuptools/tests/mod_with_constant.py +1 -0
- venv/Lib/site-packages/setuptools/tests/namespaces.py +90 -0
- venv/Lib/site-packages/setuptools/tests/script-with-bom.py +1 -0
- venv/Lib/site-packages/setuptools/tests/test_archive_util.py +36 -0
- venv/Lib/site-packages/setuptools/tests/test_bdist_deprecations.py +28 -0
- venv/Lib/site-packages/setuptools/tests/test_bdist_egg.py +73 -0
- venv/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +708 -0
- venv/Lib/site-packages/setuptools/tests/test_build.py +33 -0
- venv/Lib/site-packages/setuptools/tests/test_build_clib.py +84 -0
- venv/Lib/site-packages/setuptools/tests/test_build_ext.py +293 -0
- venv/Lib/site-packages/setuptools/tests/test_build_meta.py +959 -0
- venv/Lib/site-packages/setuptools/tests/test_build_py.py +480 -0
- venv/Lib/site-packages/setuptools/tests/test_config_discovery.py +647 -0
- venv/Lib/site-packages/setuptools/tests/test_core_metadata.py +622 -0
- venv/Lib/site-packages/setuptools/tests/test_depends.py +15 -0
- venv/Lib/site-packages/setuptools/tests/test_develop.py +112 -0
- venv/Lib/site-packages/setuptools/tests/test_dist.py +278 -0
- venv/Lib/site-packages/setuptools/tests/test_dist_info.py +147 -0
- venv/Lib/site-packages/setuptools/tests/test_distutils_adoption.py +198 -0
- venv/Lib/site-packages/setuptools/tests/test_editable_install.py +1263 -0
- venv/Lib/site-packages/setuptools/tests/test_egg_info.py +1306 -0
- venv/Lib/site-packages/setuptools/tests/test_extern.py +15 -0
- venv/Lib/site-packages/setuptools/tests/test_find_packages.py +218 -0
- venv/Lib/site-packages/setuptools/tests/test_find_py_modules.py +73 -0
- venv/Lib/site-packages/setuptools/tests/test_glob.py +45 -0
- venv/Lib/site-packages/setuptools/tests/test_install_scripts.py +89 -0
- venv/Lib/site-packages/setuptools/tests/test_logging.py +76 -0
- venv/Lib/site-packages/setuptools/tests/test_manifest.py +622 -0
- venv/Lib/site-packages/setuptools/tests/test_namespaces.py +138 -0
- venv/Lib/site-packages/setuptools/tests/test_scripts.py +12 -0
- venv/Lib/site-packages/setuptools/tests/test_sdist.py +984 -0
- venv/Lib/site-packages/setuptools/tests/test_setopt.py +40 -0
- venv/Lib/site-packages/setuptools/tests/test_setuptools.py +290 -0
- venv/Lib/site-packages/setuptools/tests/test_shutil_wrapper.py +23 -0
- venv/Lib/site-packages/setuptools/tests/test_unicode_utils.py +10 -0
- venv/Lib/site-packages/setuptools/tests/test_virtualenv.py +113 -0
- venv/Lib/site-packages/setuptools/tests/test_warnings.py +106 -0
- venv/Lib/site-packages/setuptools/tests/test_wheel.py +690 -0
- venv/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +258 -0
- venv/Lib/site-packages/setuptools/tests/text.py +4 -0
- venv/Lib/site-packages/setuptools/tests/textwrap.py +6 -0
- venv/Lib/site-packages/setuptools/unicode_utils.py +102 -0
- venv/Lib/site-packages/setuptools/version.py +6 -0
- venv/Lib/site-packages/setuptools/warnings.py +110 -0
- venv/Lib/site-packages/setuptools/wheel.py +261 -0
- venv/Lib/site-packages/setuptools/windows_support.py +30 -0
- {android_notify-1.60.0.dist-info → android_notify-1.60.2.dist-info}/WHEEL +0 -0
- {android_notify-1.60.0.dist-info → android_notify-1.60.2.dist-info}/entry_points.txt +0 -0
- {android_notify-1.60.0.dist-info → android_notify-1.60.2.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Exceptions used by the Distutils modules.
|
|
3
|
+
|
|
4
|
+
Distutils modules may raise these or standard exceptions,
|
|
5
|
+
including :exc:`SystemExit`.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
# compiler exceptions aliased for compatibility
|
|
9
|
+
from .compilers.C.errors import CompileError as CompileError
|
|
10
|
+
from .compilers.C.errors import Error as _Error
|
|
11
|
+
from .compilers.C.errors import LibError as LibError
|
|
12
|
+
from .compilers.C.errors import LinkError as LinkError
|
|
13
|
+
from .compilers.C.errors import PreprocessError as PreprocessError
|
|
14
|
+
from .compilers.C.errors import UnknownFileType as _UnknownFileType
|
|
15
|
+
|
|
16
|
+
CCompilerError = _Error
|
|
17
|
+
UnknownFileError = _UnknownFileType
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class DistutilsError(Exception):
|
|
21
|
+
"""The root of all Distutils evil."""
|
|
22
|
+
|
|
23
|
+
pass
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class DistutilsModuleError(DistutilsError):
|
|
27
|
+
"""Unable to load an expected module, or to find an expected class
|
|
28
|
+
within some module (in particular, command modules and classes)."""
|
|
29
|
+
|
|
30
|
+
pass
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class DistutilsClassError(DistutilsError):
|
|
34
|
+
"""Some command class (or possibly distribution class, if anyone
|
|
35
|
+
feels a need to subclass Distribution) is found not to be holding
|
|
36
|
+
up its end of the bargain, ie. implementing some part of the
|
|
37
|
+
"command "interface."""
|
|
38
|
+
|
|
39
|
+
pass
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class DistutilsGetoptError(DistutilsError):
|
|
43
|
+
"""The option table provided to 'fancy_getopt()' is bogus."""
|
|
44
|
+
|
|
45
|
+
pass
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class DistutilsArgError(DistutilsError):
|
|
49
|
+
"""Raised by fancy_getopt in response to getopt.error -- ie. an
|
|
50
|
+
error in the command line usage."""
|
|
51
|
+
|
|
52
|
+
pass
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class DistutilsFileError(DistutilsError):
|
|
56
|
+
"""Any problems in the filesystem: expected file not found, etc.
|
|
57
|
+
Typically this is for problems that we detect before OSError
|
|
58
|
+
could be raised."""
|
|
59
|
+
|
|
60
|
+
pass
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class DistutilsOptionError(DistutilsError):
|
|
64
|
+
"""Syntactic/semantic errors in command options, such as use of
|
|
65
|
+
mutually conflicting options, or inconsistent options,
|
|
66
|
+
badly-spelled values, etc. No distinction is made between option
|
|
67
|
+
values originating in the setup script, the command line, config
|
|
68
|
+
files, or what-have-you -- but if we *know* something originated in
|
|
69
|
+
the setup script, we'll raise DistutilsSetupError instead."""
|
|
70
|
+
|
|
71
|
+
pass
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class DistutilsSetupError(DistutilsError):
|
|
75
|
+
"""For errors that can be definitely blamed on the setup script,
|
|
76
|
+
such as invalid keyword arguments to 'setup()'."""
|
|
77
|
+
|
|
78
|
+
pass
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
class DistutilsPlatformError(DistutilsError):
|
|
82
|
+
"""We don't know how to do something on the current platform (but
|
|
83
|
+
we do know how to do it on some platform) -- eg. trying to compile
|
|
84
|
+
C files on a platform not supported by a CCompiler subclass."""
|
|
85
|
+
|
|
86
|
+
pass
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
class DistutilsExecError(DistutilsError):
|
|
90
|
+
"""Any problems executing an external program (such as the C
|
|
91
|
+
compiler, when compiling C files)."""
|
|
92
|
+
|
|
93
|
+
pass
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
class DistutilsInternalError(DistutilsError):
|
|
97
|
+
"""Internal inconsistencies or impossibilities (obviously, this
|
|
98
|
+
should never be seen if the code is working!)."""
|
|
99
|
+
|
|
100
|
+
pass
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
class DistutilsTemplateError(DistutilsError):
|
|
104
|
+
"""Syntax error in a file list template."""
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
class DistutilsByteCompileError(DistutilsError):
|
|
108
|
+
"""Byte compile error."""
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
"""distutils.extension
|
|
2
|
+
|
|
3
|
+
Provides the Extension class, used to describe C/C++ extension
|
|
4
|
+
modules in setup scripts."""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
import os
|
|
9
|
+
import warnings
|
|
10
|
+
from collections.abc import Iterable
|
|
11
|
+
|
|
12
|
+
# This class is really only used by the "build_ext" command, so it might
|
|
13
|
+
# make sense to put it in distutils.command.build_ext. However, that
|
|
14
|
+
# module is already big enough, and I want to make this class a bit more
|
|
15
|
+
# complex to simplify some common cases ("foo" module in "foo.c") and do
|
|
16
|
+
# better error-checking ("foo.c" actually exists).
|
|
17
|
+
#
|
|
18
|
+
# Also, putting this in build_ext.py means every setup script would have to
|
|
19
|
+
# import that large-ish module (indirectly, through distutils.core) in
|
|
20
|
+
# order to do anything.
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class Extension:
|
|
24
|
+
"""Just a collection of attributes that describes an extension
|
|
25
|
+
module and everything needed to build it (hopefully in a portable
|
|
26
|
+
way, but there are hooks that let you be as unportable as you need).
|
|
27
|
+
|
|
28
|
+
Instance attributes:
|
|
29
|
+
name : string
|
|
30
|
+
the full name of the extension, including any packages -- ie.
|
|
31
|
+
*not* a filename or pathname, but Python dotted name
|
|
32
|
+
sources : Iterable[string | os.PathLike]
|
|
33
|
+
iterable of source filenames (except strings, which could be misinterpreted
|
|
34
|
+
as a single filename), relative to the distribution root (where the setup
|
|
35
|
+
script lives), in Unix form (slash-separated) for portability. Can be any
|
|
36
|
+
non-string iterable (list, tuple, set, etc.) containing strings or
|
|
37
|
+
PathLike objects. Source files may be C, C++, SWIG (.i), platform-specific
|
|
38
|
+
resource files, or whatever else is recognized by the "build_ext" command
|
|
39
|
+
as source for a Python extension.
|
|
40
|
+
include_dirs : [string]
|
|
41
|
+
list of directories to search for C/C++ header files (in Unix
|
|
42
|
+
form for portability)
|
|
43
|
+
define_macros : [(name : string, value : string|None)]
|
|
44
|
+
list of macros to define; each macro is defined using a 2-tuple,
|
|
45
|
+
where 'value' is either the string to define it to or None to
|
|
46
|
+
define it without a particular value (equivalent of "#define
|
|
47
|
+
FOO" in source or -DFOO on Unix C compiler command line)
|
|
48
|
+
undef_macros : [string]
|
|
49
|
+
list of macros to undefine explicitly
|
|
50
|
+
library_dirs : [string]
|
|
51
|
+
list of directories to search for C/C++ libraries at link time
|
|
52
|
+
libraries : [string]
|
|
53
|
+
list of library names (not filenames or paths) to link against
|
|
54
|
+
runtime_library_dirs : [string]
|
|
55
|
+
list of directories to search for C/C++ libraries at run time
|
|
56
|
+
(for shared extensions, this is when the extension is loaded)
|
|
57
|
+
extra_objects : [string]
|
|
58
|
+
list of extra files to link with (eg. object files not implied
|
|
59
|
+
by 'sources', static library that must be explicitly specified,
|
|
60
|
+
binary resource files, etc.)
|
|
61
|
+
extra_compile_args : [string]
|
|
62
|
+
any extra platform- and compiler-specific information to use
|
|
63
|
+
when compiling the source files in 'sources'. For platforms and
|
|
64
|
+
compilers where "command line" makes sense, this is typically a
|
|
65
|
+
list of command-line arguments, but for other platforms it could
|
|
66
|
+
be anything.
|
|
67
|
+
extra_link_args : [string]
|
|
68
|
+
any extra platform- and compiler-specific information to use
|
|
69
|
+
when linking object files together to create the extension (or
|
|
70
|
+
to create a new static Python interpreter). Similar
|
|
71
|
+
interpretation as for 'extra_compile_args'.
|
|
72
|
+
export_symbols : [string]
|
|
73
|
+
list of symbols to be exported from a shared extension. Not
|
|
74
|
+
used on all platforms, and not generally necessary for Python
|
|
75
|
+
extensions, which typically export exactly one symbol: "init" +
|
|
76
|
+
extension_name.
|
|
77
|
+
swig_opts : [string]
|
|
78
|
+
any extra options to pass to SWIG if a source file has the .i
|
|
79
|
+
extension.
|
|
80
|
+
depends : [string]
|
|
81
|
+
list of files that the extension depends on
|
|
82
|
+
language : string
|
|
83
|
+
extension language (i.e. "c", "c++", "objc"). Will be detected
|
|
84
|
+
from the source extensions if not provided.
|
|
85
|
+
optional : boolean
|
|
86
|
+
specifies that a build failure in the extension should not abort the
|
|
87
|
+
build process, but simply not install the failing extension.
|
|
88
|
+
"""
|
|
89
|
+
|
|
90
|
+
# When adding arguments to this constructor, be sure to update
|
|
91
|
+
# setup_keywords in core.py.
|
|
92
|
+
def __init__(
|
|
93
|
+
self,
|
|
94
|
+
name: str,
|
|
95
|
+
sources: Iterable[str | os.PathLike[str]],
|
|
96
|
+
include_dirs: list[str] | None = None,
|
|
97
|
+
define_macros: list[tuple[str, str | None]] | None = None,
|
|
98
|
+
undef_macros: list[str] | None = None,
|
|
99
|
+
library_dirs: list[str] | None = None,
|
|
100
|
+
libraries: list[str] | None = None,
|
|
101
|
+
runtime_library_dirs: list[str] | None = None,
|
|
102
|
+
extra_objects: list[str] | None = None,
|
|
103
|
+
extra_compile_args: list[str] | None = None,
|
|
104
|
+
extra_link_args: list[str] | None = None,
|
|
105
|
+
export_symbols: list[str] | None = None,
|
|
106
|
+
swig_opts: list[str] | None = None,
|
|
107
|
+
depends: list[str] | None = None,
|
|
108
|
+
language: str | None = None,
|
|
109
|
+
optional: bool | None = None,
|
|
110
|
+
**kw, # To catch unknown keywords
|
|
111
|
+
):
|
|
112
|
+
if not isinstance(name, str):
|
|
113
|
+
raise TypeError("'name' must be a string")
|
|
114
|
+
|
|
115
|
+
# handle the string case first; since strings are iterable, disallow them
|
|
116
|
+
if isinstance(sources, str):
|
|
117
|
+
raise TypeError(
|
|
118
|
+
"'sources' must be an iterable of strings or PathLike objects, not a string"
|
|
119
|
+
)
|
|
120
|
+
|
|
121
|
+
# now we check if it's iterable and contains valid types
|
|
122
|
+
try:
|
|
123
|
+
self.sources = list(map(os.fspath, sources))
|
|
124
|
+
except TypeError:
|
|
125
|
+
raise TypeError(
|
|
126
|
+
"'sources' must be an iterable of strings or PathLike objects"
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
self.name = name
|
|
130
|
+
self.include_dirs = include_dirs or []
|
|
131
|
+
self.define_macros = define_macros or []
|
|
132
|
+
self.undef_macros = undef_macros or []
|
|
133
|
+
self.library_dirs = library_dirs or []
|
|
134
|
+
self.libraries = libraries or []
|
|
135
|
+
self.runtime_library_dirs = runtime_library_dirs or []
|
|
136
|
+
self.extra_objects = extra_objects or []
|
|
137
|
+
self.extra_compile_args = extra_compile_args or []
|
|
138
|
+
self.extra_link_args = extra_link_args or []
|
|
139
|
+
self.export_symbols = export_symbols or []
|
|
140
|
+
self.swig_opts = swig_opts or []
|
|
141
|
+
self.depends = depends or []
|
|
142
|
+
self.language = language
|
|
143
|
+
self.optional = optional
|
|
144
|
+
|
|
145
|
+
# If there are unknown keyword options, warn about them
|
|
146
|
+
if len(kw) > 0:
|
|
147
|
+
options = [repr(option) for option in kw]
|
|
148
|
+
options = ', '.join(sorted(options))
|
|
149
|
+
msg = f"Unknown Extension options: {options}"
|
|
150
|
+
warnings.warn(msg)
|
|
151
|
+
|
|
152
|
+
def __repr__(self):
|
|
153
|
+
return f'<{self.__class__.__module__}.{self.__class__.__qualname__}({self.name!r}) at {id(self):#x}>'
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
def read_setup_file(filename): # noqa: C901
|
|
157
|
+
"""Reads a Setup file and returns Extension instances."""
|
|
158
|
+
from distutils.sysconfig import _variable_rx, expand_makefile_vars, parse_makefile
|
|
159
|
+
from distutils.text_file import TextFile
|
|
160
|
+
from distutils.util import split_quoted
|
|
161
|
+
|
|
162
|
+
# First pass over the file to gather "VAR = VALUE" assignments.
|
|
163
|
+
vars = parse_makefile(filename)
|
|
164
|
+
|
|
165
|
+
# Second pass to gobble up the real content: lines of the form
|
|
166
|
+
# <module> ... [<sourcefile> ...] [<cpparg> ...] [<library> ...]
|
|
167
|
+
file = TextFile(
|
|
168
|
+
filename,
|
|
169
|
+
strip_comments=True,
|
|
170
|
+
skip_blanks=True,
|
|
171
|
+
join_lines=True,
|
|
172
|
+
lstrip_ws=True,
|
|
173
|
+
rstrip_ws=True,
|
|
174
|
+
)
|
|
175
|
+
try:
|
|
176
|
+
extensions = []
|
|
177
|
+
|
|
178
|
+
while True:
|
|
179
|
+
line = file.readline()
|
|
180
|
+
if line is None: # eof
|
|
181
|
+
break
|
|
182
|
+
if _variable_rx.match(line): # VAR=VALUE, handled in first pass
|
|
183
|
+
continue
|
|
184
|
+
|
|
185
|
+
if line[0] == line[-1] == "*":
|
|
186
|
+
file.warn(f"'{line}' lines not handled yet")
|
|
187
|
+
continue
|
|
188
|
+
|
|
189
|
+
line = expand_makefile_vars(line, vars)
|
|
190
|
+
words = split_quoted(line)
|
|
191
|
+
|
|
192
|
+
# NB. this parses a slightly different syntax than the old
|
|
193
|
+
# makesetup script: here, there must be exactly one extension per
|
|
194
|
+
# line, and it must be the first word of the line. I have no idea
|
|
195
|
+
# why the old syntax supported multiple extensions per line, as
|
|
196
|
+
# they all wind up being the same.
|
|
197
|
+
|
|
198
|
+
module = words[0]
|
|
199
|
+
ext = Extension(module, [])
|
|
200
|
+
append_next_word = None
|
|
201
|
+
|
|
202
|
+
for word in words[1:]:
|
|
203
|
+
if append_next_word is not None:
|
|
204
|
+
append_next_word.append(word)
|
|
205
|
+
append_next_word = None
|
|
206
|
+
continue
|
|
207
|
+
|
|
208
|
+
suffix = os.path.splitext(word)[1]
|
|
209
|
+
switch = word[0:2]
|
|
210
|
+
value = word[2:]
|
|
211
|
+
|
|
212
|
+
if suffix in (".c", ".cc", ".cpp", ".cxx", ".c++", ".m", ".mm"):
|
|
213
|
+
# hmm, should we do something about C vs. C++ sources?
|
|
214
|
+
# or leave it up to the CCompiler implementation to
|
|
215
|
+
# worry about?
|
|
216
|
+
ext.sources.append(word)
|
|
217
|
+
elif switch == "-I":
|
|
218
|
+
ext.include_dirs.append(value)
|
|
219
|
+
elif switch == "-D":
|
|
220
|
+
equals = value.find("=")
|
|
221
|
+
if equals == -1: # bare "-DFOO" -- no value
|
|
222
|
+
ext.define_macros.append((value, None))
|
|
223
|
+
else: # "-DFOO=blah"
|
|
224
|
+
ext.define_macros.append((value[0:equals], value[equals + 2 :]))
|
|
225
|
+
elif switch == "-U":
|
|
226
|
+
ext.undef_macros.append(value)
|
|
227
|
+
elif switch == "-C": # only here 'cause makesetup has it!
|
|
228
|
+
ext.extra_compile_args.append(word)
|
|
229
|
+
elif switch == "-l":
|
|
230
|
+
ext.libraries.append(value)
|
|
231
|
+
elif switch == "-L":
|
|
232
|
+
ext.library_dirs.append(value)
|
|
233
|
+
elif switch == "-R":
|
|
234
|
+
ext.runtime_library_dirs.append(value)
|
|
235
|
+
elif word == "-rpath":
|
|
236
|
+
append_next_word = ext.runtime_library_dirs
|
|
237
|
+
elif word == "-Xlinker":
|
|
238
|
+
append_next_word = ext.extra_link_args
|
|
239
|
+
elif word == "-Xcompiler":
|
|
240
|
+
append_next_word = ext.extra_compile_args
|
|
241
|
+
elif switch == "-u":
|
|
242
|
+
ext.extra_link_args.append(word)
|
|
243
|
+
if not value:
|
|
244
|
+
append_next_word = ext.extra_link_args
|
|
245
|
+
elif suffix in (".a", ".so", ".sl", ".o", ".dylib"):
|
|
246
|
+
# NB. a really faithful emulation of makesetup would
|
|
247
|
+
# append a .o file to extra_objects only if it
|
|
248
|
+
# had a slash in it; otherwise, it would s/.o/.c/
|
|
249
|
+
# and append it to sources. Hmmmm.
|
|
250
|
+
ext.extra_objects.append(word)
|
|
251
|
+
else:
|
|
252
|
+
file.warn(f"unrecognized argument '{word}'")
|
|
253
|
+
|
|
254
|
+
extensions.append(ext)
|
|
255
|
+
finally:
|
|
256
|
+
file.close()
|
|
257
|
+
|
|
258
|
+
return extensions
|