Sam Gross
8d42e2d915
gh-125269: Use `AC_LINK_IF_ELSE` to detect if `-latomic` is needed ( #125416 )
...
We previously used `AC_RUN_IF_ELSE` with a short test program to detect
if `-latomic` is needed, but that requires choosing a specific default
value when cross-compiling because the test program is not run.
Some cross compilation targets like `wasm32-emscripten` do not support
`-latomic`, while other cross compilation targets, like
`arm-linux-gnueabi` require it.
2024-10-14 20:09:48 -04:00
Steven Jin
1bffd7a2a7
gh-124944: Add socket.SO_ORIGINAL_DST ( #124945 )
2024-10-15 00:36:38 +02:00
Donghee Na
ad7c778546
gh-123990: Good bye WITH_FREELISTS macro (gh-124358)
2024-09-24 01:28:59 +00:00
Malcolm Smith
41e7992e31
gh-99108: Disable HACL SIMD code on older versions of Android ( #124304 )
...
Disable HACL SIMD code on older versions of Android
2024-09-23 13:28:03 -07:00
Furkan Onder
2e8c769481
gh-124228: Fix UUID test in configure files for NetBSD ( #124229 )
...
Fix UUID configuration in configure files for NetBSD compatibility.
2024-09-23 08:54:36 +02:00
Nate Ohlson
29a1a6e3ed
gh-124191: Disable -Wconversion in enable safety (gh-124192)
2024-09-18 12:55:09 +09:00
Peter Bierma
3b45df03a4
gh-124043: Disallow mixing `--with-trace-refs` and `--disable-gil` ( #124078 )
...
Tracing references is not currently thread-safe in the free-threaded build.
2024-09-16 16:03:16 -04:00
Nate Ohlson
44052b5f18
gh-124064: Make warning emitting compiler options opt-in ( #124070 )
...
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2024-09-16 20:22:30 +03:00
Russell Keith-Magee
ef530ce7c6
gh-123748: Add conditional compilation rules for HACL SIMD256 and SIMD128 on macOS ( #123989 )
...
Add conditional compilation rules to allow HACL SIMD256 and SIMD128 to be ignored on the ARM64 pass of universal2 macOS builds.
2024-09-16 12:23:05 +08:00
Hugo van Kemenade
ea77973718
Revert "gh-112301: Enable warning emitting options and ignore warnings in CI ( #123020 )" ( #124065 )
2024-09-13 22:47:12 +03:00
Nate Ohlson
cfe6074d1f
gh-112301: Enable warning emitting options and ignore warnings in CI ( #123020 )
...
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2024-09-13 13:40:04 +00:00
algonell
9017b95ff2
Fix typos ( #123775 )
2024-09-09 14:58:26 +02:00
Russell Keith-Magee
d359c7c47b
Ensure clang++ is autodetected on iOS. (gh-123749)
2024-09-05 21:36:01 -04:00
Furkan Onder
42f52431e9
gh-123716: Fix 'Bad substitution' syntax error in configure script for NetBSD compatibility ( #123717 )
2024-09-05 23:49:12 +00:00
blhsing
126910edba
gh-122272: Guarantee specifiers %F and %C for datetime.strftime to be 0-padded (GH-122436)
2024-08-23 18:45:03 +03:00
Malcolm Smith
3950392f48
gh-99108: Inform HACL when explicit_bzero is unavailable (GH-123027)
...
Inform HACL whether explicit_bzero is available
2024-08-15 11:43:34 +02:00
Jonathan Protzenko
325e9b8ef4
gh-99108: Add HACL* Blake2 implementation to hashlib (GH-119316)
...
This replaces the existing hashlib Blake2 module with a single implementation that uses HACL\*'s Blake2b/Blake2s implementations. We added support for all the modes exposed by the Python API, including tree hashing, leaf nodes, and so on. We ported and merged all of these changes upstream in HACL\*, added test vectors based on Python's existing implementation, and exposed everything needed for hashlib.
This was joint work done with @R1kM.
See the PR for much discussion and benchmarking details. TL;DR: On many systems, 8-50% faster (!) than `libb2`, on some systems it appeared 10-20% slower than `libb2`.
2024-08-13 21:42:19 +00:00
Malcolm Smith
2f5c3b09e4
gh-116622: Rename build variable MODULE_LDFLAGS back to LIBPYTHON ( #122764 )
...
(LIBPYTHON was renamed MODULE_LDFLAGS in commit 7f5e3f04f.)
2024-08-09 00:00:55 +02:00
Jonathan Protzenko
b5e142ba7c
gh-122571: Remove duplicate definition of PY_BUILTIN_HASHLIB_HASHES in configure.ac ( #122572 )
...
The redefinition in confdefs.h can cause issues with the
AX_CHECK_COMPILE_FLAG macro.
2024-08-06 23:31:39 +00:00
Donghee Na
046670c3a0
gh-121996: Fix --disable-safety and --enable-slower-safety options (gh-122414)
2024-07-29 19:20:36 +00:00
Nate Ohlson
ca0f7c447c
gh-112301: Make fortify source option check -Werror (gh-122141)
2024-07-25 17:35:23 +09:00
Donghee Na
a9bb3c7b3b
gh-121996: Introduce --disable-safety and --enable-slower-safety options ( #122054 )
...
* gh-121996: Introduce --disable-safty and --enable-slower-safty
* Update GA
* fix
* Address code review
* Update CI
2024-07-23 09:22:04 +09:00
Russell Keith-Magee
728432c804
gh-120522: Apply App Store compliance patch during installation ( #121947 )
...
Adds a --with-app-store-compliance configuration option that patches out code known to be an issue with App Store review processes. This option is applied automatically on iOS, and optionally on macOS.
2024-07-22 07:36:08 +08:00
Nate Ohlson
bdab67e1c7
gh-112301: Add fortify source level 3 to default compiler options (gh-121520)
2024-07-19 01:06:51 +09:00
Ned Deily
f27593a87c
gh-120522: Revert "Add a `--with-app-store-compliance` configure option to patch out problematic code" (gh-120984) ( #121844 )
...
This reverts commit 48cd104b0c
prior
to the release of 3.13.0b4 to allow for additional review time.
2024-07-16 06:49:36 -04:00
Russell Keith-Magee
7e91e0dcfe
gh-120831: Increase the default minimum supported iOS version to 13.0 ( #121250 )
...
Increases the default minimum iOS version to 13.0.
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2024-07-16 12:23:35 +08:00
Sam Gross
e8c91d90ba
gh-121103: Put free-threaded libraries in `lib/python3.14t` ( #121293 )
...
On POSIX systems, excluding macOS framework installs, the lib directory
for the free-threaded build now includes a "t" suffix to avoid conflicts
with a co-located default build installation.
2024-07-11 16:21:37 -04:00
Irit Katriel
6557af6698
gh-121554: remove unnecessary internal functions in compile.c ( #121555 )
...
Co-authored-by: Erlend E. Aasland <erlend@python.org>
2024-07-10 23:48:37 +01:00
Stefano Rivera
ca2e876500
gh-121201: Disable perf_trampoline on riscv64 for now ( #121328 )
...
Disable perf_trampoline on riscv64 for now
Until support is added in perf_jit_trampoline.c
gh-120089 was incomplete.
2024-07-03 15:44:34 +01:00
Sergey B Kirpichev
6988ff02a5
gh-61103: Support double complex (_Complex) type in ctypes ( #120894 )
...
Example:
```pycon
>>> import ctypes
>>> ctypes.__STDC_IEC_559_COMPLEX__
1
>>> libm = ctypes.CDLL('libm.so.6')
>>> libm.clog.argtypes = [ctypes.c_double_complex]
>>> libm.clog.restype = ctypes.c_double_complex
>>> libm.clog(1+1j)
(0.34657359027997264+0.7853981633974483j)
```
Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2024-07-01 10:54:33 +02:00
Erlend E. Aasland
f80376b129
gh-113565: Improve and harden detection of curses dependencies ( #119816 )
...
1. Use pkg-config to check for ncursesw/panelw. If that fails, use
pkg-config to check for ncurses/panel.
2. Regardless of pkg-config output, search for curses/panel headers, so
we're sure we have all defines in pyconfig.h.
3. Regardless of pkg-config output, check if libncurses or libncursesw
contains the 'initscr' symbol; if it does _and_ pkg-config failed
earlier, add the resulting -llib linker option to CURSES_LIBS.
Ditto for 'update_panels' and PANEL_LIBS.
4. Wrap the rest of the checks with WITH_SAVE_ENV and make sure we're
using updated LIBS and CPPFLAGS for those.
Add the PY_CHECK_CURSES convenience macro.
2024-07-01 08:10:03 +00:00
Russell Keith-Magee
48cd104b0c
gh-120522: Add a `--with-app-store-compliance` configure option to patch out problematic code ( #120984 )
...
* Add --app-store-compliance configuration option.
* Added blurb.
* Correct tab-vs-spaces formatting issue.
* Correct source file name in docs.
Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>
* Correct source code reference in Mac docs
Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>
* Only apply the patch forward, and ensure the working directory is correct.
* Make patching reslient to multiple builds.
* Documentation fixes found during review
Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>
* Documentation and configure.ac syntax improvements
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* Regenerate configure script.
* Silence the patch echo output.
---------
Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>
Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2024-06-30 08:34:35 +08:00
blhsing
6d34938dc8
gh-120713: Normalize year with century for datetime.strftime (GH-120820)
2024-06-29 09:32:42 +03:00
Nate Ohlson
ef28f6df42
gh-121040: Remove fallthrough warnings compiler option (gh-121041)
...
Remove fallthrough warnings
2024-06-26 10:21:21 +00:00
Nate Ohlson
d8f82432a3
gh-121026: Include -Werror with new compiler flag checks to ensure compatibility (gh-121030)
2024-06-26 17:45:55 +09:00
Nate Ohlson
7fb32e0209
gh-112301: Enable compiler flags with low performance impact and no warnings (gh-120975)
2024-06-26 12:11:05 +09:00
Michael Allwright
2106c9bef0
gh-120671: Fix PY_CHECK_CC_WARNING() in configure.ac ( #120822 )
...
Add missing space in AS_VAR_APPEND() on CFLAGS.
2024-06-25 09:48:48 +02:00
Victor Stinner
49f51deeef
gh-120688: Build WASI with -O3 in debug mode ( #120691 )
...
On WASI in debug mode, Python is now built with compiler flag -O3
instead of -Og, to support more recursive calls.
2024-06-18 19:35:44 +02:00
Victor Stinner
6acf7776ef
gh-120507: Double WASI memory ( #120648 )
...
Use 16 MiB stack with 40 MiB memory limit, instead of 8 MiB stack
with 20 MiB memory limit.
2024-06-17 16:08:05 +00:00
ixgbe00
4b1e85bafc
gh-120400 :Support Linux perf profile to see Python calls on RISC-V architecture ( #120089 )
...
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2024-06-12 14:24:46 +01:00
Michael Allwright
47816f465e
gh-120154: Fix Emscripten/WASI pattern in case statement for LDSHARED ( #120173 )
...
Fix Emscripten/WASI pattern in case statement for LDSHARED
2024-06-07 10:38:15 +02:00
Erlend E. Aasland
642b25b9a8
gh-115119: Fall back to bundled libmpdec if system libmpdec is not found ( #119196 )
2024-05-20 10:58:08 -04:00
Thomas Wouters
7768ff1e41
Python 3.14.0a0
2024-05-08 16:57:05 +02:00
Erlend E. Aasland
325a1da18d
gh-115119: Default to --with-system-libmpdec=yes ( #118539 )
...
Co-authored-by: Zachary Ware <zachary.ware@gmail.com>
2024-05-06 21:16:08 +02:00
Davide Rizzo
08d169f14a
gh-109617: fix ncurses incompatibility on macOS with Xcode 15 ( #111258 )
...
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2024-05-04 23:41:47 +02:00
Guido van Rossum
a524152b8c
gh-118335: Make REGEN_JIT_COMMAND empty if tier2 interpreter enabled ( #118493 )
...
Also patch up news blurb for gh-118339
(add warning that PYTHON_UOPS is now PYTHON_JIT).
2024-05-01 16:36:29 -07:00
Malcolm Smith
75955110a6
gh-116622: Android sysconfig updates ( #118352 )
2024-05-01 16:47:54 +00:00
Guido van Rossum
7d83f7bcc4
gh-118335: Configure Tier 2 interpreter at build time ( #118339 )
...
The code for Tier 2 is now only compiled when configured
with `--enable-experimental-jit[=yes|interpreter]`.
We drop support for `PYTHON_UOPS` and -`Xuops`,
but you can disable the interpreter or JIT
at runtime by setting `PYTHON_JIT=0`.
You can also build it without enabling it by default
using `--enable-experimental-jit=yes-off`;
enable with `PYTHON_JIT=1`.
On Windows, the `build.bat` script supports
`--experimental-jit`, `--experimental-jit-off`,
`--experimental-interpreter`.
In the C code, `_Py_JIT` is defined as before
when the JIT is enabled; the new variable
`_Py_TIER2` is defined when the JIT *or* the
interpreter is enabled. It is actually a bitmask:
1: JIT; 2: default-off; 4: interpreter.
2024-04-30 18:26:34 -07:00
Malcolm Smith
3b268f4edc
gh-116622: Redirect stdout and stderr to system log when embedded in an Android app ( #118063 )
2024-04-30 16:00:31 +02:00
Erlend E. Aasland
c7e7bfc4ca
gh-115119: Detect _decimal dependencies using pkg-config ( #115406 )
...
pkg-config is supported for libmpdec 4.0.0 and newer.
2024-04-29 08:58:57 +02:00