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
T. Wouters
891fd12e52
Regenerate configure for 3.14, which the release script forgot. ( #118765 )
2024-05-08 17:29:50 +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
Erlend E. Aasland
9c1dfe21fd
gh-116303: Don't build xxlimited and xxlimited_35 if --disable-test-modules is given ( #117554 )
2024-04-05 10:29:15 +02:00
Russell Keith-Magee
f006338017
gh-114099: Additions to standard library to support iOS (GH-117052)
...
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Malcolm Smith <smith@chaquo.com>
Co-authored-by: Ned Deily <nad@python.org>
2024-03-28 03:59:33 -04:00
Malcolm Smith
3ec57307e7
gh-71052: Add Android build script and instructions ( #116426 )
2024-03-22 00:52:29 +01:00
Russell Keith-Magee
408e127159
gh-114099 - Add iOS framework loading machinery. (GH-116454)
...
Co-authored-by: Malcolm Smith <smith@chaquo.com>
Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2024-03-19 08:36:19 -04:00
Guido van Rossum
9c7b3688e6
gh-108716: Cleanup remaining deepfreeze infrastructure ( #116919 )
...
Keep Tools/build/deepfreeze.py around (we may repurpose it for deepfreezing non-code objects),
and keep basic "clean" targets that remove the output of former deep-freeze activities,
to keep the build directories of current devs clean.
2024-03-18 11:13:11 -07:00
Brett Cannon
8c094c3095
GH-115983: skip building shared modules for testing under WASI (GH-116528)
2024-03-13 23:25:50 +00:00
Malcolm Smith
872c0714fc
gh-71052: Change Android's `sys.platform` from "linux" to "android"
...
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2024-03-11 19:25:39 +00:00
Erlend E. Aasland
d864b0094f
gh-116303: Explicitly check for the _testsinglephase module in configure.ac ( #116479 )
2024-03-07 23:42:43 +00:00