aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [3.10] GH-99086: Fix -Wstrict-prototypes, -Wimplicit-function-declara… ↵Sam James2024-03-191-26/+31
| | | | | | | | | | | (#99920) [3.10] gh-99086: Fix -Wstrict-prototypes, -Wimplicit-function-declaration warnings in configure.ac (GH-99406) Follow up to 12078e78f6e4a21f344e4eaff529e1ff3b97734f. (cherry picked from commit e35ca417fe81a64985c2b29e863ce418ae75b96e) Co-authored-by: Sam James <sam@gentoo.org>
* gh-99086: Build: Fix -Wimplicit-int in PTHREAD_SCOPE_SYSTEM check (#99085)Sam James2024-03-191-1/+1
| | | | | | | | | | | Clang 16 makes -Wimplicit-int fatal by default. Avoids errors like: ``` conftest.c:142:7: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int] ``` Signed-off-by: Sam James <sam@gentoo.org>
* bpo-42856: Add --with-wheel-pkg-dir=PATH configure option (GH-24210)Victor Stinner2024-03-191-0/+16
| | | | | | | | | | | | | | | | Add --with-wheel-pkg-dir=PATH option to the ./configure script. If specified, the ensurepip module looks for setuptools and pip wheel packages in this directory: if both are present, these wheel packages are used instead of ensurepip bundled wheel packages. Some Linux distribution packaging policies recommend against bundling dependencies. For example, Fedora installs wheel packages in the /usr/share/python-wheels/ directory and don't install the ensurepip._bundled package. ensurepip: Remove unused runpy import. backported to 3.9 by Michał Górny
* bpo-45433: Do not link libpython against libcryptMike Gilbert2024-03-191-0/+3
| | | | | Save/restore LIBS when calling AC_SEARCH_LIBS(..., crypt). This avoid linking libpython with libcrypt.
* bpo-43998: Default to TLS 1.2 and increase cipher suite security (GH-25778)Christian Heimes2024-03-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ssl module now has more secure default settings. Ciphers without forward secrecy or SHA-1 MAC are disabled by default. Security level 2 prohibits weak RSA, DH, and ECC keys with less than 112 bits of security. :class:`~ssl.SSLContext` defaults to minimum protocol version TLS 1.2. Settings are based on Hynek Schlawack's research. ``` $ openssl version OpenSSL 1.1.1k FIPS 25 Mar 2021 $ openssl ciphers -v '@SECLEVEL=2:ECDH+AESGCM:ECDH+CHACHA20:ECDH+AES:DHE+AES:!aNULL:!eNULL:!aDSS:!SHA1:!AESCCM' TLS_AES_256_GCM_SHA384 TLSv1.3 Kx=any Au=any Enc=AESGCM(256) Mac=AEAD TLS_CHACHA20_POLY1305_SHA256 TLSv1.3 Kx=any Au=any Enc=CHACHA20/POLY1305(256) Mac=AEAD TLS_AES_128_GCM_SHA256 TLSv1.3 Kx=any Au=any Enc=AESGCM(128) Mac=AEAD TLS_AES_128_CCM_SHA256 TLSv1.3 Kx=any Au=any Enc=AESCCM(128) Mac=AEAD ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(256) Mac=AEAD ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(128) Mac=AEAD ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD ECDHE-ECDSA-CHACHA20-POLY1305 TLSv1.2 Kx=ECDH Au=ECDSA Enc=CHACHA20/POLY1305(256) Mac=AEAD ECDHE-RSA-CHACHA20-POLY1305 TLSv1.2 Kx=ECDH Au=RSA Enc=CHACHA20/POLY1305(256) Mac=AEAD ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA384 ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA384 ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA256 ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA256 DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(256) Mac=AEAD DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(128) Mac=AEAD DHE-RSA-AES256-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(256) Mac=SHA256 DHE-RSA-AES128-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(128) Mac=SHA256 ``` Signed-off-by: Christian Heimes <christian@python.org>
* [3.9] bpo-46968: Check for 'sys/auxv.h' in the configure script (GH-31961). ↵Pablo Galindo Salgado2022-03-181-1/+1
| | | | | | | (GH-31975) (cherry picked from commit 8e3fde728f547f1d32bde8adf62b4c50bb877b9d) Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
* bpo-46968: Fix faulthandler for Sapphire Rapids Xeon (GH-31789) (GH-31831)Victor Stinner2022-03-121-1/+1
| | | | | | | | | | | | | | | In Linux kernel 5.14 one can dynamically request size of altstacksize based on hardware capabilities with getauxval(AT_MINSIGSTKSZ). This changes allows for Python extension's request to Linux kernel to use AMX_TILE instruction set on Sapphire Rapids Xeon processor to succeed, unblocking use of the ISA in frameworks. Introduced HAVE_LINUX_AUXVEC_H in configure.ac and pyconfig.h.in Used cpython_autoconf:269 docker container to generate configure. (cherry picked from commit 3b128c054885fe881c3b57a5978de3ea89c81a9c) Co-authored-by: Oleksandr Pavlyk <oleksandr.pavlyk@intel.com>
* [3.9] bpo-46513: Remove AC_C_CHAR_UNSIGNED / __CHAR_UNSIGNED__ (GH-30851) ↵Christian Heimes2022-01-261-1/+0
| | | | | (GH-30915) Co-authored-by: Christian Heimes <christian@python.org>
* bpo-46263: Don't use MULTIARCH on FreeBSD (GH-30410)Miss Islington (bot)2022-01-051-4/+9
| | | | | (cherry picked from commit cae55542d23e606dde9819d5dadd7430085fcc77) Co-authored-by: Christian Heimes <christian@python.org>
* [3.9] bpo-43158: Use configure values for building _uuid extension ↵Miss Islington (bot)2021-11-021-1/+6
| | | | | (GH-29353) (GH-29363) Co-authored-by: Christian Heimes <christian@python.org>
* [3.9] bpo-45405: Prevent ``internal configure error`` when running ↵Miss Islington (bot)2021-10-121-3/+5
| | | | | | | | | | | | | | ``configure`` with recent versions of non-Apple clang. (GH-28845) (GH-28910) Change the configure logic to function properly on macOS when the compiler outputs a platform triplet for option --print-multiarch. Co-authored-by: Ned Deily <nad@python.org> (cherry picked from commit 9c4766772cda67648184f8ddba546a5fc0167f91) Co-authored-by: David Bohman <debohman@gmail.com> Automerge-Triggered-By: GH:ned-deily
* bpo-41710: PyThread_acquire_lock_timed() uses sem_clockwait() (GH-28671) ↵Miss Islington (bot)2021-10-011-1/+1
| | | | | | | | | | | | | | (GH-28683) On Unix, if the sem_clockwait() function is available in the C library (glibc 2.30 and newer), the threading.Lock.acquire() method now uses the monotonic clock (time.CLOCK_MONOTONIC) for the timeout, rather than using the system clock (time.CLOCK_REALTIME), to not be affected by system clock changes. configure now checks if the sem_clockwait() function is available. (cherry picked from commit 6df8c327532627d6a99991993c52e8e4a9b34968) Co-authored-by: Victor Stinner <vstinner@python.org>
* bpo-43109: Fix --with-lto configure option on macOS (GH-26341) (GH-26343)Miss Islington (bot)2021-05-251-3/+6
| | | | | | | Allow --with-lto configure option to work with Apple-supplied Xcode or Command Line Tools which do not provide llvm-ar. (cherry picked from commit 59acfd4a09df1c141dac7845eed008af8970fce7) Co-authored-by: Ned Deily <nad@python.org>
* [3.9] bpo-43667: Fix broken Unicode encoding in non-UTF locales on Solaris ↵Jakub Kulík2021-05-211-0/+16
| | | | | | | (GH-25096) (GH-25847) (cherry picked from commit 9032cf5cb1e33c0349089cfb0f6bf11ed3c30e86) Co-authored-by: Jakub Kulík <Kulikjak@gmail.com>
* [3.9] bpo-44009: Provide "python3.x-intel64" for Apple Silicon Macs ↵Miss Islington (bot)2021-05-021-4/+8
| | | | | | | | | | | | | | (GH-25804) (GH-25807) This allows reliably forcing macOS universal2 framework builds to run under Rosetta 2 Intel-64 emulation on Apple Silicon Macs if needed for testing or when universal2 wheels are not yet available. (cherry picked from commit 0cb33da1cc9cebb9b2d67d446feb1cfd36fe7f55) Co-authored-by: Ned Deily <nad@python.org> Automerge-Triggered-By: GH:ned-deily
* [3.9] bpo-43617: Check autoconf-archive package in configure.ac (GH-25016) ↵Christian Heimes2021-03-271-4/+11
| | | | | | | | (GH-25034) Signed-off-by: Christian Heimes <christian@python.org>. (cherry picked from commit 5d6e8c1c1a5f667cdce99cb3c563ac922198678d) Co-authored-by: Christian Heimes <christian@python.org>
* bpo-42604: always set EXT_SUFFIX=${SOABI}${SHLIB_SUFFIX} when using ↵Miss Islington (bot)2020-12-201-6/+1
| | | | | | | | | | | | | | | configure (GH-23708) (GH-23866) Now all platforms use a value for the "EXT_SUFFIX" build variable derived from SOABI (for instance in FreeBSD, "EXT_SUFFIX" is now ".cpython-310d.so" instead of ".so"). Previously only Linux, Mac and VxWorks were using a value for "EXT_SUFFIX" that included "SOABI". Co-authored-by: Pablo Galindo <pablogsal@gmail.com> (cherry picked from commit a44ce6c9f725d336aea51a946b42769f29fed613) Co-authored-by: Matti Picus <matti.picus@gmail.com> Co-authored-by: Matti Picus <matti.picus@gmail.com>
* bpo-42598: Fix implicit function declarations in configure (GH-23690) (GH-23756)Miss Islington (bot)2020-12-131-6/+7
| | | | | | | | | This is invalid in C99 and later and is an error with some compilers (e.g. clang in Xcode 12), and can thus cause configure checks to produce incorrect results. (cherry picked from commit 674fa0a740151e0416c9383f127b16014e805990) Co-authored-by: Joshua Root <jmr@macports.org>
* [3.9] bpo-41100: Support macOS 11 and Apple Silicon (GH-22855) (GH-23295)Ronald Oussoren2020-11-221-5/+19
| | | | | | | | | | | | | | | | | | | | * [3.9] bpo-41100: Support macOS 11 and Apple Silicon (GH-22855) Co-authored-by: Lawrence D’Anna <lawrence_danna@apple.com> * Add support for macOS 11 and Apple Silicon (aka arm64) As a side effect of this work use the system copy of libffi on macOS, and remove the vendored copy * Support building on recent versions of macOS while deploying to older versions This allows building installers on macOS 11 while still supporting macOS 10.9.. (cherry picked from commit 41761933c1c30bb6003b65eef1ba23a83db4eae4) Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com> * Back port of changes to _decimal to support arm64 * temp_dir is in test.support in 3.9
* [3.9] bpo-38443: Check that the specified universal architectures work ↵Miss Islington (bot)2020-11-211-0/+7
| | | | | | | | | (GH-22910) (GH-23451) As [[bpo-38443]()]() says the error message from configure when specifying --enable-universalsdk with a set of architectures that is not supported by the compiler is not very helpful. This PR explicitly checks if the compiler works and bails out if it doesn't. (cherry picked from commit 0f20bd9042c9b7fce20c3b9511cd0820b30094c3) Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
* bpo-41721: Add xlc options (GH-22097)Miss Islington (bot)2020-09-041-1/+4
| | | | | | (cherry picked from commit 84a7917b4c9afec07575065cffa143b91fe98c14) Authored-by: Stefan Krah <skrah@bytereef.org>
* bpo-19521: Fix parallel build race condition on AIX (GH-22001)Miss Islington (bot)2020-08-291-9/+18
| | | | | | Patch by Michael Haubenwallner. (cherry picked from commit e6dcd371b2c54a94584dd124e8c592a496d46a47) Co-authored-by: Stefan Krah <skrah@bytereef.org>
* BPO-41100: Support macOS 11 when building (GH-21113)Miss Islington (bot)2020-06-251-1/+1
| | | | | (cherry picked from commit 8ea6353f60625c96ce96588c70ff24a77f8c71f9) Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
* bpo-40684: Fix make install for platlibdir=lib64 (GH-20736)Miss Islington (bot)2020-06-091-1/+6
| | | | | | | | | "make install" now uses the PLATLIBDIR variable for the destination lib-dynload/ directory when ./configure --with-platlibdir is used. Update --with-platlibdir comment in configure. (cherry picked from commit 51ae31e5b93b986e57a7e18e25f981a6ffcdefb7) Co-authored-by: Victor Stinner <vstinner@python.org>
* [3.9] bpo-40514: Remove --with-experimental-isolated-subinterpreters in 3.9 ↵Victor Stinner2020-05-201-18/+0
| | | | | | | (GH-20228) Remove --with-experimental-isolated-subinterpreters configure option in Python 3.9: the experiment continues in the master branch, but it's no longer needed in 3.9.
* Revert "bpo-26317: Support OBJC and OBJCXX configure command line variables ↵Ned Deily2020-05-181-19/+0
| | | | | | | | | (GH-20176)" (GH-20182) This reverts commit 0da546665075aefbb476e192ed64122d340164f4. The commit is causing make failures on a FreeBSD buildbot. Due to the imminent 3.9.0b1 cutoff, revert this commit for now pending further investigation.
* bpo-26317: Support OBJC and OBJCXX configure command line variables (GH-20176)Ned Deily2020-05-181-0/+19
| | | | | | Add support to the configure script for OBJC and OBJCXX command line options so that the macOS builds can use the clang compiler for the macOS-specific Objective C source files. This allows third-party compilers, like GNU gcc, to be used to build the rest of the project since some of the Objective C system header files are not compilable by GNU gcc. Co-authored-by: Jeffrey Kintscher <websurfer@surf2c.net> Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
* bpo-40503: PEP 615: Tests and implementation for zoneinfo (GH-19909)Paul Ganssle2020-05-161-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the initial implementation of PEP 615, the zoneinfo module, ported from the standalone reference implementation (see https://www.python.org/dev/peps/pep-0615/#reference-implementation for a link, which has a more detailed commit history). This includes (hopefully) all functional elements described in the PEP, but documentation is found in a separate PR. This includes: 1. A pure python implementation of the ZoneInfo class 2. A C accelerated implementation of the ZoneInfo class 3. Tests with 100% branch coverage for the Python code (though C code coverage is less than 100%). 4. A compile-time configuration option on Linux (though not on Windows) Differences from the reference implementation: - The module is arranged slightly differently: the accelerated module is `_zoneinfo` rather than `zoneinfo._czoneinfo`, which also necessitates some changes in the test support function. (Suggested by Victor Stinner and Steve Dower.) - The tests are arranged slightly differently and do not include the property tests. The tests live at test/test_zoneinfo/test_zoneinfo.py rather than test/test_zoneinfo.py or test/test_zoneinfo/__init__.py because we may do some refactoring in the future that would likely require this separation anyway; we may: - include the property tests - automatically run all the tests against both pure Python and C, rather than manually constructing C and Python test classes (similar to the way this works with test_datetime.py, which generates C and Python test cases from datetimetester.py). - This includes a compile-time configuration option on Linux (though not on Windows); added with much help from Thomas Wouters. - Integration into the CPython build system is obviously different from building a standalone zoneinfo module wheel. - This includes configuration to install the tzdata package as part of CI, though only on the coverage jobs. Introducing a PyPI dependency as part of the CI build was controversial, and this is seen as less of a major change, since the coverage jobs already depend on pip and PyPI. Additional changes that were introduced as part of this PR, most / all of which were backported to the reference implementation: - Fixed reference and memory leaks With much debugging help from Pablo Galindo - Added smoke tests ensuring that the C and Python modules are built The import machinery can be somewhat fragile, and the "seamlessly falls back to pure Python" nature of this module makes it so that a problem building the C extension or a failure to import the pure Python version might easily go unnoticed. - Adjustments to zoneinfo.__dir__ Suggested by Petr Viktorin. - Slight refactorings as suggested by Steve Dower. - Removed unnecessary if check on std_abbr Discovered this because of a missing line in branch coverage.
* bpo-40637: Add option to disable builtin hashes (GH-20121)Christian Heimes2020-05-151-0/+26
| | | | | Signed-off-by: Christian Heimes <christian@python.org> Automerge-Triggered-By: @tiran
* bpo-40514: Add --with-experimental-isolated-subinterpreters (GH-19926)Victor Stinner2020-05-051-0/+17
| | | | | | | Add --with-experimental-isolated-subinterpreters build option to configure: better isolate subinterpreters, experimental build mode. When used, force the usage of the libc malloc() memory allocator, since pymalloc relies on the unique global interpreter lock (GIL).
* bpo-40291: Add support for CAN_J1939 sockets (GH-19538)karl ding2020-04-291-2/+2
| | | | Add support for CAN_J1939 sockets that wrap SAE J1939 protocol functionality provided by Linux 5.4+ kernels.
* bpo-40334: Fix builds outside the source directory and regenerate autoconf ↵Pablo Galindo2020-04-231-1/+1
| | | | files (GH-19667)
* bpo-25780: Expose CAN_RAW_JOIN_FILTERS in the socket module (GH-19190)Zackery Spytz2020-04-091-0/+10
| | | Co-Authored-By: Stefan Tatschner <stefan@rumpelsepp.org>
* bpo-39761: Fix dtrace build with empty $DFLAGS (GH-18766)Petr Viktorin2020-03-111-1/+1
| | | | | | This fixes a regression introduced in bpo-38960. When DFLAGS was empty, "$DFLAGS" results in an empty argument (""). Without the quotes, an empty variable will be ignored by the shell.
* bpo-1294959: Add sys.platlibdir attribute (GH-18381)Victor Stinner2020-03-101-2/+26
| | | | | | | | | | | | | Add --with-platlibdir option to the configure script: name of the platform-specific library directory, stored in the new sys.platlitdir attribute. It is used to build the path of platform-specific dynamic libraries and the path of the standard library. It is equal to "lib" on most platforms. On Fedora and SuSE, it is equal to "lib64" on 64-bit systems. Co-Authored-By: Jan Matějek <jmatejek@suse.com> Co-Authored-By: Matěj Cepl <mcepl@cepl.eu> Co-Authored-By: Charalampos Stratakis <cstratak@redhat.com>
* bpo-39794: Add --without-decimal-contextvar (#18702)Stefan Krah2020-02-291-0/+15
|
* closes bpo-39619 Fix os.chroot on HP-UX 11.31 (GH-18495)Ian Norton2020-02-131-0/+6
| | | | | | Setting `-D_XOPEN_SOURCE=700` on HP-UX causes system functions such as chroot to be undefined. This change stops `_XOPEN_SOURCE` begin set on HP-UX Co-authored-by: Benjamin Peterson <benjamin@python.org>
* bpo-38960: DTrace build fix for FreeBSD. (GH-17451)David Carlier2020-01-281-2/+1
| | | | | | | | DTrace build fix for FreeBSD. - allowing passing an extra flag as it need to define the arch size. - casting some probe's arguments.
* bpo-39395: putenv() and unsetenv() always available (GH-18135)Victor Stinner2020-01-241-3/+3
| | | | | | | | The os.putenv() and os.unsetenv() functions are now always available. On non-Windows platforms, Python now requires setenv() and unsetenv() functions to build. Remove putenv_dict from posixmodule.c: it's not longer needed.
* bpo-39406: Implement os.putenv() with setenv() if available (GH-18128)Victor Stinner2020-01-221-1/+1
| | | | | If setenv() C function is available, os.putenv() is now implemented with setenv() instead of putenv(), so Python doesn't have to handle the environment variable memory.
* bpo-39160 Align the verbs, grammar and defaults for `./configure --help` ↵Anthony Shaw2020-01-141-42/+59
| | | | (GH-17747)
* bpo-38021: Modify AIX platform_tag so it covers PEP 425 needs (GH-17303)Michael Felt2019-12-161-1/+11
| | | | | | | | Provides a richer platform tag for AIX that we expect to be sufficient for PEP 425 binary distribution identification. Any backports to earlier Python versions will be handled via setuptools. Patch by Michael Felt.
* closes bpo-38713: Expose P_PIDFD in os if it's defined. (GH-17071)Benjamin Peterson2019-11-051-1/+1
| | | https://bugs.python.org/issue38713
* bpo-37415: Fix stdatomic.h header check for ICC compiler (GH-16717)Victor Stinner2019-10-221-3/+6
| | | | | | | | | | | | Fix stdatomic.h header check for ICC compiler: the ICC implementation lacks atomic_uintptr_t type which is needed by Python. Test: * atomic_int and atomic_uintptr_t types * atomic_load_explicit() and atomic_store_explicit() * memory_order_relaxed and memory_order_seq_cst constants But don't test ATOMIC_VAR_INIT(): it's not used in Python.
* bpo-11410: Standardize and use symbol visibility attributes across POSIX and ↵Vinay Sajip2019-10-151-0/+20
| | | | Windows. (GH-16347)
* bpo-38301: In Solaris family, we must be sure to use '-D_REENTRANT' (#16446)Jesús Cea2019-09-281-0/+3
|
* closes bpo-36002: Use AC_PATH_TOOL to find llvm-profdata and llvm-ar. (GH-14998)Doyle Rowland2019-09-131-2/+2
|
* bpo-38110: Use fdwalk for os.closerange() when available. (GH-15224)Jakub Kulík2019-09-111-1/+1
| | | Use fdwalk() on platforms that support it to implement os.closerange().
* bpo-38068: Clean up gettimeofday configure logic. (GH-15775)Benjamin Peterson2019-09-101-9/+0
| | | Assume gettimeofday exists and takes two arguments.
* bpo-34652 again: Remove lchmod from the default AC_CHECK_FUNCS list. (GH-15758)Benjamin Peterson2019-09-091-1/+1
|