summaryrefslogtreecommitdiffstats
path: root/Makefile.pre.in
Commit message (Collapse)AuthorAgeFilesLines
* gh-111968: Introduce _PyFreeListState and _PyFreeListState_GET API (gh-113584)Donghee Na2024-01-091-0/+3
|
* gh-113688: fix dtrace build on Solaris (#113814)Jakub Kulík2024-01-081-2/+2
| | | (the gcmodule -> gc refactoring broke it)
* gh-89532: Remove LibreSSL workarounds (#28728)Rami2024-01-061-1/+1
| | | | | | Remove LibreSSL specific workaround ifdefs from `_ssl.c` and delete the non-version-specific `_ssl_data.h` file (relevant for OpenSSL < 1.1.1, which we no longer support per PEP 644). Co-authored-by: Christian Heimes <christian@python.org> Co-authored-by: Gregory P. Smith <greg@krypto.org>
* gh-113688: Split up gcmodule.c (gh-113715)Sam Gross2024-01-051-0/+1
| | | | | This splits part of Modules/gcmodule.c of into Python/gc.c, which now contains the core garbage collection implementation. The Python module remain in the Modules/gcmodule.c file.
* gh-113370: Add missing obmalloc.o dependencies on mimalloc (#113371)Sam Gross2023-12-211-2/+5
|
* GH-111485: Delete the old generator code. (GH-113321)Mark Shannon2023-12-211-7/+1
|
* gh-112305: Fix check-clean-src to detect frozen_modules .h files. (#113344)Gregory P. Smith2023-12-211-2/+4
| | | | | | | | | | | A typo left this check broken so many of us who do out-of-tree builds were seeing strange failures due to bad `Python/frozen_modules/*.h` files being picked up from the source tree and used at build time from different Python versions leading to errors like: `Fatal Python error: _PyImport_InitCore: failed to initialize importlib` Or similar once our build got to an "invoke the interpreter" bootstrapping step due to incorrect bytecode being embedded.
* gh-113330: Fix mimalloc headers reference (#113331)Sam Gross2023-12-201-1/+1
| | | | | The `MIMALLOC_HEADERS` variable is defined in the Makefile.pre.in, not the configure script, so we should use the `$(MIMALLOC_HEADERS)` syntax instead of the `@MIMALLOC_HEADERS@` syntax.
* GH-111485: Generate `TARGET` table for computed goto dispatch. (GH-113319)Mark Shannon2023-12-201-1/+2
|
* GH-111485: Generate instruction and uop metadata (GH-113287)Mark Shannon2023-12-201-10/+15
|
* GH-110109: Move tests for pathlib ABCs to new module. (#112904)Barney Gale2023-12-161-0/+1
|
* GH-111485: Factor out tier 2 code generation from the rest of the ↵Mark Shannon2023-12-121-1/+2
| | | | interpreter code generator (GH-112968)
* GH-111485: Factor out generation of uop IDs from cases generator. (GH-112877)Mark Shannon2023-12-111-0/+3
|
* gh-110109: Fix installed buildbots now `pathlib` is a package (#112901)Alex Waygood2023-12-091-0/+1
|
* GH-111485: Factor out opcode ID generator from the main cases generator. ↵Mark Shannon2023-12-081-1/+2
| | | | (GH-112831)
* gh-112538: Add internal-only _PyThreadStateImpl "wrapper" for PyThreadState ↵Sam Gross2023-12-071-0/+1
| | | | | | | | (gh-112560) Every PyThreadState instance is now actually a _PyThreadStateImpl. It is safe to cast from `PyThreadState*` to `_PyThreadStateImpl*` and back. The _PyThreadStateImpl will contain fields that we do not want to expose in the public C API.
* gh-112302: Add Software Bill-of-Materials (SBOM) tracking for dependencies ↵Seth Michael Larson2023-12-071-1/+5
| | | | (#112303)
* GH-111485: Separate out parsing, analysis and code-gen phases of tier 1 code ↵Mark Shannon2023-12-071-1/+2
| | | | generator (GH-112299)
* gh-108927: Include new dir test/regrtestdata in the installation (GH-112765)Serhiy Storchaka2023-12-061-0/+3
| | | Co-authored-by: Victor Stinner <vstinner@python.org>
* GH-103065, GH-106704, GH-105253: Provide a `Tools/wasm/wasi.py` script to ↵Brett Cannon2023-11-301-0/+1
| | | | simplify doing a WASI build (GH-112473)
* gh-106529: Cleanups split off gh-112134 (#112214)Guido van Rossum2023-11-171-0/+1
| | | | | | | - Double max trace size to 256 - Add a dependency on executor_cases.c.h for ceval.o - Mark `_SPECIALIZE_UNPACK_SEQUENCE` as `TIER_ONE_ONLY` - Add debug output back showing the optimized trace - Bunch of cleanups to Tools/cases_generator/
* gh-112088: Run autoreconf in GHA check_generated_files (#112090)Victor Stinner2023-11-151-7/+1
| | | | | | | | | | | The "Check if generated files are up to date" job of GitHub Actions now runs the "autoreconf -ivf -Werror" command instead of the "make regen-configure" command to avoid depending on the external quay.io server. Add Tools/build/regen-configure.sh script to regenerate the configure with an Ubuntu container image. The "quay.io/tiran/cpython_autoconf:271" container image (https://github.com/tiran/cpython_autoconf) is no longer used.
* gh-96954: Don't run regen-unicodedata in regen-all (#112120)Victor Stinner2023-11-151-3/+3
| | | | | | The "make regen-unicodedata" should now be run manually. By the default, it requires an Internet connection, which is not always the case. Some Linux distributions build Linux packages in isolated environment (without network).
* gh-96954: Fix `make regen-unicodedata` in out-of-tree builds (#112118)Miro Hrončok2023-11-151-1/+1
| | | | | | | | | This avoids: python3.13 Tools/unicode/makeunicodedata.py python3.13: can't open file '.../build/debug/Tools/unicode/makeunicodedata.py': [Errno 2] No such file or directory make: *** [Makefile:1498: regen-unicodedata] Error 2 Re-run `make regen-unicodedata` to update the script path in generated files.
* gh-111545: Add Include/cpython/pyhash.h header file (#112063)Victor Stinner2023-11-151-0/+1
| | | Move non-limited C API to a new Include/cpython/pyhash.h header file.
* gh-108303: Install `Lib/test/configdata` (#111899)Nikita Sobolev2023-11-101-0/+1
|
* gh-111569: Implement Python critical section API (gh-111571)Sam Gross2023-11-081-0/+2
| | | | | | | | Critical sections are helpers to replace the global interpreter lock with finer grained locking. They provide similar guarantees to the GIL and avoid the deadlock risk that plain locking involves. Critical sections are implicitly ended whenever the GIL would be released. They are resumed when the GIL would be acquired. Nested critical sections behave as if the sections were interleaved.
* gh-96954: use a directed acyclic word graph for storing the unicodedata ↵CF Bolz-Tereick2023-11-041-1/+9
| | | | | | | codepoint names (#97906) Co-authored-by: Łukasz Langa <lukasz@langa.pl> Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com> Co-authored-by: Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com>
* gh-108303: Move `zip` and `tar` archives to `Lib/test/archivetestdata` (#111549)Nikita Sobolev2023-11-041-2/+2
|
* gh-111520: Integrate the Tier 2 interpreter in the Tier 1 interpreter (#111428)Guido van Rossum2023-11-011-7/+0
| | | | | | | | | | | - There is no longer a separate Python/executor.c file. - Conventions in Python/bytecodes.c are slightly different -- don't use `goto error`, you must use `GOTO_ERROR(error)` (same for others like `unused_local_error`). - The `TIER_ONE` and `TIER_TWO` symbols are only valid in the generated (.c.h) files. - In Lib/test/support/__init__.py, `Py_C_RECURSION_LIMIT` is imported from `_testcapi`. - On Windows, in debug mode, stack allocation grows from 8MiB to 12MiB. - **Beware!** This changes the env vars to enable uops and their debugging to `PYTHON_UOPS` and `PYTHON_LLTRACE`.
* gh-76785: Move the Cross-Interpreter Code to Its Own File (gh-111502)Eric Snow2023-10-301-0/+2
| | | This is partly to clear this stuff out of pystate.c, but also in preparation for moving some code out of _xxsubinterpretersmodule.c. This change also moves this stuff to the internal API (new: Include/internal/pycore_crossinterp.h). @vstinner did this previously and I undid it. Now I'm re-doing it. :/
* gh-90815: Add mimalloc memory allocator (#109914)Dino Viehland2023-10-301-1/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add mimalloc v2.12 Modified src/alloc.c to remove include of alloc-override.c and not compile new handler. Did not include the following files: - include/mimalloc-new-delete.h - include/mimalloc-override.h - src/alloc-override-osx.c - src/alloc-override.c - src/static.c - src/region.c mimalloc is thread safe and shares a single heap across all runtimes, therefore finalization and getting global allocated blocks across all runtimes is different. * mimalloc: minimal changes for use in Python: - remove debug spam for freeing large allocations - use same bytes (0xDD) for freed allocations in CPython and mimalloc This is important for the test_capi debug memory tests * Don't export mimalloc symbol in libpython. * Enable mimalloc as Python allocator option. * Add mimalloc MIT license. * Log mimalloc in Lib/test/pythoninfo.py. * Document new mimalloc support. * Use macro defs for exports as done in: https://github.com/python/cpython/pull/31164/ Co-authored-by: Sam Gross <colesbury@gmail.com> Co-authored-by: Christian Heimes <christian@python.org> Co-authored-by: Victor Stinner <vstinner@python.org>
* gh-109693: Remove pycore_atomic.h (gh-110992)Donghee Na2023-10-171-1/+0
|
* gh-110964: Remove private _PyArg functions (#110966)Victor Stinner2023-10-171-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the following private functions and structures to pycore_modsupport.h internal C API: * _PyArg_BadArgument() * _PyArg_CheckPositional() * _PyArg_NoKeywords() * _PyArg_NoPositional() * _PyArg_ParseStack() * _PyArg_ParseStackAndKeywords() * _PyArg_Parser structure * _PyArg_UnpackKeywords() * _PyArg_UnpackKeywordsWithVararg() * _PyArg_UnpackStack() * _Py_ANY_VARARGS() Changes: * Python/getargs.h now includes pycore_modsupport.h to export functions. * clinic.py now adds pycore_modsupport.h when one of these functions is used. * Add pycore_modsupport.h includes when a C extension uses one of these functions. * Define Py_BUILD_CORE_MODULE in C extensions which now include directly or indirectly (via code generated by Argument Clinic) pycore_modsupport.h: * _csv * _curses_panel * _dbm * _gdbm * _multiprocessing.posixshmem * _sqlite.row * _statistics * grp * resource * syslog * _testcapi: bad_get() no longer uses METH_FASTCALL calling convention but METH_VARARGS. Replace _PyArg_UnpackStack() with PyArg_ParseTuple(). * _testcapi: add PYTESTCAPI_NEED_INTERNAL_API macro which is defined by _testcapi sub-modules which need the internal C API (pycore_modsupport.h): exceptions.c, float.c, vectorcall.c, watchers.c. * Remove Include/cpython/modsupport.h header file. Include/modsupport.h no longer includes the removed header file. * Fix mypy clinic.py
* GH-103480: fix sysconfig package not being installed (#110792)Filipe Laíns2023-10-131-0/+1
|
* gh-110313: Revert "gh-90108: Disable LTO on _freeze_module and _teste… ↵Victor Stinner2023-10-111-2/+2
| | | | | | | (#110720) gh-110313: Revert "gh-90108: Disable LTO on _freeze_module and _testembed (#109581)" This reverts commit 3e3a7da590e1c3e5f03802e538f26c5204889c82.
* gh-104169: Refactor tokenizer into lexer and wrappers (#110684)Lysandros Nikolaou2023-10-111-2/+20
| | | | | | | | | | | * The lexer, which include the actual lexeme producing logic, goes into the `lexer` directory. * The wrappers, one wrapper per input mode (file, string, utf-8, and readline), go into the `tokenizer` directory and include logic for creating a lexer instance and managing the buffer for different modes. --------- Co-authored-by: Pablo Galindo <pablogsal@gmail.com> Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
* gh-108303: Move all inspect test files to `test_inspect/` (#109607)Nikita Sobolev2023-10-101-0/+1
|
* gh-76785: Add SendChannel.send_buffer() (#110246)Eric Snow2023-10-091-0/+1
| | | (This is still a test module.)
* gh-103053: Fix make check-clean-src: check "python" program (#110449)Victor Stinner2023-10-061-1/+2
| | | | "make check-clean-src" now also checks if the "python" program is found in the source directory: fail with an error if it does exist.
* gh-110429: Fix race condition in "make regen-all" (#110433)Victor Stinner2023-10-051-2/+2
| | | | | | "make regen-pegen" now creates a temporary file called "parser.c.new" instead of "parser.new.c". Previously, if "make clinic" was run in parallel with "make regen-all", clinic may try but fail to open "parser.new.c" if the temporay file was removed in the meanwhile.
* gh-110276: No longer ignore PROFILE_TASK failure silently (#110295)Victor Stinner2023-10-031-2/+2
|
* gh-110152: regrtest handles cross compilation and HOSTRUNNER (#110156)Victor Stinner2023-09-301-6/+1
| | | | | | | | * _add_python_opts() now handles cross compilation and HOSTRUNNER. * display_header() now tells if Python is cross-compiled, display HOSTRUNNER, and get the host platform. * Remove Tools/scripts/run_tests.py script. * Remove "make hostrunnertest": use "make buildbottest" or "make test" instead.
* gh-109566: Remove make testall (#110122)Victor Stinner2023-09-291-18/+4
| | | Remove "make testall" target: use "make buildbottest" instead.
* gh-108716: make regen-global-objects no longer builds deepfreeze.c (#110078)Victor Stinner2023-09-291-8/+2
| | | Remove more references to now unused Python/deepfreeze/deepfreeze.c.
* gh-109972: Split test_gdb.py into test_gdb package (#109977)Victor Stinner2023-09-281-0/+1
| | | | | | | | | | | | | | Split test_gdb.py file into a test_gdb package made of multiple tests, so tests can now be run in parallel. * Create Lib/test/test_gdb/ directory. * Split test_gdb.py into multiple files in Lib/test/test_gdb/ directory. * Move Lib/test/gdb_sample.py to Lib/test/test_gdb/ directory. Update get_sample_script(): use __file__ to locate gdb_sample.py. * Move gdb_has_frame_select() and HAS_PYUP_PYDOWN to test_misc.py. * Explicitly skip test_gdb on Windows. Previously, test_gdb was skipped even if gdb was available because of gdb_has_frame_select().
* gh-109566, regrtest: Add --fast-ci and --slow-ci options (#109570)Victor Stinner2023-09-261-22/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add --fast-ci and --slow-ci options to libregrtest: * --fast-ci uses a default timeout of 10 minutes and "-u all,-cpu" (skip slowest tests). * --slow-ci uses a default timeout of 20 minues and "-u all" (run all tests). * regrtest header now lists test resources. * Makefile changes: * "make test", "make hostrunnertest" and "make coverage-report" now use --fast-ci option and TESTTIMEOUT variable. * "make buildbottest" now uses "--slow-ci". Remove options which became redundant with "--slow-ci". * "make testall" and "make testuniversal" now use --slow-ci option and TESTTIMEOUT variable. * "make testall" now uses "find -exec rm ..." instead of "find ... -print|xargs rm ...", same as "make clean". * GitHub Actions workflow: * Ubuntu and Address Sanitizer jobs now use "make test". Remove options which became redundant with "--fast-ci". * Windows jobs now use --fast-ci option. * Use -j0 to detect the number of CPUs. * Set Makefile TESTTIMEOUT default to an empty string, since --slow-ci and --fast-ci use different default timeout. It's now accepted to pass "--timeout=" to regrtest: treated as not timeout. * Tools/scripts/run_tests.py now uses --fast-ci option. * Tools/buildbot/test.bat now uses --slow-ci option. Remove --timeout=1200 option, redundant with --slow-ci.
* gh-109693: Remove pycore_atomic_funcs.h (#109694)Sam Gross2023-09-211-1/+0
| | | _PyUnicode_FromId() now uses pyatomic.h functions instead.
* gh-108303: Move all math files to `Lib/test/mathdata/` (#109512)Nikita Sobolev2023-09-211-0/+1
|
* gh-90108: Disable LTO on _freeze_module and _testembed (#109581)Victor Stinner2023-09-201-2/+2
| | | | | | LTO optimization is nice to make Python faster, but _freeze_module and _testembed performance is not important. Using LTO to build these two programs make a whole Python build way slower, especially combined with a sanitizer (like ASAN).