summaryrefslogtreecommitdiffstats
path: root/PCbuild
Commit message (Collapse)AuthorAgeFilesLines
* bpo-41428: Implementation for PEP 604 (GH-21515)Maggie Moss2020-09-092-0/+8
| | | | | See https://www.python.org/dev/peps/pep-0604/ for more information. Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
* MSVC: The ARM command line should not define MASM. (#21817)Stefan Krah2020-08-101-3/+3
|
* bpo-41323: Perform 'peephole' optimizations directly on the CFG. (GH-21517)Mark Shannon2020-07-302-5/+1
| | | * Move 'peephole' optimizations into compile.c and perform them directly on the CFG.
* bpo-40741: Update Windows build to include SQLite 3.32.3 (GH-21570)Steve Dower2020-07-203-3/+3
|
* bpo-29778: Ensure python3.dll is loaded from correct locations when Python ↵Steve Dower2020-07-062-1/+4
| | | | | | is embedded (GH-21297) Also enables using debug build of `python3_d.dll` Reference: CVE-2020-15523
* bpo-41070: Simplify pyshellext.dll build (GH-21037)Nikita Nemkin2020-06-232-11/+1
| | | | | Replace MIDL-generated file with manual GUID definition. Use the same .def file for release and debug builds. Update setup build to support latest toolset
* bpo-41039: Simplify python3.dll build (GH-20989)Nikita Nemkin2020-06-232-80/+2
| | | | | | | | | Use linker comment #pragma and preprocessor for re-exporting stable API functions and variables. Module definition file, custom build targets and entry point code become unnecessary and can be removed. This change also fixes missing _PyErr_BadInternalCall export on x86.
* bpo-41054: Simplify resource compilation on Windows (GH-21004)Nikita Nemkin2020-06-231-16/+1
| | | | | | | Remove auto-generated resource header. Pass definitions required by resource files (ORIGINAL_FILENAME and FIELD3) directly to resource compiler. Remove unused MS_DLL_ID resource string and related dead code.
* bpo-41089: Filters and other issues in Visual Studio projects (GH-21070)Nikita Nemkin2020-06-2344-317/+1116
| | | | | | | | | * Add missing header files to pythoncore. * Add missing file filters ("Resource Files" in particular) to all projects. * Add new sub-filters for private headers in pythoncore and for 3rd party source files. * Add missing _zoneinfo configurations in pcbuild.sln. * Update bdist_wininst with the new zlib location.
* bpo-41078: Add pycore_list.h internal header file (GH-21057)Victor Stinner2020-06-222-1/+5
| | | | | * Move _PyList_ITEMS() to pycore_list.h. * The C extension "_heapq" is now built with Py_BUILD_CORE_MODULE macro defined to access the internal C API.
* bpo-41078: Rename pycore_tupleobject.h to pycore_tuple.h (GH-21056)Victor Stinner2020-06-222-2/+2
|
* bpo-40939: Rename PyPegen* functions to PyParser* (GH-21016)Lysandros Nikolaou2020-06-211-1/+1
| | | | | | Rename PyPegen* functions to PyParser*, so that we can remove the old set of PyParser* functions that were using the old parser.
* bpo-40939: Remove the old parser (Part 2) (GH-21005)Lysandros Nikolaou2020-06-203-34/+0
| | | Remove some remaining files and Makefile targets for the old parser
* bpo-40164: Update Windows OpenSSL to 1.1.1g (GH-20834)Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి)2020-06-122-4/+4
|
* bpo-40939: Remove the old parser (GH-20768)Pablo Galindo2020-06-113-50/+9
| | | This commit removes the old parser, the deprecated parser module, the old parser compatibility flags and environment variables and all associated support code and documentation.
* bpo-40939: Generate keyword.py using the new parser (GH-20800)Lysandros Nikolaou2020-06-111-2/+3
|
* Remove deleted libmpdec header from the Visual Studio build machinery. ↵Stefan Krah2020-06-082-5/+1
| | | | (GH-20730)
* bpo-40861: Enable optimizations when building liblzma (GH-20724)Steve Dower2020-06-081-5/+2
|
* bpo-29882: Add _Py_popcount32() function (GH-20518)Victor Stinner2020-06-082-2/+2
| | | | | | * Rename pycore_byteswap.h to pycore_bitutils.h. * Move popcount_digit() to pycore_bitutils.h as _Py_popcount32(). * _Py_popcount32() uses GCC and clang builtin function if available. * Add unit tests to _Py_popcount32().
* bpo-17005: Move topological sort functionality to its own module (GH-20558)Pablo Galindo2020-05-311-0/+1
| | | | | | The topological sort functionality that was introduced initially in the functools module has been moved to a new graphlib module to better accommodate the new tools and keep the original scope of the functools module.
* Python 3.10.0a0 (GH-20198)Pablo Galindo2020-05-191-1/+1
|
* bpo-40528: Improve AST generation script to do builds simultaneously (GH-19968)Batuhan Taskaya2020-05-181-9/+4
| | | | | | - Switch from getopt to argparse. - Removed the limitation of not being able to produce both C and H simultaneously. This will make it run faster since it parses the asdl definition once and uses the generated tree to generate both the header and the C source.
* bpo-40503: PEP 615: Tests and implementation for zoneinfo (GH-19909)Paul Ganssle2020-05-166-1/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the initial implementation of PEP 615, the zoneinfo module, ported from the standalone reference implementation (see https://www.python.org/dev/peps/pep-0615/#reference-implementation for a link, which has a more detailed commit history). This includes (hopefully) all functional elements described in the PEP, but documentation is found in a separate PR. This includes: 1. A pure python implementation of the ZoneInfo class 2. A C accelerated implementation of the ZoneInfo class 3. Tests with 100% branch coverage for the Python code (though C code coverage is less than 100%). 4. A compile-time configuration option on Linux (though not on Windows) Differences from the reference implementation: - The module is arranged slightly differently: the accelerated module is `_zoneinfo` rather than `zoneinfo._czoneinfo`, which also necessitates some changes in the test support function. (Suggested by Victor Stinner and Steve Dower.) - The tests are arranged slightly differently and do not include the property tests. The tests live at test/test_zoneinfo/test_zoneinfo.py rather than test/test_zoneinfo.py or test/test_zoneinfo/__init__.py because we may do some refactoring in the future that would likely require this separation anyway; we may: - include the property tests - automatically run all the tests against both pure Python and C, rather than manually constructing C and Python test classes (similar to the way this works with test_datetime.py, which generates C and Python test cases from datetimetester.py). - This includes a compile-time configuration option on Linux (though not on Windows); added with much help from Thomas Wouters. - Integration into the CPython build system is obviously different from building a standalone zoneinfo module wheel. - This includes configuration to install the tzdata package as part of CI, though only on the coverage jobs. Introducing a PyPI dependency as part of the CI build was controversial, and this is seen as less of a major change, since the coverage jobs already depend on pip and PyPI. Additional changes that were introduced as part of this PR, most / all of which were backported to the reference implementation: - Fixed reference and memory leaks With much debugging help from Pablo Galindo - Added smoke tests ensuring that the C and Python modules are built The import machinery can be somewhat fragile, and the "seamlessly falls back to pure Python" nature of this module makes it so that a problem building the C extension or a failure to import the pure Python version might easily go unnoticed. - Adjustments to zoneinfo.__dir__ Suggested by Petr Viktorin. - Slight refactorings as suggested by Steve Dower. - Removed unnecessary if check on std_abbr Discovered this because of a missing line in branch coverage.
* bpo-40501: Replace ctypes code in uuid with native module (GH-19948)Steve Dower2020-05-124-3/+166
|
* bpo-40602: Rename hashtable.h to pycore_hashtable.h (GH-20044)Victor Stinner2020-05-122-4/+8
| | | | | | | * Move Modules/hashtable.h to Include/internal/pycore_hashtable.h * Move Modules/hashtable.c to Python/hashtable.c * Python is now linked to hashtable.c. _tracemalloc is no longer linked to hashtable.c. Previously, marshal.c got hashtable.c via _tracemalloc.c which is built as a builtin module.
* bpo-38787: C API for module state access from extension methods (PEP 573) ↵Petr Viktorin2020-05-072-0/+4
| | | | | | | | | (GH-19936) Module C state is now accessible from C-defined heap type methods (PEP 573). Patch by Marcel Plch and Petr Viktorin. Co-authored-by: Marcel Plch <mplch@redhat.com> Co-authored-by: Victor Stinner <vstinner@python.org>
* bpo-40458: Increase reserved stack space to prevent overflow crash on ↵Steve Dower2020-05-052-0/+2
| | | | Windows (GH-19845)
* bpo-40432 Fix MSBuild project for Pegen grammars (#GH-9785)Anthony Shaw2020-04-291-1/+2
| | | | | | * Update the source path of the pegen target within the Windows regen project. Change the path to Windows path formats. * Use the more reliable SetEnv task for Cpp Projects in MSBuild.
* bpo-40421: Add Include/cpython/code.h header file (GH-19756)Victor Stinner2020-04-282-0/+4
| | | | | | | | | | | bpo-35134, bpo-40421: Add Include/cpython/code.h header file. code.h now defines PyCodeObject type in the limited C API. It is now included by Python.h. Give a name to the PyCodeObject structure: it is now called "struct PyCodeObject". So it becomes possible to define PyCodeObject as "struct PyCodeObject" in the limited C API without defining the structure.
* bpo-40421: Add pyframe.h header file (GH-19755)Victor Stinner2020-04-282-7/+11
| | | | | | | | | | Add a new separated pyframe.h header file of the PyFrame public C API: it is included by Python.h. Add PyFrame_GetLineNumber() to the limited C API. Replace "struct _frame" with "PyFrameObject" in header files. PyFrameObject is now defined as struct _frame by pyframe.h which is included early enough in Python.h.
* bpo-40334: Refactor peg_generator to receive a Tokens file when building c ↵Pablo Galindo2020-04-281-1/+1
| | | | code (GH-19745)
* Add files in tests/test_peg_generator to the install target lists (GH-19723)Pablo Galindo2020-04-271-0/+7
| | | Update the "Makefile.pre.in" template and the "PCbuild/lib.pyproj" with the files in "Lib/test/test/test_peg_generator" so they get correctly installed along the rest of the standard library.
* bpo-40401: Remove duplicate pyhash.h include from pythoncore.vcxproj (GH-19725)Ammar Askar2020-04-271-1/+0
|
* bpo-40334: Improve various PEG-Parser related stuff (GH-19669)Lysandros Nikolaou2020-04-231-1/+1
| | | The changes in this commit are all related to @vstinner's original review comments of the initial PEP 617 implementation PR.
* bpo-40334: PEP 617 implementation: New PEG parser for CPython (GH-19503)Pablo Galindo2020-04-223-1/+30
| | | | Co-authored-by: Guido van Rossum <guido@python.org> Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
* bpo-38439: Add 256px IDLE icon (GH-17473)Miro Hrončok2020-04-221-0/+1
| | | | Icon author: Andrew Clover, bpo-1490384
* bpo-40302: Add pycore_byteswap.h header file (GH-19552)Victor Stinner2020-04-172-0/+4
| | | | | | | | | | | | | | Add a new internal pycore_byteswap.h header file with the following functions: * _Py_bswap16() * _Py_bswap32() * _Py_bswap64() Use these functions in _ctypes, sha256 and sha512 modules, and also use in the UTF-32 encoder. sha256, sha512 and _ctypes modules are now built with the internal C API.
* bpo-40270: Enable json extension in Windows sqlite extension (GH-19528)Ammar Askar2020-04-151-1/+1
|
* bpo-40241: Add pycore_interp.h header (GH-19499)Victor Stinner2020-04-132-0/+4
| | | | Move PyInterpreterState and related functions to a new internal pycore_interp.h header file.
* bpo-40268: Add pycore_runtime.h header file (GH-19493)Victor Stinner2020-04-132-0/+4
| | | | | | Move PyRuntimeState from pycore_pystate.h to pycore_runtime.h. Remove _PyGILState_check_enabled macro: access directly _PyRuntime.gilstate.check_enabled.
* bpo-40170: Add _PyIndex_Check() internal function (GH-19426)Victor Stinner2020-04-082-0/+4
| | | | | | | | | Add _PyIndex_Check() function to the internal C API: fast inlined verson of PyIndex_Check(). Add Include/internal/pycore_abstract.h header file. Replace PyIndex_Check() with _PyIndex_Check() in C files of Objects and Python subdirectories.
* bpo-39481: Implementation for PEP 585 (#18239)Guido van Rossum2020-04-071-0/+1
| | | | | | | | | | | | This implements things like `list[int]`, which returns an object of type `types.GenericAlias`. This object mostly acts as a proxy for `list`, but has attributes `__origin__` and `__args__` that allow recovering the parts (with values `list` and `(int,)`. There is also an approximate notion of type variables; e.g. `list[T]` has a `__parameters__` attribute equal to `(T,)`. Type variables are objects of type `typing.TypeVar`.
* bpo-40164: Update Windows to OpenSSL 1.1.1f (GH-19359)Steve Dower2020-04-042-4/+4
|
* bpo-38644: Add _PySys_Audit() which takes tstate (GH-19180)Victor Stinner2020-03-262-0/+4
| | | | | | | | | | | | | | | Add _PySys_Audit() function to the internal C API: similar to PySys_Audit(), but requires a mandatory tstate parameter. Cleanup sys_audit_tstate() code: remove code path for NULL tstate, since the function exits at entry if tstate is NULL. Remove also code path for NULL tstate->interp: should_audit() now ensures that it is not NULL (even if tstate->interp cannot be NULL in practice). PySys_AddAuditHook() now checks if tstate is not NULL to decide if tstate can be used or not, and tstate is set to NULL if the runtime is not initialized yet. Use _PySys_Audit() in sysmodule.c.
* bpo-39930: Fix MSBuild detection for Build Tools (GH-18938)Steve Dower2020-03-112-16/+27
| | | Ensure we detect Build Tools installs using the newer logic, and skip looking in the registry for VS 2017.
* bpo-39930: Convert error to warning for more silent failure (GH-18921)Steve Dower2020-03-111-1/+1
| | | Makes it an error to create a layout without vcruntime DLL
* bpo-39930: Ensure vcruntime140.dll is included in all Windows packages ↵Steve Dower2020-03-112-9/+22
| | | | | (GH-18918) Also adds GitHub CI test for Windows installer changes
* bpo-38597: Never statically link extension initialization code on Windows ↵Steve Dower2020-03-031-0/+2
| | | | (GH-18724)
* bpo-38380: Update macOS & Windows builds to SQLite v3.31.1 (GH-18678)Erlend Egeberg Aasland2020-03-023-3/+3
| | | Automerge-Triggered-By: @zooba
* bpo-35134: Add Include/cpython/fileutils.h header file (GH-18493)Victor Stinner2020-02-122-0/+4
| | | | | | | | | | | | Move CPython C API from Include/fileutils.h into a new Include/cpython/fileutils.h header file which is included by Include/fileutils.h. Exclude the following private symbols from the limited C API: * _Py_error_handler * _Py_GetErrorHandler() * _Py_DecodeLocaleEx() * _Py_EncodeLocaleEx()