summaryrefslogtreecommitdiffstats
path: root/setup.py
Commit message (Collapse)AuthorAgeFilesLines
* bpo-45847: Port _bisect, _heapq, _json, _pickle, _random, and _zoneinfo to ↵Erlend Egeberg Aasland2021-11-221-9/+6
| | | | | PY_STDLIB_MOD_SIMPLE (GH-29689) Automerge-Triggered-By: GH:tiran
* bpo-45847: Port array, _contextvars, math, and cmath to PY_STDLIB_MOD_SIMPLE ↵Erlend Egeberg Aasland2021-11-221-6/+4
| | | | (GH-29688)
* bpo-45847: Port codecs and unicodedata to PY_STDLIB_MOD (GH-29685)Christian Heimes2021-11-211-5/+6
|
* bpo-45847: Port grp, spwd, termios, resource, syslog to PY_STDLIB_MOD (GH-29668)Christian Heimes2021-11-211-20/+7
|
* bpo-45847: Port test modules to PY_STDLIB_MOD (GH-29660)Christian Heimes2021-11-201-18/+12
|
* bpo-45847: Port _scproxy to PY_STDLIB_MOD (GH-29644)Christian Heimes2021-11-201-5/+2
|
* bpo-45847: Port builtin hashlib extensions to PY_STDLIB_MOD (GH-29642)Christian Heimes2021-11-191-46/+12
|
* bpo-45573: Move mandatory core modules to Modules/Setup.bootstrap (GH-29616)Christian Heimes2021-11-191-9/+4
|
* bpo-45774: Autoconfiscate SQLite detection (GH-29507)Erlend Egeberg Aasland2021-11-191-102/+11
| | | Co-authored-by: Christian Heimes <christian@python.org>
* bpo-45573: check for ossaudiodev in configure (GH-29614)Christian Heimes2021-11-181-5/+2
|
* bpo-45573: Introduce extension module flags in Makefile (GH-29594)Christian Heimes2021-11-181-94/+78
| | | | | | | | | | | | | | | | | | ``configure`` now uses a standardized format to forward state, compiler flags, and linker flags to ``Makefile``, ``setup.py``, and ``Modules/Setup``. ``makesetup`` use the new variables by default if a module line does not contain any compiler or linker flags. ``setup.py`` has a new function ``addext()``. For a module ``egg``, configure adds: * ``MODULE_EGG`` with value yes, missing, disabled, or n/a * ``MODULE_EGG_CFLAGS`` * ``MODULE_EGG_LDFLAGS`` ``Makefile.pre.in`` may also provide ``MODULE_EGG_DEPS`` that lists dependencies such as header files and static libs. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-45573: Use Makefile's dependencies in setup.py (GH-29559)Christian Heimes2021-11-141-60/+27
|
* bpo-45800: Move pyexpat build setup into configure (GH-29547)Christian Heimes2021-11-141-53/+87
| | | | | | Settings for :mod:`pyexpat` C extension are now detected by ``configure``. The bundled ``expat`` library is built in ``Makefile``. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-45798: Move _decimal build setup into configure (GH-29541)Christian Heimes2021-11-131-105/+16
| | | | | | | Settings for :mod:`decimal` internal C extension are now detected by :program:`configure`. The bundled `libmpdec` library is built in ``Makefile``. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-45747: Detect gdbm/dbm dependencies in configure (GH-29467)Christian Heimes2021-11-101-246/+35
| | | Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
* bpo-45763: Detect compression build deps in configure (GH-29483)Christian Heimes2021-11-091-6/+3
|
* bpo-45743: Remove workaround for zlib CVE from 2002 (GH-29457)Christian Heimes2021-11-091-40/+11
|
* bpo-45743: -Wl,-search_paths_first is no longer needed (GH-29464)Christian Heimes2021-11-091-38/+3
|
* bpo-45743: Move __APPLE_USE_RFC_3542 into socketmodule.c (GH-29456)Christian Heimes2021-11-081-7/+1
|
* bpo-45731: Handle --enable-loadable-sqlite-extensions in configure (GH-29434)Christian Heimes2021-11-061-3/+5
|
* bpo-43158: Use configure values for building _uuid extension (GH-29353)Christian Heimes2021-11-021-6/+6
|
* bpo-45548: Some test modules must be built as shared libs (GH-29268)Christian Heimes2021-10-291-6/+11
| | | | | | | | | | | | | Some test cases don't work when test modules are static extensions. Add dependency on Modules/config.c to trigger a rebuild whenever a module build type is changed. ``makesetup`` puts shared extensions into ``Modules/`` directory. Create symlinks from pybuilddir so the extensions can be imported. Note: It is not possible to use the content of pybuilddir.txt as a build target. Makefile evaluates target variables in the first pass. The pybuilddir.txt file does not exist at that point.
* bpo-45595: Make extensions depend on header files (GH-29198)Christian Heimes2021-10-251-1/+7
| | | | | | ``setup.py`` and ``makesetup`` now track build dependencies on all Python header files and module specific header files. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-45548: Remove _math.c workarounds for pre-C99 libm (GH-29179)Christian Heimes2021-10-251-6/+2
| | | | | | | | | | | | | The :mod:`math` and :mod:`cmath` implementation now require a C99 compatible ``libm`` and no longer ship with workarounds for missing acosh, asinh, expm1, and log1p functions. The changeset also removes ``_math.c`` and moves the last remaining workaround into ``_math.h``. This simplifies static builds with ``Modules/Setup`` and resolves symbol conflicts. Co-authored-by: Mark Dickinson <mdickinson@enthought.com> Co-authored-by: Brett Cannon <brett@python.org> Signed-off-by: Christian Heimes <christian@python.org>
* bpo-45570: Simplify setup macros for pyexpat (GH-29159)Christian Heimes2021-10-221-10/+0
| | | | | | | | * ``HAVE_EXPAT_CONFIG_H`` is not used by our code and not used by system-wide expat header files * ``USE_PYEXPAT_CAPI`` is no longer used by our code * ``XML_POOR_ENTROPY`` should be defined in expat_config.h Signed-off-by: Christian Heimes <christian@python.org>
* bpo-43974: Move Py_BUILD_CORE_MODULE into module code (GH-29157)Christian Heimes2021-10-221-48/+20
| | | | | | | | | | | | | | setup.py no longer defines Py_BUILD_CORE_MODULE. Instead every module defines the macro before #include "Python.h" unless Py_BUILD_CORE_BUILTIN is already defined. Py_BUILD_CORE_BUILTIN is defined for every module that is built by Modules/Setup. The PR also simplifies Modules/Setup. Makefile and makesetup already define Py_BUILD_CORE_BUILTIN and include Modules/internal for us. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-45221: Fix handling of LDFLAGS and CPPFLAGS options in setup.py (GH-29031)andrei kulakov2021-10-181-0/+12
|
* bpo-45482: Rename namespaceobject.h to pycore_namespace.h (GH-28975)Victor Stinner2021-10-151-1/+2
| | | | | | | | | Rename Include/namespaceobject.h to Include/internal/pycore_namespace.h. The _testmultiphase extension is now built with the Py_BUILD_CORE_MODULE macro defined to access _PyNamespace_Type. object.c: remove unused "pycore_context.h" include.
* bpo-45434: Remove pystrhex.h header file (GH-28923)Victor Stinner2021-10-131-8/+13
| | | | | | | | | | | | | | | Move Include/pystrhex.h to Include/internal/pycore_strhex.h. The header file only contains private functions. The following C extensions are now built with Py_BUILD_CORE_MODULE macro defined to get access to the internal C API: * _blake2 * _hashopenssl * _md5 * _sha1 * _sha3 * _ssl * binascii
* pycore_pystate.h no longer redefines PyThreadState_GET() (GH-28921)Victor Stinner2021-10-131-2/+3
| | | | | | | | | | | | | | | | | | | | | | Redefining the PyThreadState_GET() macro in pycore_pystate.h is useless since it doesn't affect files not including it. Either use _PyThreadState_GET() directly, or don't use pycore_pystate.h internal C API. For example, the _testcapi extension don't use the internal C API, but use the public PyThreadState_Get() function instead. Replace PyThreadState_Get() with _PyThreadState_GET(). The _PyThreadState_GET() macro is more efficient than PyThreadState_Get() and PyThreadState_GET() function calls which call fail with a fatal Python error. posixmodule.c and _ctypes extension now include <windows.h> before pycore header files (like pycore_call.h). _PyTraceback_Add() now uses _PyErr_Fetch()/_PyErr_Restore() instead of PyErr_Fetch()/PyErr_Restore(). The _decimal and _xxsubinterpreters extensions are now built with the Py_BUILD_CORE_MODULE macro defined to get access to the internal C API.
* bpo-45439: Move _PyObject_CallNoArgs() to pycore_call.h (GH-28895)Victor Stinner2021-10-121-1/+2
| | | | | | | * Move _PyObject_CallNoArgs() to pycore_call.h (internal C API). * _ssl, _sqlite and _testcapi extensions now call the public PyObject_CallNoArgs() function, rather than _PyObject_CallNoArgs(). * _lsprof extension is now built with Py_BUILD_CORE_MODULE macro defined to get access to internal _PyObject_CallNoArgs().
* [typo] s/libexpact/libexpat/ in setup.py (GH-28624)Łukasz Langa2021-09-291-1/+1
|
* bpo-44394: Ensure libexpat is linked against libm (GH-28617)Pablo Galindo Salgado2021-09-291-1/+3
|
* bpo-44997: macOS does not support loadable SQLite extensions (GH-27979)Erlend Egeberg Aasland2021-08-271-0/+2
| | | Authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
* Fail the CI if an optional module fails to compile (GH-27466)Pablo Galindo Salgado2021-07-301-0/+3
|
* Update URLs in comments and metadata to use HTTPS (GH-27458)Noah Kantrowitz2021-07-301-8/+8
|
* bpo-44353: Implement typing.NewType __call__ method in C (#27262)Yurii Karabas2021-07-221-0/+2
| | | | Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com> Co-authored-by: Denis Laxalde <denis@laxalde.org>
* bpo-43425: Update setup.py not to use distutils.log (GH-26969)Dong-hee Na2021-07-021-16/+23
|
* bpo-42862: Use functools.lru_cache iso. _sqlite.Cache in sqlite3 module ↵Erlend Egeberg Aasland2021-06-031-1/+1
| | | | | (GH-24203) Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
* bpo-41129: Fix check for macOS SDK paths when building Python (GH-25785)Ned Batchelder2021-05-031-3/+3
| | | | | | | | | | Narrow search to match contents of SDKs, namely only files in ``/System/Library``, ``/System/IOSSupport``, and ``/usr`` other than ``/usr/local``. Previously, anything under ``/System`` was assumed to be in an SDK which causes problems with the new file system layout in 10.15+ where user file systems may appear to be mounted under ``/System``. Paths in ``/Library`` were also incorrectly treated as SDK locations. Co-authored-by: Ned Deily <nad@python.org>
* bpo-43466: Link with libz in PY_UNSUPPORTED_OPENSSL_BUILD path (GH-25587)Christian Heimes2021-04-261-1/+2
| | | Some OpenSSL build flavors need libz for compression support.
* bpo-18233: Add internal methods to access peer chain (GH-25467)Christian Heimes2021-04-261-1/+7
| | | | | | | | | | | | The internal `_ssl._SSLSocket` object now provides methods to retrieve the peer cert chain and verified cert chain as a list of Certificate objects. Certificate objects have methods to convert the cert to a dict, PEM, or DER (ASN.1). These are private APIs for now. There is a slim chance to stabilize the approach and provide a public API for 3.10. Otherwise I'll provide a stable API in 3.11. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-41282: Consistent message and filter warning in setup.py (GH-25571)Christian Heimes2021-04-241-2/+10
| | | Signed-off-by: Christian Heimes <christian@python.org>
* bpo-40137: Add pycore_moduleobject.h internal header (GH-25507)Victor Stinner2021-04-211-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add pycore_moduleobject.h internal header file with static inline functions to access module members: * _PyModule_GetDict() * _PyModule_GetDef() * _PyModule_GetState() These functions don't check at runtime if their argument has a valid type and can be inlined even if Python is not built with LTO. _PyType_GetModuleByDef() uses _PyModule_GetDef(). Replace PyModule_GetState() with _PyModule_GetState() in the extension modules, considered as performance sensitive: * _abc * _functools * _operator * _pickle * _queue * _random * _sre * _struct * _thread * _winapi * array * posix The following extensions are now built with the Py_BUILD_CORE_MODULE macro defined, to be able to use the internal pycore_moduleobject.h header: _abc, array, _operator, _queue, _sre, _struct.
* bpo-42333: Port _ssl extension to multiphase initialization (PEP 489) (GH-23253)Christian Heimes2021-04-171-9/+1
| | | | | | | | | - Introduce sslmodule_slots - Introduce sslmodulestate - Use sslmodulestate - Get rid of PyState_FindModule - Move new structs and helpers to header file - Use macros to access state - Keep a strong ref to socket type
* bpo-43669: PEP 644: Require OpenSSL 1.1.1 or newer (GH-23014)Christian Heimes2021-04-171-27/+14
| | | | | | | | | | | | | | | | | | | | | | | | - Remove HAVE_X509_VERIFY_PARAM_SET1_HOST check - Update hashopenssl to require OpenSSL 1.1.1 - multissltests only OpenSSL > 1.1.0 - ALPN is always supported - SNI is always supported - Remove deprecated NPN code. Python wrappers are no-op. - ECDH is always supported - Remove OPENSSL_VERSION_1_1 macro - Remove locking callbacks - Drop PY_OPENSSL_1_1_API macro - Drop HAVE_SSL_CTX_CLEAR_OPTIONS macro - SSL_CTRL_GET_MAX_PROTO_VERSION is always defined now - security level is always available now - get_num_tickets is available with TLS 1.3 - X509_V_ERR MISMATCH is always available now - Always set SSL_MODE_RELEASE_BUFFERS - X509_V_FLAG_TRUSTED_FIRST is always available - get_ciphers is always supported - SSL_CTX_set_keylog_callback is always available - Update Modules/Setup with static link example - Mention PEP in whatsnew - Drop 1.0.2 and 1.1.0 from GHA tests
* bpo-41282: setup.py ignores distutils DeprecationWarning (GH-25405)Victor Stinner2021-04-141-8/+14
|
* bpo-43788: Generate version specific _ssl_data.h (GH-25300)Christian Heimes2021-04-091-1/+7
| | | | | Signed-off-by: Christian Heimes <christian@python.org> Automerge-Triggered-By: GH:tiran
* bpo-41111: Don't build xxlimited with Py_TRACE_REFS macro (GH-25180)Hai Shi2021-04-061-3/+4
|
* bpo-41111: xxlimited.c defines Py_LIMITED_API (GH-25151)Victor Stinner2021-04-021-4/+2
| | | | | | xxlimited.c and xxlimited_35.c now define the Py_LIMITED_API macro, rather than having to do it in the build recipe. Co-authored-by: Hai Shi <shihai1992@gmail.com>