summaryrefslogtreecommitdiffstats
path: root/Makefile.pre.in
Commit message (Collapse)AuthorAgeFilesLines
* [3.11] gh-95174: Add pthread stubs for WASI (GH-95234) (#95503)Christian Heimes2022-08-011-0/+1
| | | | | | Co-authored-by: Brett Cannon <brett@python.org>. (cherry picked from commit 0fe645d6fd22a6f57e777a29e65cf9a4ff9785ae) Co-authored-by: Christian Heimes <christian@python.org>
* gh-89758: Track all socket module dependencies (GH-95157)Miss Islington (bot)2022-07-231-1/+1
| | | | | (cherry picked from commit 41a5b84eaf7c52d1d4aa0a8d3d135a09f5f7190e) Co-authored-by: Christian Heimes <christian@python.org>
* gh-94759: Create LCOV report with branch coverage (GH-94793)Miss Islington (bot)2022-07-131-7/+8
| | | | | (cherry picked from commit f5c02afaff43f4ed7f4ac74d7c90171e56c2b2d7) Co-authored-by: Christian Heimes <christian@python.org>
* [3.11] gh-94404: Use module CFLAGS before PY_STDMODULE_CFLAGS (GH-94413) ↵Christian Heimes2022-06-291-2/+2
| | | | | | | (GH-94415) ``PY_STDMODULE_CFLAGS`` may contain include directories with system headers. This can break compiling with built-in libmpdec. Co-authored-by: Christian Heimes <christian@python.org>
* [3.11] gh-90005: Rename MODULE_EGG variable to MODULE_EGG_STATE (GH-94301) ↵Christian Heimes2022-06-271-1/+1
| | | | | (GH-94317) Co-authored-by: Christian Heimes <christian@python.org>
* gh-93937, C API: Move PyFrame_GetBack() to Python.h (#93938) (#94000)Victor Stinner2022-06-201-0/+1
| | | | | | | | | | | | | | | | | | Move the follow functions and type from frameobject.h to pyframe.h, so the standard <Python.h> provide frame getter functions: * PyFrame_Check() * PyFrame_GetBack() * PyFrame_GetBuiltins() * PyFrame_GetGenerator() * PyFrame_GetGlobals() * PyFrame_GetLasti() * PyFrame_GetLocals() * PyFrame_Type Remove #include "frameobject.h" from many C files. It's no longer needed. (cherry picked from commit 27b989403356ccdd47545a93aeab8434e9c69f21)
* gh-84461: Fix pydebug Emscripten browser builds (GH-93982)Miss Islington (bot)2022-06-181-4/+4
| | | | | | | wasm_assets script did not take the ABIFLAG flag of sysconfigdata into account. (cherry picked from commit 7a2cc35e1ca6808a735b90269756d5286077a152) Co-authored-by: Christian Heimes <christian@python.org>
* gh-84461: Fix circulare dependency on BUILDPYTHON (GH-93977)Miss Islington (bot)2022-06-181-4/+7
| | | | | (cherry picked from commit 084023ccbeb3bf54a2e19873c6a4b0bec7b617f6) Co-authored-by: Christian Heimes <christian@python.org>
* [3.11] gh-93584: Make all install+tests targets depends on all (GH-93589) ↵Christian Heimes2022-06-081-12/+16
| | | | | | | | | | | | | (GH-93603) All install targets use the "all" target as synchronization point to prevent race conditions with PGO builds. PGO builds use recursive make, which can lead to two parallel `./python setup.py build` processes that step on each others toes. "test" targets now correctly compile PGO build in a clean repo. (cherry picked from commit 243ed5439c32e8517aa745bc2ca9774d99c99d0f) Co-authored-by: Christian Heimes <christian@python.org>
* [3.11] Add CI step to check changes in the exported ABI (#92442)Pablo Galindo Salgado2022-05-081-0/+8
|
* gh-91324: Convert the stable ABI manifest to TOML (GH-92026)Petr Viktorin2022-04-291-2/+2
|
* gh-84461: Add HOSTRUNNER for program to run Python executable (GH-91931)Ethan Smith2022-04-281-9/+11
| | | | | | | `HOSTRUNNER` is a program which can be used to run `BUILDPYTHON` for the host platform (for example, `python.js` requires `node`). Also change depedencies from `build_all` to `all` so that targets which can't build everything (e.g. WASM) can still run `buildbottest` and `pythoninfo`. cc @tiran
* gh-91719: Add pycore_opcode.h internal header file (#91906)Victor Stinner2022-04-251-1/+3
| | | | | | | | | | | Move the following API from Include/opcode.h (public C API) to a new Include/internal/pycore_opcode.h header file (internal C API): * EXTRA_CASES * _PyOpcode_Caches * _PyOpcode_Deopt * _PyOpcode_Jump * _PyOpcode_OpName * _PyOpcode_RelativeJump
* gh-64783: Fix signal.NSIG value on FreeBSD (#91929)Victor Stinner2022-04-251-0/+1
| | | | | | | | | Fix signal.NSIG value on FreeBSD to accept signal numbers greater than 32, like signal.SIGRTMIN and signal.SIGRTMAX. * Add Py_NSIG constant. * Add pycore_signal.h internal header file. * _Py_Sigset_Converter() now includes the range of valid signals in the error message.
* gh-91575: Add a script for generating data for case-insensitive matching in ↵Serhiy Storchaka2022-04-221-0/+6
| | | | | re (GH-91660) Also test that all extra cases are in BMP.
* gh-79315: Add Include/cpython/pythread.h header (#91798)Victor Stinner2022-04-211-0/+1
|
* gh-79315: Add Include/cpython/modsupport.h header (#91797)Victor Stinner2022-04-211-0/+1
|
* gh-91404: Use computed gotos and reduce indirection in re (#91495)Brandt Bucher2022-04-151-3/+4
|
* gh-84461: Drop -sWASM, fix building tests for browser (GH-91530)Christian Heimes2022-04-141-2/+2
| | | | | | | - drop unnecessary ``=1`` suffix from Emscripten flags - drop unnecessary ``-sWASM`` flag for side modules - rename ``build_platform`` to ``build_wasm``. I introduced the target for WASM builds a couple of months ago. - fix ``--enable-test-modules`` for browser builds
* bpo-47152: Automatically regenerate sre_constants.h (GH-91439)Serhiy Storchaka2022-04-121-1/+8
| | | | | | | * Move the code for generating Modules/_sre/sre_constants.h from Lib/re/_constants.py into a separate script Tools/scripts/generate_sre_constants.py. * Add target `regen-sre` in the makefile. * Make target `regen-all` depending on `regen-sre`.
* bpo-40280: WASM docs and smaller browser builds (GH-32412)Christian Heimes2022-04-101-2/+3
| | | Co-authored-by: Brett Cannon <brett@python.org>
* bpo-35134: Remove the Include/code.h header file (GH-32385)Victor Stinner2022-04-071-1/+0
| | | | | | Remove the Include/code.h header file. C extensions should only include the main <Python.h> header file. Python.h includes directly Include/cpython/code.h instead.
* bpo-35134: Add Include/cpython/setobject.h header (GH-32384)Victor Stinner2022-04-061-0/+1
|
* bpo-35134: Add Include/cpython/complexobject.h header (GH-32383)Victor Stinner2022-04-061-0/+1
| | | | Move the private _PyComplex_FormatAdvancedWriter() function to the internal C API. This function is no longer exported.
* bpo-40280: Add limited Emscripten REPL (GH-32284)Christian Heimes2022-04-051-2/+9
| | | Co-authored-by: Katie Bell <katie@katharos.id.au>
* bpo-46890: Fix setting of sys._base_executable with framework builds on ↵Ronald Oussoren2022-04-051-0/+1
| | | | | | | | | macOS (GH-31958) The side effect of this bug was that venv environments directly used the main interpreter instead of the intermediate stub executable, which can cause problems when a script uses system APIs that require the use of an application bundle.
* bpo-47152: Move sources of the _sre module into a subdirectory (GH-32290)Serhiy Storchaka2022-04-041-1/+1
|
* bpo-47176: Interrupt handling for wasm32-emscripten builds without pthreads ↵Hood Chatham2022-04-031-1/+3
| | | | | | (GH-32209) Co-authored-by: Christian Heimes <christian@python.org> Co-authored-by: Brett Cannon <brett@python.org>
* bpo-47152: Convert the re module into a package (GH-32177)Serhiy Storchaka2022-04-021-0/+1
| | | The sre_* modules are now deprecated.
* bpo-47146: Stop Depending On regen-deepfreeze For regen-global-objects ↵Eric Snow2022-03-311-18/+6
| | | | | | | | | (gh-32218) This effectively reverts the Makefile change in gh-31637. I've added some notes so it is more clear what is going on. We also update the "Check if generated files are up to date" job to run "make regen-deepfreeze" to ensure "make regen-global-objects" catches deepfreeze.c. https://bugs.python.org/issue47146
* bpo-45847: Port _tkinter to PY_STDLIB_MOD (GH-31698)Erlend Egeberg Aasland2022-03-311-6/+0
| | | | | - Remove ``--with-tclk-*`` options from `configure` - Use pkg-config to detect `_tkinter` dependencies (Tcl/Tk, X11) - Manual override via environment variables `TCLTK_CFLAGS` and `TCLTK_LIBS`
* bpo-47146: Avoid Using make Recursively (gh-32206)Eric Snow2022-03-311-9/+18
| | | https://bugs.python.org/issue47146
* bpo-47146: Eliminate a race between make regen-deepfreeze and make ↵Eric Snow2022-03-281-7/+8
| | | | | | | regen-global-objects. (gh-32162) The race likely originated with gh-32061. https://bugs.python.org/issue47146
* bpo-47098: Replace Keccak Code Package with tiny_sha3 (GH-32060)Christian Heimes2022-03-261-2/+1
|
* bpo-47095: Use libb2 to provide blake2 implementation (GH-32059)Christian Heimes2022-03-261-1/+1
|
* bpo-46712: Do not Regen Deep-Frozen Modules before Generating Global Objects ↵Eric Snow2022-03-231-1/+6
| | | | | | | | | (gh-32061) We have to run "make regen-deepfreeze" before running Tools/scripts/generate-global-objects.py; otherwise we will miss any changes to global objects in deep-frozen modules (which aren't committed in the repo). However, building $(PYTHON_FOR_FREEZE) fails if one of its source files had a global object (e.g. via _Py_ID(...)) added or removed, without generate-global-objects.py running first. So "make regen-global-objects" would sometimes fail. We solve this by running generate-global-objects.py before *and* after "make regen-deepfreeze". To speed things up and cut down on noise, we also avoid updating the global objects files if there are no changes to them. https://bugs.python.org/issue46712
* bpo-40280: Skip socket, fork, subprocess tests on Emscripten (GH-31986)Christian Heimes2022-03-221-1/+1
| | | | | | | | | | | - Add requires_fork and requires_subprocess to more tests - Skip extension import tests if dlopen is not available - Don't assume that _testcapi is a shared extension - Skip a lot of socket tests that don't work on Emscripten - Skip mmap tests, mmap emulation is incomplete - venv does not work yet - Cannot get libc from executable The "entire" test suite is now passing on Emscripten with EMSDK from git head (91 suites are skipped).
* bpo-46973: Add regen-configure make target (GH-31792)Christian Heimes2022-03-101-5/+11
|
* bpo-40059: Fix installation of tomllib (GH-31784)Dominic Davis-Foster2022-03-091-0/+1
|
* bpo-46933: Fix make distclean regression (GH-31737)Erlend Egeberg Aasland2022-03-071-1/+1
|
* bpo-46933: Make pwd module optional (GH-31700)Christian Heimes2022-03-071-5/+9
| | | Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
* bpo-46712: Let generate_global_objects.py Run on Earlier Python Versions ↵Eric Snow2022-03-011-1/+1
| | | | | (gh-31637) https://bugs.python.org/issue46712
* bpo-45459: Add pytypedefs.h header file (GH-31527)Victor Stinner2022-02-241-0/+1
| | | | | | | | | | | | | | | | | | Move forward declarations of Python C API types to a new pytypedefs.h header file to solve interdependency issues between header files. pytypedefs.h contains forward declarations of the following types: * PyCodeObject * PyFrameObject * PyGetSetDef * PyInterpreterState * PyLongObject * PyMemberDef * PyMethodDef * PyModuleDef * PyObject * PyThreadState * PyTypeObject
* bpo-45459: Rename buffer.h to pybuffer.h (#31201)Victor Stinner2022-02-221-1/+1
| | | | | | | | | Rename Include/buffer.h header file to Include/pybuffer.h to avoid conflicts with projects having an existing "buffer.h" header file. * Incude pybuffer.h before object.h in Python.h. * Remove #include "buffer.h" from Include/cpython/object.h. * Add a forward declaration of the PyObject type in pybuffer.h to fix an inter-dependency issue.
* bpo-46541: Drop the check for orphaned global strings. (gh-31363)Eric Snow2022-02-161-3/+0
| | | https://bugs.python.org/issue46541
* Regen the global objects using PYTHON_FOR_REGEN. (gh-31344)Eric Snow2022-02-141-2/+2
| | | https://bugs.python.org/issue46541
* bpo-46541: Replace core use of _Py_IDENTIFIER() with statically initialized ↵Eric Snow2022-02-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | global objects. (gh-30928) We're no longer using _Py_IDENTIFIER() (or _Py_static_string()) in any core CPython code. It is still used in a number of non-builtin stdlib modules. The replacement is: PyUnicodeObject (not pointer) fields under _PyRuntimeState, statically initialized as part of _PyRuntime. A new _Py_GET_GLOBAL_IDENTIFIER() macro facilitates lookup of the fields (along with _Py_GET_GLOBAL_STRING() for non-identifier strings). https://bugs.python.org/issue46541#msg411799 explains the rationale for this change. The core of the change is in: * (new) Include/internal/pycore_global_strings.h - the declarations for the global strings, along with the macros * Include/internal/pycore_runtime_init.h - added the static initializers for the global strings * Include/internal/pycore_global_objects.h - where the struct in pycore_global_strings.h is hooked into _PyRuntimeState * Tools/scripts/generate_global_objects.py - added generation of the global string declarations and static initializers I've also added a --check flag to generate_global_objects.py (along with make check-global-objects) to check for unused global strings. That check is added to the PR CI config. The remainder of this change updates the core code to use _Py_GET_GLOBAL_IDENTIFIER() instead of _Py_IDENTIFIER() and the related _Py*Id functions (likewise for _Py_GET_GLOBAL_STRING() instead of _Py_static_string()). This includes adding a few functions where there wasn't already an alternative to _Py*Id(), replacing the _Py_Identifier * parameter with PyObject *. The following are not changed (yet): * stop using _Py_IDENTIFIER() in the stdlib modules * (maybe) get rid of _Py_IDENTIFIER(), etc. entirely -- this may not be doable as at least one package on PyPI using this (private) API * (maybe) intern the strings during runtime init https://bugs.python.org/issue46541
* bpo-45459: Add Py_buffer to limited API (GH-29991)Christian Heimes2022-02-021-0/+1
| | | | | | | | | | | - [x] ``Py_buffer`` struct - [x] ``PyBuffer_*()`` API functions - [x] ``PyBUF_*`` constants - [x] ``Py_bf_getbuffer`` and ``Py_bf_releasebuffer`` type slots - [x] ``PyMemoryView_FromBuffer()`` API - [x] tests for limited API - [x] ``make regen-limited-abi`` - [x] documentation update - [ ] export ``PyPickleBuffer*()`` API ???
* bpo-46541: Generate the global objects initializer. (gh-30941)Eric Snow2022-01-271-1/+9
| | | | | | | This change is a prerequisite for generating code for other global objects (like strings in gh-30928). (We borrowed some code from Tools/scripts/deepfreeze.py.) https://bugs.python.org/issue46541
* make regen-all now suggests running: make autoconf (GH-30893)Victor Stinner2022-01-261-1/+1
| | | "make autoconf" also runs autoheader, whereas "autoconf" does not.