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
Eric Snow
03e3e31723
gh-76785: Rename _xxsubinterpreters to _interpreters (gh-117791)
...
See https://discuss.python.org/t/pep-734-multiple-interpreters-in-the-stdlib/41147/26 .
2024-04-24 16:18:24 +00:00
Yichen Yan
e17cd1fbfd
gh-116984: Install mimalloc headers ( #116985 )
...
- Install mimalloc header only when enabled
- Rename WITH_MIMALLOC to INSTALL_MIMALLOC
2024-04-23 09:56:00 +02:00
Joshua Root
8515fd79fe
gh-117845: Detect libedit hook function signature in configure ( #117870 )
...
Older libedit versions (like Apple's) use a different type signature
for rl_startup_hook and rl_pre_input_hook. Add a configure check to
determine which signature is accepted by introducing the
Py_RL_STARTUP_HOOK_TAKES_ARGS macro in pyconfig.h.
2024-04-17 11:26:10 +02:00
Victor Stinner
919784737c
gh-117645: Increase WASI stack size from 512 KiB to 8 MiB ( #117674 )
...
Increase also the initial memory from 10 MiB to 20 MiB.
Reenable test_dynamic on WASI build.
2024-04-16 23:26:54 +02:00
Erlend E. Aasland
0dcfd0d522
Autoconf: aarch64-apple-darwin/clang is now a tier 1 platform ( #117861 )
...
See also python/pep#3705
2024-04-14 09:21:29 +02:00
Erlend E. Aasland
3095d02642
gh-96398: Fix mpicc check in configure.ac ( #117857 )
2024-04-13 21:22:06 +00:00
Erlend E. Aasland
c2a551a30b
gh-96398: Detect GCC compatible compilers in configure ( #117825 )
...
Introduce a cached variable $ac_cv_gcc_compat and set it to 'yes' if
the C preprocessor defines the __GNUC__ macro.
2024-04-13 09:05:07 +02:00
Erlend E. Aasland
4ce10da36f
gh-96398: Detect emcc and mpicc in compiler names in configure ( #117819 )
...
- emcc defines __EMSCRIPTEN__
- mpicc doesn't define anything in particular; detect it using basename
2024-04-12 16:33:29 +02:00
Erlend E. Aasland
1ddbeae040
gh-117752: Autoconf: fix PGO builds for 'make -C build' incantations ( #117803 )
2024-04-12 09:36:40 +00:00
Erlend E. Aasland
49fc1414b5
gh-117752: Autoconf: fix -fno-semantic-interposition check ( #117789 )
...
Force the compiler to issue an error if the flag is not supported.
2024-04-12 09:37:38 +02:00
Erlend E. Aasland
396b831850
gh-117752: Autoconf: store all LLVM profile data in the build directory ( #117790 )
...
This prevents spurious 'env changed' and llvm-profdata merge errors.
2024-04-12 07:23:39 +02:00
Eli Schwartz
fd2bab9d28
gh-117787: Autoconf: fix bashisms/semantic breakage of iOS checks ( #117788 )
2024-04-12 01:03:54 +02:00