summaryrefslogtreecommitdiffstats
path: root/PCbuild
Commit message (Collapse)AuthorAgeFilesLines
* bpo-43915: Add PCbuild/blurb.bat to simplify Windows contributors (GH-25528)Steve Dower2021-04-221-0/+28
|
* bpo-40137: Add pycore_moduleobject.h internal header (GH-25507)Victor Stinner2021-04-212-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add pycore_moduleobject.h internal header file with static inline functions to access module members: * _PyModule_GetDict() * _PyModule_GetDef() * _PyModule_GetState() These functions don't check at runtime if their argument has a valid type and can be inlined even if Python is not built with LTO. _PyType_GetModuleByDef() uses _PyModule_GetDef(). Replace PyModule_GetState() with _PyModule_GetState() in the extension modules, considered as performance sensitive: * _abc * _functools * _operator * _pickle * _queue * _random * _sre * _struct * _thread * _winapi * array * posix The following extensions are now built with the Py_BUILD_CORE_MODULE macro defined, to be able to use the internal pycore_moduleobject.h header: _abc, array, _operator, _queue, _sre, _struct.
* bpo-38530: Offer suggestions on AttributeError (#16856)Pablo Galindo2021-04-141-0/+1
| | | | | | | | | When printing AttributeError, PyErr_Display will offer suggestions of similar attribute names in the object that the exception was raised from: >>> collections.namedtoplo Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: module 'collections' has no attribute 'namedtoplo'. Did you mean: namedtuple?
* bpo-43567: Improved generated code refresh on Windows (GH-25120)Steve Dower2021-04-065-228/+108
| | | Generated files are now refreshed automatically on regular build, or may be forcibly regenerated by calling `build.bat --regen`.
* bpo-43745: Actually updates Windows release to OpenSSL 1.1.1k. (GH-25213)Steve Dower2021-04-062-2/+2
| | | | Earlier releases were mislabelled and included 1.1.1i again. The tag/directory name is updated to ensure that builds get the fresh bits. However, the openssl-bin-1.1.1k tag in the repository has been forcibly updated, so fresh builds will be fine even without this change.
* bpo-41111: xxlimited.c defines Py_LIMITED_API (GH-25151)Victor Stinner2021-04-022-6/+0
| | | | | | xxlimited.c and xxlimited_35.c now define the Py_LIMITED_API macro, rather than having to do it in the build recipe. Co-authored-by: Hai Shi <shihai1992@gmail.com>
* bpo-43688: Fix Py_LIMITED_API version of xxlimited (GH-25135)Victor Stinner2021-04-011-1/+1
| | | | xxlimited targets Python 3.10, not Python 3.16: fix the hexadecimal version number used in the Py_LIMITED_API macro.
* bpo-43631: Update to OpenSSL 1.1.1k (GH-25024)Christian Heimes2021-03-303-5/+5
| | | | | | | | | | - [x] Build OpenSSL 1.1.1k for macOS - [x] Build OpenSSL 1.1.1k for Windows I have also updated multissl tester and various CI configurations to use latest OpenSSL. The versions were all over the place. Signed-off-by: Christian Heimes <christian@python.org> Automerge-Triggered-By: GH:tiran
* bpo-43244: Remove the pyarena.h header (GH-25007)Victor Stinner2021-03-242-0/+4
| | | | | | | | | | | | | | | | | | Remove the pyarena.h header file with functions: * PyArena_New() * PyArena_Free() * PyArena_Malloc() * PyArena_AddPyObject() These functions were undocumented, excluded from the limited C API, and were only used internally by the compiler. Add pycore_pyarena.h header. Rename functions: * PyArena_New() => _PyArena_New() * PyArena_Free() => _PyArena_Free() * PyArena_Malloc() => _PyArena_Malloc() * PyArena_AddPyObject() => _PyArena_AddPyObject()
* bpo-43244: Add pycore_compile.h header file (GH-25000)Victor Stinner2021-03-232-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the compiler functions using "struct _mod" type, because the public AST C API was removed: * PyAST_Compile() * PyAST_CompileEx() * PyAST_CompileObject() * PyFuture_FromAST() * PyFuture_FromASTObject() These functions were undocumented and excluded from the limited C API. Rename functions: * PyAST_CompileObject() => _PyAST_Compile() * PyFuture_FromASTObject() => _PyFuture_FromAST() Moreover, _PyFuture_FromAST() is no longer exported (replace PyAPI_FUNC() with extern). _PyAST_Compile() remains exported for test_peg_generator. Remove also compatibility functions: * PyAST_Compile() * PyAST_CompileEx() * PyFuture_FromAST()
* bpo-43244: Remove ast.h, asdl.h, Python-ast.h headers (GH-24933)Victor Stinner2021-03-233-17/+9
| | | | | | | | | | | | | | | | These functions were undocumented and excluded from the limited C API. Most names defined by these header files were not prefixed by "Py" and so could create names conflicts. For example, Python-ast.h defined a "Yield" macro which was conflict with the "Yield" name used by the Windows <winbase.h> header. Use the Python ast module instead. * Move Include/asdl.h to Include/internal/pycore_asdl.h. * Move Include/Python-ast.h to Include/internal/pycore_ast.h. * Remove ast.h header file. * pycore_symtable.h no longer includes Python-ast.h.
* bpo-35134: Add include/cpython/compile.h (GH-24922)Hai Shi2021-03-222-0/+4
| | | | Move C API excluded from the limited C API from Include/compile.h to a new Include/cpython/compile.h header file.
* bpo-43244: Remove symtable.h header file (GH-24910)Victor Stinner2021-03-192-0/+4
| | | | | | | | | | | | | | | | | | Rename Include/symtable.h to to Include/internal/pycore_symtable.h, don't export symbols anymore (replace PyAPI_FUNC and PyAPI_DATA with extern) and rename functions: * PyST_GetScope() to _PyST_GetScope() * PySymtable_BuildObject() to _PySymtable_Build() * PySymtable_Free() to _PySymtable_Free() Remove PySymtable_Build(), Py_SymtableString() and Py_SymtableStringObject() functions. The Py_SymtableString() function was part the stable ABI by mistake but it could not be used, since the symtable.h header file was excluded from the limited C API. The Python symtable module remains available and is unchanged.
* bpo-43244: Add pycore_ast.h header file (GH-24908)Victor Stinner2021-03-172-0/+4
| | | | | | | | Move _PyAST_GetDocString() and _PyAST_ExprAsUnicode() functions the internal C API: from Include/ast.h to a new Include/internal/pycore_ast.h header file. Don't export these functions anymore: replace PyAPI_FUNC() with extern. Remove also unused includes.
* bpo-43244: Rename pycore_ast.h to pycore_ast_state.h (GH-24907)Victor Stinner2021-03-173-5/+9
|
* bpo-43444: Move sqlite3 MODULE_NAME from setup.py to module.h (GH-24801)Erlend Egeberg Aasland2021-03-131-1/+0
|
* bpo-43440 : Enable SQLite R*Tree support for windows builds (GH-24797)Erlend Egeberg Aasland2021-03-091-1/+1
|
* bpo-42825: Enable /OPT:REF (GH-24098)Austin Lamb2021-02-191-0/+1
| | | We explicitly disable /OPT:ICF as some manual optimisations depend on some functions still having distinct pointers (such as wrap_binary_func and wrap_binary_func_l).
* bpo-35134: Move non-limited C API files to Include/cpython/ (GH-24561)Nicholas Sim2021-02-192-20/+20
| | | | | | Include/{odictobject.h,parser_interface.h,picklebufobject.h,pydebug.h,pyfpe.h} into Include/cpython/. Parser: peg_api: include Python.h instead of parser_interface.h.
* bpo-35134: Move Include/{pyarena.h,pyctype.h} to Include/cpython/ (GH-24550)Nicholas Sim2021-02-172-8/+8
| | | | Move non-limited C API headers pyarena.h and pyctype.h into Include/cpython/ directory.
* bpo-35134, Include: Move pytime.h to cpython/pytime.h (GH-23988)Nicholas Sim2021-02-162-4/+4
| | | | This change is backward compatible since C extension modules must not include "pytime.h" directly, but only include "Python.h".
* bpo-43174: Windows: Use /utf-8 compiler option. (GH-24498)Inada Naoki2021-02-121-0/+1
|
* bpo-42955: Rename module_names to sys.stdlib_module_names (GH-24332)Victor Stinner2021-01-252-2/+2
| | | | * Rename _Py_module_names to _Py_stdlib_module_names. * Rename Python/module_names.h to Python/stdlib_module_names.h.
* bpo-42955: Add Python/module_names.h (GH-24258)Victor Stinner2021-01-192-0/+4
| | | | | | | | | | Add a private list of all stdlib modules: _Py_module_names. * Add Tools/scripts/generate_module_names.py script. * Makefile: Add "make regen-module-names" command. * setup.py: Add --list-module-names option. * GitHub Action and Travis CI also runs "make regen-module-names", not ony "make regen-all", to ensure that the module names remains up to date.
* bpo-42802: Remove distutils bdist_wininst command (GH-24043)Victor Stinner2021-01-082-4/+0
| | | | | | | | | | The distutils bdist_wininst command deprecated in Python 3.8 has been removed. The distutils bidst_wheel command is now recommended to distribute binary packages on Windows. * Remove Lib/distutils/command/bdist_wininst.py * Remove PC/bdist_wininst/ project * Remove Lib/distutils/command/wininst-*.exe programs * Remove all references to bdist_wininst
* bpo-42584: Update Windows installer to use SQLite 3.34.0 (GH-23675)Erlend Egeberg Aasland2021-01-053-3/+3
|
* bpo-41837: Updated Windows installer to include OpenSSL 1.1.1i (GH-24125)Steve Dower2021-01-053-5/+5
|
* bpo-39465: Add pycore_atomic_funcs.h header (GH-20766)Victor Stinner2020-12-232-0/+4
| | | | | | Add pycore_atomic_funcs.h internal header file: similar to pycore_atomic.h but don't require to declare variables as atomic. Add _Py_atomic_size_get() and _Py_atomic_size_set() functions.
* bpo-35134: Add Include/cpython/pythonrun.h file (GH-23701)Victor Stinner2020-12-082-0/+4
| | | | | Py_CompileString() is now always declared as a function by Include/pythonrun.h. It is overriden with a macro in Include/cpython/pythonrun.h.
* bpo-42111: Make the xxlimited module an example of best extension module ↵Petr Viktorin2020-12-085-2/+133
| | | | | | | practices (GH-23226) - Copy existing xxlimited to xxlimited53 (named for the limited API version it uses) - Build both modules, both in debug and release - Test both modules
* bpo-42431: Fix outdated bytes comments (GH-23458)Serhiy Storchaka2020-12-032-0/+4
| | | | Also move definitions of internal macros F_LJUST etc to private header.
* bpo-42336: Improve PCbuild batch files (GH-23275)Steve Dower2020-11-186-20/+56
|
* bpo-42266: Handle monkey-patching descriptors in LOAD_ATTR cache (GH-23157)Pablo Galindo2020-11-051-0/+1
|
* Enable signing of nuget.org packages and update to supported timestamp ↵Steve Dower2020-11-031-2/+2
| | | | server (GH-23132)
* bpo-41796: Make _ast module state per interpreter (GH-23024)Victor Stinner2020-11-021-3/+9
| | | | | | | | | | | The ast module internal state is now per interpreter. * Rename "astmodulestate" to "struct ast_state" * Add pycore_ast.h internal header: the ast_state structure is now declared in pycore_ast.h. * Add PyInterpreterState.ast (struct ast_state) * Remove get_ast_state() * Rename get_global_ast_state() to get_ast_state() * PyAST_obj2mod() now handles get_ast_state() failures
* bpo-42208: Add _locale._get_locale_encoding() (GH-23052)Victor Stinner2020-10-311-1/+0
| | | | | | * Add a new _locale._get_locale_encoding() function to get the current locale encoding. * Modify locale.getpreferredencoding() to use it. * Remove the _bootlocale module.
* bpo-42161: Add _PyLong_GetZero() and _PyLong_GetOne() (GH-22993)Victor Stinner2020-10-262-0/+4
| | | | | | Add _PyLong_GetZero() and _PyLong_GetOne() functions and a new internal pycore_long.h header file. Python cannot be built without small integer singletons anymore.
* bpo-1635741: _PyUnicode_Name_CAPI moves to internal C API (GH-22713)Victor Stinner2020-10-262-4/+4
| | | | | | | | | | The private _PyUnicode_Name_CAPI structure of the PyCapsule API unicodedata.ucnhash_CAPI moves to the internal C API. Moreover, the structure gets a new state member which must be passed to the getcode() and getname() functions. * Move Include/ucnhash.h to Include/internal/pycore_ucnhash.h * unicodedata module is now built with Py_BUILD_CORE_MODULE. * unicodedata: move hashAPI variable into unicodedata_module_state.
* bpo-39107: Updated Tcl and Tk to 8.6.10 in Windows installer (GH-22405)Steve Dower2020-10-192-6/+5
|
* bpo-41557: Update Windows installer to use SQLite 3.33.0 (GH-21960)Erlend Egeberg Aasland2020-10-083-3/+3
|
* 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.