py2docfx 0.1.14.dev2018913__py3-none-any.whl → 0.1.15__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.
- py2docfx/convert_prepare/tests/test_environment.py +22 -15
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/_modified.py +26 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +2 -603
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/archive_util.py +48 -18
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/ccompiler.py +17 -1257
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/cmd.py +133 -41
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/bdist.py +19 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py +2 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py +6 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build.py +8 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_clib.py +8 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_ext.py +32 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_py.py +10 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +3 -14
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/clean.py +2 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/config.py +1 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install.py +22 -19
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_data.py +4 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_headers.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_lib.py +11 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_scripts.py +4 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/sdist.py +22 -16
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compat/__init__.py +6 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +1391 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/cygwin.py +340 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/errors.py +24 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +614 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/{tests/test_ccompiler.py → compilers/C/tests/test_base.py} +9 -19
- py2docfx/venv/{venv1/Lib/site-packages/setuptools/_distutils/tests/test_cygwinccompiler.py → basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_cygwin.py} +7 -12
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/{tests/test_mingwccompiler.py → compilers/C/tests/test_mingw.py} +12 -20
- py2docfx/venv/{venv1/Lib/site-packages/setuptools/_distutils/tests/test_msvccompiler.py → basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_msvc.py} +11 -12
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/{tests/test_unixccompiler.py → compilers/C/tests/test_unix.py} +5 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +409 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/zos.py +230 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +20 -328
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/dist.py +148 -80
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/errors.py +11 -27
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/extension.py +19 -16
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/filelist.py +80 -15
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/spawn.py +22 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/sysconfig.py +32 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +13 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_sdist.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/unixccompiler.py +2 -401
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/util.py +38 -23
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/zosccompiler.py +2 -228
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_static.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/editable_wheel.py +3 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +2 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_py.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/unicode_utils.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/__init__.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/ado_consts.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/adodbapi.py +22 -26
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/apibase.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_print.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_table_names.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/process_connect_string.py +7 -7
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/setup.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitest.py +21 -73
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitestconfig.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/dbapi20.py +11 -17
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/setuptestframework.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/application.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/authorization_code.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azd_cli.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_cli.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_pipelines.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/azure_powershell.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/chained.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/default.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/environment.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/managed_identity.py +48 -21
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/shared_cache.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/user_password.py +10 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/vscode.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/aad_client_base.py +13 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/aadclient_certificate.py +28 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/application.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/authorization_code.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azd_cli.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_cli.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_pipelines.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_powershell.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/certificate.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/chained.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/default.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/environment.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/managed_identity.py +23 -12
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/shared_cache.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/vscode.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_streaming.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_streaming_async.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/isapi/install.py +8 -11
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_asynch.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_with_filter.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/isapi/simple.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/isapi/threaded_extension.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/proto/version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/basictimerapp.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/customprint.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/demoutils.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/cmdserver.py +2 -5
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/guidemo.py +14 -41
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/objdoc.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/demoutils.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/flash.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxserialtest.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxtest.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/webbrowser.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/openGLDemo.py +57 -12
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/toolbar.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/configui.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgcon.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/debugger.py +7 -8
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/fail.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/ideoptions.py +7 -10
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/list.py +11 -8
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/login.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/DockingBar.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/app.py +19 -22
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dbgcommands.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/ModuleBrowser.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/__init__.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/document.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/editor.py +6 -6
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/vss.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/help.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/interact.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpyapp.py +5 -7
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpydde.py +7 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/scriptutils.py +4 -6
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/sgrepmdi.py +13 -22
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/startup.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/stdin.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/toolmenu.py +0 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoIndent.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/CallTips.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/activex.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/dialog.py +7 -10
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/IDLEenvironment.py +1 -5
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/bindings.py +4 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/config.py +3 -5
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/configui.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/document.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/formatter.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/keycodes.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/scintillacon.py +1178 -78
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/view.py +17 -21
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browser.py +6 -18
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/hierlist.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/_modified.py +26 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +2 -603
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/archive_util.py +48 -18
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/ccompiler.py +17 -1257
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/cmd.py +133 -41
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/bdist.py +19 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py +6 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build.py +8 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_clib.py +8 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_ext.py +32 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_py.py +10 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +3 -14
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/clean.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/config.py +1 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install.py +22 -19
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_data.py +4 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_headers.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_lib.py +11 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_scripts.py +4 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/sdist.py +22 -16
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compat/__init__.py +6 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +1391 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/cygwin.py +340 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/errors.py +24 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +614 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/{tests/test_ccompiler.py → compilers/C/tests/test_base.py} +9 -19
- py2docfx/venv/{basevenv/Lib/site-packages/setuptools/_distutils/tests/test_cygwinccompiler.py → venv1/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_cygwin.py} +7 -12
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/{tests/test_mingwccompiler.py → compilers/C/tests/test_mingw.py} +12 -20
- py2docfx/venv/{basevenv/Lib/site-packages/setuptools/_distutils/tests/test_msvccompiler.py → venv1/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_msvc.py} +11 -12
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/{tests/test_unixccompiler.py → compilers/C/tests/test_unix.py} +5 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +409 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/zos.py +230 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +20 -328
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/dist.py +148 -80
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/errors.py +11 -27
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/extension.py +19 -16
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/filelist.py +80 -15
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/spawn.py +22 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/sysconfig.py +32 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_sdist.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/unixccompiler.py +2 -401
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/util.py +38 -23
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/zosccompiler.py +2 -228
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_static.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/editable_wheel.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +2 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_py.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/unicode_utils.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtFormatMessage.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_push.py +8 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/GetSaveFileName.py +8 -8
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/c_extension/setup.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeclient.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeserver.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/getfilever.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/runproc.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/rastest.py +4 -6
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/GetTokenInformation.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/account_rights.py +0 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/explicit_entries.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/get_policy_info.py +0 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/list_rights.py +0 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/localized_names.py +7 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/query_information.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_audit.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_owner.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_policy_info.py +0 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setkernelobjectsecurity.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setsecurityinfo.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setuserobjectsecurity.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/fetch_url.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/simple_auth.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/socket_server.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestService.py +10 -9
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestServiceClient.py +6 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboardDemo.py +17 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32comport_demo.py +32 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32console_demo.py +1 -4
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_devicenotify.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_menu.py +60 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_taskbar.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32netdemo.py +2 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32ts_logoff_disconnected.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/testwnet.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/commctrl.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/netbios.py +8 -10
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_bootstrap.py +2 -10
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_testutil.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywintypes.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/regutil.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspi.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win2kras.py +14 -7
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32con.py +16 -35
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32cryptcon.py +1 -4
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32evtlogutil.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32gui_struct.py +6 -6
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhquery.py +10 -11
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhutil.py +5 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32rcparser.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32serviceutil.py +4 -6
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32timezone.py +304 -121
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32verstamp.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winerror.py +4926 -604
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winxptheme.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/h2py.py +194 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_postinstall.py +733 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_testall.py +120 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/regsetup.py +4 -7
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/setup_d.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/handles.py +13 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_clipboard.py +12 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_sspi.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32api.py +8 -4
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32clipboard.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32cred.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32crypt.py +16 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32file.py +24 -8
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32gui.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32guistruct.py +2 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32inet.py +23 -6
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32net.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32ts.py +19 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/winxpgui.py +3 -11
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/CLSIDToClass.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/__init__.py +97 -65
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/build.py +24 -24
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/combrowse.py +17 -33
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/dynamic.py +14 -14
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/gencache.py +30 -12
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/genpy.py +50 -98
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/makepy.py +12 -8
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/selecttlb.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/util.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/dump_clipboard.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelAddin.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelRTDServer.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/iebutton.py +0 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/ietoolbar.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/outlookAddin.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegw.py +48 -56
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwenum.py +2 -6
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwparse.py +9 -11
- py2docfx/venv/venv1/Lib/site-packages/win32com/olectl.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/connect.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/dispatcher.py +20 -24
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/exception.py +8 -8
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/policy.py +4 -18
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/register.py +5 -6
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/dictionary.py +2 -5
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/interp.py +7 -7
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/test_pycomtest.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/GenTestScripts.py +2 -4
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/errorSemantics.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/pippo_server.py +1 -4
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testADOEvents.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAXScript.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDictionary.py +4 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDynamic.py +3 -5
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExchange.py +2 -7
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGatewayAddresses.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testIterators.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOffice.py +40 -57
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOfficeEvents.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPersist.py +7 -7
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPippo.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPyComTest.py +143 -7
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testServers.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testall.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testmakepy.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvb.py +12 -8
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/util.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/universal.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/util.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/scp.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/search.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditSecurity.py +1 -24
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditServiceSecurity.py +0 -20
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/adb.py +2 -8
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/codecontainer.py +16 -12
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/contexts.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/debugger.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/documents.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/dump.py +2 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/expressions.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/util.py +7 -14
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/debug.py +2 -14
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/error.py +4 -5
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/framework.py +5 -5
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pydumper.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript.py +5 -10
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/scriptdispatch.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/axsite.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/leakTest.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost4Dbg.py +0 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/test_bits.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/demo/filterDemo.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/demos/mapisend.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/emsabtags.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapitags.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapiutil.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/test/testpropsys.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IFileOperationProgressSink.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/ITransferAdviseSink.py +5 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/column_provider.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/copy_hook.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/empty_volume_cache.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/folder_view.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/icon_handler.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/shell_view.py +4 -5
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_2.py +0 -1
- py2docfx/venv/venv1/Scripts/pywin32_postinstall.py +77 -122
- py2docfx/venv/venv1/Scripts/pywin32_testall.py +4 -9
- {py2docfx-0.1.14.dev2018913.dist-info → py2docfx-0.1.15.dist-info}/METADATA +1 -1
- {py2docfx-0.1.14.dev2018913.dist-info → py2docfx-0.1.15.dist-info}/RECORD +376 -363
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/mdi_pychecker.py +0 -850
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testNetscape.py +0 -24
- {py2docfx-0.1.14.dev2018913.dist-info → py2docfx-0.1.15.dist-info}/WHEEL +0 -0
- {py2docfx-0.1.14.dev2018913.dist-info → py2docfx-0.1.15.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,230 @@
|
|
1
|
+
"""distutils.zosccompiler
|
2
|
+
|
3
|
+
Contains the selection of the c & c++ compilers on z/OS. There are several
|
4
|
+
different c compilers on z/OS, all of them are optional, so the correct
|
5
|
+
one needs to be chosen based on the users input. This is compatible with
|
6
|
+
the following compilers:
|
7
|
+
|
8
|
+
IBM C/C++ For Open Enterprise Languages on z/OS 2.0
|
9
|
+
IBM Open XL C/C++ 1.1 for z/OS
|
10
|
+
IBM XL C/C++ V2.4.1 for z/OS 2.4 and 2.5
|
11
|
+
IBM z/OS XL C/C++
|
12
|
+
"""
|
13
|
+
|
14
|
+
import os
|
15
|
+
|
16
|
+
from ... import sysconfig
|
17
|
+
from ...errors import DistutilsExecError
|
18
|
+
from . import unix
|
19
|
+
from .errors import CompileError
|
20
|
+
|
21
|
+
_cc_args = {
|
22
|
+
'ibm-openxl': [
|
23
|
+
'-m64',
|
24
|
+
'-fvisibility=default',
|
25
|
+
'-fzos-le-char-mode=ascii',
|
26
|
+
'-fno-short-enums',
|
27
|
+
],
|
28
|
+
'ibm-xlclang': [
|
29
|
+
'-q64',
|
30
|
+
'-qexportall',
|
31
|
+
'-qascii',
|
32
|
+
'-qstrict',
|
33
|
+
'-qnocsect',
|
34
|
+
'-Wa,asa,goff',
|
35
|
+
'-Wa,xplink',
|
36
|
+
'-qgonumber',
|
37
|
+
'-qenum=int',
|
38
|
+
'-Wc,DLL',
|
39
|
+
],
|
40
|
+
'ibm-xlc': [
|
41
|
+
'-q64',
|
42
|
+
'-qexportall',
|
43
|
+
'-qascii',
|
44
|
+
'-qstrict',
|
45
|
+
'-qnocsect',
|
46
|
+
'-Wa,asa,goff',
|
47
|
+
'-Wa,xplink',
|
48
|
+
'-qgonumber',
|
49
|
+
'-qenum=int',
|
50
|
+
'-Wc,DLL',
|
51
|
+
'-qlanglvl=extc99',
|
52
|
+
],
|
53
|
+
}
|
54
|
+
|
55
|
+
_cxx_args = {
|
56
|
+
'ibm-openxl': [
|
57
|
+
'-m64',
|
58
|
+
'-fvisibility=default',
|
59
|
+
'-fzos-le-char-mode=ascii',
|
60
|
+
'-fno-short-enums',
|
61
|
+
],
|
62
|
+
'ibm-xlclang': [
|
63
|
+
'-q64',
|
64
|
+
'-qexportall',
|
65
|
+
'-qascii',
|
66
|
+
'-qstrict',
|
67
|
+
'-qnocsect',
|
68
|
+
'-Wa,asa,goff',
|
69
|
+
'-Wa,xplink',
|
70
|
+
'-qgonumber',
|
71
|
+
'-qenum=int',
|
72
|
+
'-Wc,DLL',
|
73
|
+
],
|
74
|
+
'ibm-xlc': [
|
75
|
+
'-q64',
|
76
|
+
'-qexportall',
|
77
|
+
'-qascii',
|
78
|
+
'-qstrict',
|
79
|
+
'-qnocsect',
|
80
|
+
'-Wa,asa,goff',
|
81
|
+
'-Wa,xplink',
|
82
|
+
'-qgonumber',
|
83
|
+
'-qenum=int',
|
84
|
+
'-Wc,DLL',
|
85
|
+
'-qlanglvl=extended0x',
|
86
|
+
],
|
87
|
+
}
|
88
|
+
|
89
|
+
_asm_args = {
|
90
|
+
'ibm-openxl': ['-fasm', '-fno-integrated-as', '-Wa,--ASA', '-Wa,--GOFF'],
|
91
|
+
'ibm-xlclang': [],
|
92
|
+
'ibm-xlc': [],
|
93
|
+
}
|
94
|
+
|
95
|
+
_ld_args = {
|
96
|
+
'ibm-openxl': [],
|
97
|
+
'ibm-xlclang': ['-Wl,dll', '-q64'],
|
98
|
+
'ibm-xlc': ['-Wl,dll', '-q64'],
|
99
|
+
}
|
100
|
+
|
101
|
+
|
102
|
+
# Python on z/OS is built with no compiler specific options in it's CFLAGS.
|
103
|
+
# But each compiler requires it's own specific options to build successfully,
|
104
|
+
# though some of the options are common between them
|
105
|
+
class Compiler(unix.Compiler):
|
106
|
+
src_extensions = ['.c', '.C', '.cc', '.cxx', '.cpp', '.m', '.s']
|
107
|
+
_cpp_extensions = ['.cc', '.cpp', '.cxx', '.C']
|
108
|
+
_asm_extensions = ['.s']
|
109
|
+
|
110
|
+
def _get_zos_compiler_name(self):
|
111
|
+
zos_compiler_names = [
|
112
|
+
os.path.basename(binary)
|
113
|
+
for envvar in ('CC', 'CXX', 'LDSHARED')
|
114
|
+
if (binary := os.environ.get(envvar, None))
|
115
|
+
]
|
116
|
+
if len(zos_compiler_names) == 0:
|
117
|
+
return 'ibm-openxl'
|
118
|
+
|
119
|
+
zos_compilers = {}
|
120
|
+
for compiler in (
|
121
|
+
'ibm-clang',
|
122
|
+
'ibm-clang64',
|
123
|
+
'ibm-clang++',
|
124
|
+
'ibm-clang++64',
|
125
|
+
'clang',
|
126
|
+
'clang++',
|
127
|
+
'clang-14',
|
128
|
+
):
|
129
|
+
zos_compilers[compiler] = 'ibm-openxl'
|
130
|
+
|
131
|
+
for compiler in ('xlclang', 'xlclang++', 'njsc', 'njsc++'):
|
132
|
+
zos_compilers[compiler] = 'ibm-xlclang'
|
133
|
+
|
134
|
+
for compiler in ('xlc', 'xlC', 'xlc++'):
|
135
|
+
zos_compilers[compiler] = 'ibm-xlc'
|
136
|
+
|
137
|
+
return zos_compilers.get(zos_compiler_names[0], 'ibm-openxl')
|
138
|
+
|
139
|
+
def __init__(self, verbose=False, dry_run=False, force=False):
|
140
|
+
super().__init__(verbose, dry_run, force)
|
141
|
+
self.zos_compiler = self._get_zos_compiler_name()
|
142
|
+
sysconfig.customize_compiler(self)
|
143
|
+
|
144
|
+
def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
|
145
|
+
local_args = []
|
146
|
+
if ext in self._cpp_extensions:
|
147
|
+
compiler = self.compiler_cxx
|
148
|
+
local_args.extend(_cxx_args[self.zos_compiler])
|
149
|
+
elif ext in self._asm_extensions:
|
150
|
+
compiler = self.compiler_so
|
151
|
+
local_args.extend(_cc_args[self.zos_compiler])
|
152
|
+
local_args.extend(_asm_args[self.zos_compiler])
|
153
|
+
else:
|
154
|
+
compiler = self.compiler_so
|
155
|
+
local_args.extend(_cc_args[self.zos_compiler])
|
156
|
+
local_args.extend(cc_args)
|
157
|
+
|
158
|
+
try:
|
159
|
+
self.spawn(compiler + local_args + [src, '-o', obj] + extra_postargs)
|
160
|
+
except DistutilsExecError as msg:
|
161
|
+
raise CompileError(msg)
|
162
|
+
|
163
|
+
def runtime_library_dir_option(self, dir):
|
164
|
+
return '-L' + dir
|
165
|
+
|
166
|
+
def link(
|
167
|
+
self,
|
168
|
+
target_desc,
|
169
|
+
objects,
|
170
|
+
output_filename,
|
171
|
+
output_dir=None,
|
172
|
+
libraries=None,
|
173
|
+
library_dirs=None,
|
174
|
+
runtime_library_dirs=None,
|
175
|
+
export_symbols=None,
|
176
|
+
debug=False,
|
177
|
+
extra_preargs=None,
|
178
|
+
extra_postargs=None,
|
179
|
+
build_temp=None,
|
180
|
+
target_lang=None,
|
181
|
+
):
|
182
|
+
# For a built module to use functions from cpython, it needs to use Pythons
|
183
|
+
# side deck file. The side deck is located beside the libpython3.xx.so
|
184
|
+
ldversion = sysconfig.get_config_var('LDVERSION')
|
185
|
+
if sysconfig.python_build:
|
186
|
+
side_deck_path = os.path.join(
|
187
|
+
sysconfig.get_config_var('abs_builddir'),
|
188
|
+
f'libpython{ldversion}.x',
|
189
|
+
)
|
190
|
+
else:
|
191
|
+
side_deck_path = os.path.join(
|
192
|
+
sysconfig.get_config_var('installed_base'),
|
193
|
+
sysconfig.get_config_var('platlibdir'),
|
194
|
+
f'libpython{ldversion}.x',
|
195
|
+
)
|
196
|
+
|
197
|
+
if os.path.exists(side_deck_path):
|
198
|
+
if extra_postargs:
|
199
|
+
extra_postargs.append(side_deck_path)
|
200
|
+
else:
|
201
|
+
extra_postargs = [side_deck_path]
|
202
|
+
|
203
|
+
# Check and replace libraries included side deck files
|
204
|
+
if runtime_library_dirs:
|
205
|
+
for dir in runtime_library_dirs:
|
206
|
+
for library in libraries[:]:
|
207
|
+
library_side_deck = os.path.join(dir, f'{library}.x')
|
208
|
+
if os.path.exists(library_side_deck):
|
209
|
+
libraries.remove(library)
|
210
|
+
extra_postargs.append(library_side_deck)
|
211
|
+
break
|
212
|
+
|
213
|
+
# Any required ld args for the given compiler
|
214
|
+
extra_postargs.extend(_ld_args[self.zos_compiler])
|
215
|
+
|
216
|
+
super().link(
|
217
|
+
target_desc,
|
218
|
+
objects,
|
219
|
+
output_filename,
|
220
|
+
output_dir,
|
221
|
+
libraries,
|
222
|
+
library_dirs,
|
223
|
+
runtime_library_dirs,
|
224
|
+
export_symbols,
|
225
|
+
debug,
|
226
|
+
extra_preargs,
|
227
|
+
extra_postargs,
|
228
|
+
build_temp,
|
229
|
+
target_lang,
|
230
|
+
)
|
@@ -1,335 +1,27 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
import copy
|
10
|
-
import os
|
11
|
-
import pathlib
|
12
|
-
import shlex
|
13
|
-
import sys
|
14
|
-
import warnings
|
15
|
-
from subprocess import check_output
|
16
|
-
|
17
|
-
from .errors import (
|
18
|
-
CCompilerError,
|
19
|
-
CompileError,
|
20
|
-
DistutilsExecError,
|
21
|
-
DistutilsPlatformError,
|
1
|
+
from .compilers.C import cygwin
|
2
|
+
from .compilers.C.cygwin import (
|
3
|
+
CONFIG_H_NOTOK,
|
4
|
+
CONFIG_H_OK,
|
5
|
+
CONFIG_H_UNCERTAIN,
|
6
|
+
check_config_h,
|
7
|
+
get_msvcr,
|
8
|
+
is_cygwincc,
|
22
9
|
)
|
23
|
-
from .file_util import write_file
|
24
|
-
from .sysconfig import get_config_vars
|
25
|
-
from .unixccompiler import UnixCCompiler
|
26
|
-
from .version import LooseVersion, suppress_known_deprecation
|
27
|
-
|
28
|
-
|
29
|
-
def get_msvcr():
|
30
|
-
"""No longer needed, but kept for backward compatibility."""
|
31
|
-
return []
|
32
|
-
|
33
|
-
|
34
|
-
_runtime_library_dirs_msg = (
|
35
|
-
"Unable to set runtime library search path on Windows, "
|
36
|
-
"usually indicated by `runtime_library_dirs` parameter to Extension"
|
37
|
-
)
|
38
|
-
|
39
|
-
|
40
|
-
class CygwinCCompiler(UnixCCompiler):
|
41
|
-
"""Handles the Cygwin port of the GNU C compiler to Windows."""
|
42
|
-
|
43
|
-
compiler_type = 'cygwin'
|
44
|
-
obj_extension = ".o"
|
45
|
-
static_lib_extension = ".a"
|
46
|
-
shared_lib_extension = ".dll.a"
|
47
|
-
dylib_lib_extension = ".dll"
|
48
|
-
static_lib_format = "lib%s%s"
|
49
|
-
shared_lib_format = "lib%s%s"
|
50
|
-
dylib_lib_format = "cyg%s%s"
|
51
|
-
exe_extension = ".exe"
|
52
|
-
|
53
|
-
def __init__(self, verbose=False, dry_run=False, force=False):
|
54
|
-
super().__init__(verbose, dry_run, force)
|
55
|
-
|
56
|
-
status, details = check_config_h()
|
57
|
-
self.debug_print(f"Python's GCC status: {status} (details: {details})")
|
58
|
-
if status is not CONFIG_H_OK:
|
59
|
-
self.warn(
|
60
|
-
"Python's pyconfig.h doesn't seem to support your compiler. "
|
61
|
-
f"Reason: {details}. "
|
62
|
-
"Compiling may fail because of undefined preprocessor macros."
|
63
|
-
)
|
64
|
-
|
65
|
-
self.cc, self.cxx = get_config_vars('CC', 'CXX')
|
66
|
-
|
67
|
-
# Override 'CC' and 'CXX' environment variables for
|
68
|
-
# building using MINGW compiler for MSVC python.
|
69
|
-
self.cc = os.environ.get('CC', self.cc or 'gcc')
|
70
|
-
self.cxx = os.environ.get('CXX', self.cxx or 'g++')
|
71
|
-
|
72
|
-
self.linker_dll = self.cc
|
73
|
-
self.linker_dll_cxx = self.cxx
|
74
|
-
shared_option = "-shared"
|
75
|
-
|
76
|
-
self.set_executables(
|
77
|
-
compiler=f'{self.cc} -mcygwin -O -Wall',
|
78
|
-
compiler_so=f'{self.cc} -mcygwin -mdll -O -Wall',
|
79
|
-
compiler_cxx=f'{self.cxx} -mcygwin -O -Wall',
|
80
|
-
compiler_so_cxx=f'{self.cxx} -mcygwin -mdll -O -Wall',
|
81
|
-
linker_exe=f'{self.cc} -mcygwin',
|
82
|
-
linker_so=f'{self.linker_dll} -mcygwin {shared_option}',
|
83
|
-
linker_exe_cxx=f'{self.cxx} -mcygwin',
|
84
|
-
linker_so_cxx=f'{self.linker_dll_cxx} -mcygwin {shared_option}',
|
85
|
-
)
|
86
|
-
|
87
|
-
self.dll_libraries = get_msvcr()
|
88
|
-
|
89
|
-
@property
|
90
|
-
def gcc_version(self):
|
91
|
-
# Older numpy depended on this existing to check for ancient
|
92
|
-
# gcc versions. This doesn't make much sense with clang etc so
|
93
|
-
# just hardcode to something recent.
|
94
|
-
# https://github.com/numpy/numpy/pull/20333
|
95
|
-
warnings.warn(
|
96
|
-
"gcc_version attribute of CygwinCCompiler is deprecated. "
|
97
|
-
"Instead of returning actual gcc version a fixed value 11.2.0 is returned.",
|
98
|
-
DeprecationWarning,
|
99
|
-
stacklevel=2,
|
100
|
-
)
|
101
|
-
with suppress_known_deprecation():
|
102
|
-
return LooseVersion("11.2.0")
|
103
|
-
|
104
|
-
def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
|
105
|
-
"""Compiles the source by spawning GCC and windres if needed."""
|
106
|
-
if ext in ('.rc', '.res'):
|
107
|
-
# gcc needs '.res' and '.rc' compiled to object files !!!
|
108
|
-
try:
|
109
|
-
self.spawn(["windres", "-i", src, "-o", obj])
|
110
|
-
except DistutilsExecError as msg:
|
111
|
-
raise CompileError(msg)
|
112
|
-
else: # for other files use the C-compiler
|
113
|
-
try:
|
114
|
-
if self.detect_language(src) == 'c++':
|
115
|
-
self.spawn(
|
116
|
-
self.compiler_so_cxx
|
117
|
-
+ cc_args
|
118
|
-
+ [src, '-o', obj]
|
119
|
-
+ extra_postargs
|
120
|
-
)
|
121
|
-
else:
|
122
|
-
self.spawn(
|
123
|
-
self.compiler_so + cc_args + [src, '-o', obj] + extra_postargs
|
124
|
-
)
|
125
|
-
except DistutilsExecError as msg:
|
126
|
-
raise CompileError(msg)
|
127
|
-
|
128
|
-
def link(
|
129
|
-
self,
|
130
|
-
target_desc,
|
131
|
-
objects,
|
132
|
-
output_filename,
|
133
|
-
output_dir=None,
|
134
|
-
libraries=None,
|
135
|
-
library_dirs=None,
|
136
|
-
runtime_library_dirs=None,
|
137
|
-
export_symbols=None,
|
138
|
-
debug=False,
|
139
|
-
extra_preargs=None,
|
140
|
-
extra_postargs=None,
|
141
|
-
build_temp=None,
|
142
|
-
target_lang=None,
|
143
|
-
):
|
144
|
-
"""Link the objects."""
|
145
|
-
# use separate copies, so we can modify the lists
|
146
|
-
extra_preargs = copy.copy(extra_preargs or [])
|
147
|
-
libraries = copy.copy(libraries or [])
|
148
|
-
objects = copy.copy(objects or [])
|
149
|
-
|
150
|
-
if runtime_library_dirs:
|
151
|
-
self.warn(_runtime_library_dirs_msg)
|
152
|
-
|
153
|
-
# Additional libraries
|
154
|
-
libraries.extend(self.dll_libraries)
|
155
|
-
|
156
|
-
# handle export symbols by creating a def-file
|
157
|
-
# with executables this only works with gcc/ld as linker
|
158
|
-
if (export_symbols is not None) and (
|
159
|
-
target_desc != self.EXECUTABLE or self.linker_dll == "gcc"
|
160
|
-
):
|
161
|
-
# (The linker doesn't do anything if output is up-to-date.
|
162
|
-
# So it would probably better to check if we really need this,
|
163
|
-
# but for this we had to insert some unchanged parts of
|
164
|
-
# UnixCCompiler, and this is not what we want.)
|
165
|
-
|
166
|
-
# we want to put some files in the same directory as the
|
167
|
-
# object files are, build_temp doesn't help much
|
168
|
-
# where are the object files
|
169
|
-
temp_dir = os.path.dirname(objects[0])
|
170
|
-
# name of dll to give the helper files the same base name
|
171
|
-
(dll_name, dll_extension) = os.path.splitext(
|
172
|
-
os.path.basename(output_filename)
|
173
|
-
)
|
174
|
-
|
175
|
-
# generate the filenames for these files
|
176
|
-
def_file = os.path.join(temp_dir, dll_name + ".def")
|
177
|
-
|
178
|
-
# Generate .def file
|
179
|
-
contents = [f"LIBRARY {os.path.basename(output_filename)}", "EXPORTS"]
|
180
|
-
contents.extend(export_symbols)
|
181
|
-
self.execute(write_file, (def_file, contents), f"writing {def_file}")
|
182
|
-
|
183
|
-
# next add options for def-file
|
184
|
-
|
185
|
-
# for gcc/ld the def-file is specified as any object files
|
186
|
-
objects.append(def_file)
|
187
|
-
|
188
|
-
# end: if ((export_symbols is not None) and
|
189
|
-
# (target_desc != self.EXECUTABLE or self.linker_dll == "gcc")):
|
190
|
-
|
191
|
-
# who wants symbols and a many times larger output file
|
192
|
-
# should explicitly switch the debug mode on
|
193
|
-
# otherwise we let ld strip the output file
|
194
|
-
# (On my machine: 10KiB < stripped_file < ??100KiB
|
195
|
-
# unstripped_file = stripped_file + XXX KiB
|
196
|
-
# ( XXX=254 for a typical python extension))
|
197
|
-
if not debug:
|
198
|
-
extra_preargs.append("-s")
|
199
|
-
|
200
|
-
UnixCCompiler.link(
|
201
|
-
self,
|
202
|
-
target_desc,
|
203
|
-
objects,
|
204
|
-
output_filename,
|
205
|
-
output_dir,
|
206
|
-
libraries,
|
207
|
-
library_dirs,
|
208
|
-
runtime_library_dirs,
|
209
|
-
None, # export_symbols, we do this in our def-file
|
210
|
-
debug,
|
211
|
-
extra_preargs,
|
212
|
-
extra_postargs,
|
213
|
-
build_temp,
|
214
|
-
target_lang,
|
215
|
-
)
|
216
|
-
|
217
|
-
def runtime_library_dir_option(self, dir):
|
218
|
-
# cygwin doesn't support rpath. While in theory we could error
|
219
|
-
# out like MSVC does, code might expect it to work like on Unix, so
|
220
|
-
# just warn and hope for the best.
|
221
|
-
self.warn(_runtime_library_dirs_msg)
|
222
|
-
return []
|
223
|
-
|
224
|
-
# -- Miscellaneous methods -----------------------------------------
|
225
|
-
|
226
|
-
def _make_out_path(self, output_dir, strip_dir, src_name):
|
227
|
-
# use normcase to make sure '.rc' is really '.rc' and not '.RC'
|
228
|
-
norm_src_name = os.path.normcase(src_name)
|
229
|
-
return super()._make_out_path(output_dir, strip_dir, norm_src_name)
|
230
|
-
|
231
|
-
@property
|
232
|
-
def out_extensions(self):
|
233
|
-
"""
|
234
|
-
Add support for rc and res files.
|
235
|
-
"""
|
236
|
-
return {
|
237
|
-
**super().out_extensions,
|
238
|
-
**{ext: ext + self.obj_extension for ext in ('.res', '.rc')},
|
239
|
-
}
|
240
|
-
|
241
|
-
|
242
|
-
# the same as cygwin plus some additional parameters
|
243
|
-
class Mingw32CCompiler(CygwinCCompiler):
|
244
|
-
"""Handles the Mingw32 port of the GNU C compiler to Windows."""
|
245
|
-
|
246
|
-
compiler_type = 'mingw32'
|
247
|
-
|
248
|
-
def __init__(self, verbose=False, dry_run=False, force=False):
|
249
|
-
super().__init__(verbose, dry_run, force)
|
250
|
-
|
251
|
-
shared_option = "-shared"
|
252
|
-
|
253
|
-
if is_cygwincc(self.cc):
|
254
|
-
raise CCompilerError('Cygwin gcc cannot be used with --compiler=mingw32')
|
255
|
-
|
256
|
-
self.set_executables(
|
257
|
-
compiler=f'{self.cc} -O -Wall',
|
258
|
-
compiler_so=f'{self.cc} -shared -O -Wall',
|
259
|
-
compiler_so_cxx=f'{self.cxx} -shared -O -Wall',
|
260
|
-
compiler_cxx=f'{self.cxx} -O -Wall',
|
261
|
-
linker_exe=f'{self.cc}',
|
262
|
-
linker_so=f'{self.linker_dll} {shared_option}',
|
263
|
-
linker_exe_cxx=f'{self.cxx}',
|
264
|
-
linker_so_cxx=f'{self.linker_dll_cxx} {shared_option}',
|
265
|
-
)
|
266
|
-
|
267
|
-
def runtime_library_dir_option(self, dir):
|
268
|
-
raise DistutilsPlatformError(_runtime_library_dirs_msg)
|
269
|
-
|
270
|
-
|
271
|
-
# Because these compilers aren't configured in Python's pyconfig.h file by
|
272
|
-
# default, we should at least warn the user if he is using an unmodified
|
273
|
-
# version.
|
274
|
-
|
275
|
-
CONFIG_H_OK = "ok"
|
276
|
-
CONFIG_H_NOTOK = "not ok"
|
277
|
-
CONFIG_H_UNCERTAIN = "uncertain"
|
278
|
-
|
279
|
-
|
280
|
-
def check_config_h():
|
281
|
-
"""Check if the current Python installation appears amenable to building
|
282
|
-
extensions with GCC.
|
283
|
-
|
284
|
-
Returns a tuple (status, details), where 'status' is one of the following
|
285
|
-
constants:
|
286
|
-
|
287
|
-
- CONFIG_H_OK: all is well, go ahead and compile
|
288
|
-
- CONFIG_H_NOTOK: doesn't look good
|
289
|
-
- CONFIG_H_UNCERTAIN: not sure -- unable to read pyconfig.h
|
290
|
-
|
291
|
-
'details' is a human-readable string explaining the situation.
|
292
|
-
|
293
|
-
Note there are two ways to conclude "OK": either 'sys.version' contains
|
294
|
-
the string "GCC" (implying that this Python was built with GCC), or the
|
295
|
-
installed "pyconfig.h" contains the string "__GNUC__".
|
296
|
-
"""
|
297
|
-
|
298
|
-
# XXX since this function also checks sys.version, it's not strictly a
|
299
|
-
# "pyconfig.h" check -- should probably be renamed...
|
300
|
-
|
301
|
-
from distutils import sysconfig
|
302
|
-
|
303
|
-
# if sys.version contains GCC then python was compiled with GCC, and the
|
304
|
-
# pyconfig.h file should be OK
|
305
|
-
if "GCC" in sys.version:
|
306
|
-
return CONFIG_H_OK, "sys.version mentions 'GCC'"
|
307
|
-
|
308
|
-
# Clang would also work
|
309
|
-
if "Clang" in sys.version:
|
310
|
-
return CONFIG_H_OK, "sys.version mentions 'Clang'"
|
311
10
|
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
mention_inflected = 'mentions'
|
323
|
-
else:
|
324
|
-
code = CONFIG_H_NOTOK
|
325
|
-
mention_inflected = 'does not mention'
|
326
|
-
return code, f"{fn!r} {mention_inflected} {substring!r}"
|
11
|
+
__all__ = [
|
12
|
+
'CONFIG_H_NOTOK',
|
13
|
+
'CONFIG_H_OK',
|
14
|
+
'CONFIG_H_UNCERTAIN',
|
15
|
+
'CygwinCCompiler',
|
16
|
+
'Mingw32CCompiler',
|
17
|
+
'check_config_h',
|
18
|
+
'get_msvcr',
|
19
|
+
'is_cygwincc',
|
20
|
+
]
|
327
21
|
|
328
22
|
|
329
|
-
|
330
|
-
|
331
|
-
out_string = check_output(shlex.split(cc) + ['-dumpmachine'])
|
332
|
-
return out_string.strip().endswith(b'cygwin')
|
23
|
+
CygwinCCompiler = cygwin.Compiler
|
24
|
+
Mingw32CCompiler = cygwin.MinGW32Compiler
|
333
25
|
|
334
26
|
|
335
27
|
get_versions = None
|