summaryrefslogtreecommitdiffstats
path: root/PCbuild
Commit message (Collapse)AuthorAgeFilesLines
* Remove deleted libmpdec header from the Visual Studio build machinery. ↵Miss Islington (bot)2020-06-082-5/+1
| | | | | | | (GH-20730) (cherry picked from commit 0c59f440f4c9dca658e6b18db14b67b750e25a87) Authored-by: Stefan Krah <skrah@bytereef.org>
* bpo-40861: Enable optimizations when building liblzma (GH-20724)Miss Islington (bot)2020-06-081-5/+2
| | | | | (cherry picked from commit 3a3a30c5a4622e18be9f7e4a239dc9e0d7c8054c) Co-authored-by: Steve Dower <steve.dower@python.org>
* bpo-17005: Move topological sort functionality to its own module (GH-20558)Miss Islington (bot)2020-06-011-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. (cherry picked from commit 2f172d8f1525defe9bba4d49e967fdfc69151731) Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
* 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()
* bpo-35134: Add Include/cpython/bytesobject.h file (GH-18494)Victor Stinner2020-02-122-0/+8
| | | | | | | | | Add Include/cpython/bytearrayobject.h and Include/cpython/bytesobject.h header files. Move CPython C API from Include/bytesobject.h into a new Include/cpython/bytesobject.h header file which is included by Include/bytesobject.h. Do a similar change for Include/bytearrayobject.h.
* bpo-35081: Move dtoa.h header to the internal C API (GH-18489)Victor Stinner2020-02-122-4/+4
| | | | | | | Move the dtoa.h header file to the internal C API as pycore_dtoa.h: it only contains private functions (prefixed by "_Py"). The math and cmath modules must now be compiled with the Py_BUILD_CORE macro defined.
* bpo-35081: Move bytes_methods.h to the internal C API (GH-18492)Victor Stinner2020-02-122-4/+4
| | | | | Move the bytes_methods.h header file to the internal C API as pycore_bytes_methods.h: it only contains private symbols (prefixed by "_Py"), except of the PyDoc_STRVAR_shared() macro.
* bpo-35134: Create Include/cpython/listobject.h (GH-18395)Victor Stinner2020-02-072-0/+4
| | | | | | | | | Move listobject.h code surrounded by "#ifndef Py_LIMITED_API" to a new Include/cpython/listobject.h header file. Add cpython/ header files to Makefile.pre.in and pythoncore project of PCbuild. Add _PyList_CAST() macro.
* bpo-39185 Add the d[etailed] and q[uiet] verbosity levels for msbuild (GH-17791)Anthony Shaw2020-02-051-0/+4
|
* bpo-39401: Avoid unsafe DLL load on Windows 7 and earlier (GH-18231)Steve Dower2020-01-291-1/+1
| | | | As Windows 7 is not supported by Python 3.9, we just replace the dynamic load with a static import. Backports will have a different fix to ensure they continue to behave the same.
* bpo-39459: include missing test files in windows installer Dino Viehland2020-01-281-0/+2
| | | Adds missing test files to Windows installer to wrap up bpo-39459
* bpo-36500: Simplify PCbuild/build.bat and prevent path separator changing in ↵Steve Dower2019-12-171-13/+8
| | | | comments (GH-17644)
* bpo-36500: Add --regen option to PCbuild/build.bat so Windows users can ↵Anthony Shaw2019-12-172-1/+241
| | | | regen grammar, opcodes, tokens and symbols (GH-12654)
* bpo-33125: Add support for building and releasing Windows ARM64 packages ↵Steve Dower2019-11-207-5/+74
| | | | | (GH-16828) Note that the support is not actually enabled yet, and so we won't be publishing these packages. However, for those who want to build it themselves (even by reusing the Azure Pipelines definition), it's now relatively easy to enable.
* Add Python 3.8 to py based search in find_python.bat (GH-17188)Segev Finer2019-11-201-1/+1
|
* bpo-38809: Windows build scripts use python.exe from virtual envs (GH-17164)Tal Einat2019-11-181-0/+3
| | | https://bugs.python.org/issue38809
* bpo-38644: Add _PyObject_Call() (GH-17089)Victor Stinner2019-11-142-0/+4
| | | | | | | | | | * Add pycore_call.h internal header file. * Add _PyObject_Call(): PyObject_Call() with tstate * Add _PyObject_CallNoArgTstate(): _PyObject_CallNoArg() with tstate * Add _PyObject_FastCallDictTstate(): _PyObject_FastCallDict() with tstate * _PyObject_Call_Prepend() now takes tstate * Replace _PyObject_FastCall() calls with _PyObject_VectorcallTstate() calls
* bpo-38644: Add Py_EnterRecursiveCall() to the limited API (GH-17046)Victor Stinner2019-11-042-0/+4
| | | | | | | | | | Provide Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() as regular functions for the limited API. Previously, there were defined as macros, but these macros didn't work with the limited API which cannot access PyThreadState.recursion_depth field. Remove _Py_CheckRecursionLimit from the stable ABI. Add Include/cpython/ceval.h header file.
* bpo-38492: Remove pythonw.exe dependency on the Microsoft C++ runtime (GH-16824)Steve Dower2019-10-161-0/+9
|
* closes bpo-38174: Update vendored expat library to 2.2.8. (GH-16346)Benjamin Peterson2019-09-264-8/+0
| | | Fixes CVE-2019-15903. See full changelog at https://github.com/libexpat/libexpat/blob/R_2_2_8/expat/Changes.
* bpo-38117: Update bundled Windows OpenSSL to 1.1.1d (GH-16184)Steve Dower2019-09-162-4/+4
|
* bpo-37326: Include libffi license when available (GH-15921)Steve Dower2019-09-111-2/+3
|