summaryrefslogtreecommitdiffstats
path: root/Misc/NEWS.d/next/Build
Commit message (Collapse)AuthorAgeFilesLines
* bpo-37404: Raising value error if an SSLSocket is passed to asyncio ↵idomic2019-12-071-0/+2
| | | | | functions (GH-16457) https://bugs.python.org/issue37404
* Python 3.9.0a1v3.9.0a1Łukasz Langa2019-11-1916-54/+0
|
* bpo-38809: Windows build scripts use python.exe from virtual envs (GH-17164)Tal Einat2019-11-181-0/+2
| | | https://bugs.python.org/issue38809
* bpo-38684: haslib: fix build when Blake2 not enabled in OpenSSL (#17043)Alexandru Ardelean2019-11-041-0/+1
|
* bpo-37415: Fix stdatomic.h header check for ICC compiler (GH-16717)Victor Stinner2019-10-221-0/+2
| | | | | | | | | | | | Fix stdatomic.h header check for ICC compiler: the ICC implementation lacks atomic_uintptr_t type which is needed by Python. Test: * atomic_int and atomic_uintptr_t types * atomic_load_explicit() and atomic_store_explicit() * memory_order_relaxed and memory_order_seq_cst constants But don't test ATOMIC_VAR_INIT(): it's not used in Python.
* bpo-38468 : Refactor python-config (#16749)Joannah Nanjekye2019-10-151-0/+2
| | | | | | | | | | | | | | | | | | | | * refactor python-config * 📜🤖 Added by blurb_it. * Update Misc/NEWS.d/next/Build/2019-10-13-16-18-24.bpo-38468.buCO84.rst Co-Authored-By: Pablo Galindo <Pablogsal@gmail.com> * Use getvar for pyver * Update news entry with affected file. * Update Misc/NEWS.d/next/Build/2019-10-13-16-18-24.bpo-38468.buCO84.rst Co-Authored-By: Victor Stinner <vstinner@python.org> * Update 2019-10-13-16-18-24.bpo-38468.buCO84.rst
* bpo-38301: In Solaris family, we must be sure to use '-D_REENTRANT' (#16446)Jesús Cea2019-09-281-0/+2
|
* closes bpo-36002: Use AC_PATH_TOOL to find llvm-profdata and llvm-ar. (GH-14998)Doyle Rowland2019-09-131-0/+2
|
* bpo-37760: Convert from length-18 lists to a dataclass, in makeunicodedata. ↵Greg Price2019-09-121-0/+6
| | | | | | | | | (GH-15265) Now the fields have names! Much easier to keep straight as a reader than the elements of an 18-tuple. Runs about 10-15% slower: from 10.8s to 12.3s, on my laptop. Fortunately that's perfectly fine for this maintenance script.
* bpo-37936: Systematically distinguish rooted vs. unrooted in .gitignore ↵Greg Price2019-09-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (GH-15823) A root cause of bpo-37936 is that it's easy to write a .gitignore rule that's intended to apply to a specific file (e.g., the `pyconfig.h` generated by `./configure`) but actually applies to all similarly-named files in the tree (e.g., `PC/pyconfig.h`.) Specifically, any rule with no non-trailing slashes is applied in an "unrooted" way, to files anywhere in the tree. This means that if we write the rules in the most obvious-looking way, then * for specific files we want to ignore that happen to be in subdirectories (like `Modules/config.c`), the rule will work as intended, staying "rooted" to the top of the tree; but * when a specific file we want to ignore happens to be at the root of the repo (like `platform`), then the obvious rule (`platform`) will apply much more broadly than intended: if someone tries to add a file or directory named `platform` somewhere else in the tree, it will unexpectedly get ignored. That's surprising behavior that can make the .gitignore file's behavior feel finicky and unpredictable. To avoid it, we can simply always give a rule "rooted" behavior when that's what's intended, by systematically using leading slashes. Further, to help make the pattern obvious when looking at the file and minimize any need for thinking about the syntax when adding new rules: separate the rules into one group for each type, with brief comments identifying them. For most of these rules it's clear whether they're meant to be rooted or unrooted, but in a handful of cases I've only guessed. In that case the safer default (the choice that won't hide information) is the narrower, rooted meaning, with a leading slash. If for some of these the unrooted meaning is desired after all, it'll be easy to move them to the unrooted section at the top.
* bpo-37725: have "make clean" remove PGO task data (#15033)Neil Schemenauer2019-09-101-0/+3
| | | | | Change "clean" makefile target to also clean the program guided optimization (PGO) data. Previously you would have to use "make clean" and "make profile-removal", or "make clobber".
* bpo-37936: Avoid ignoring files that we actually do track. (GH-15451)Greg Price2019-09-091-0/+2
| | | | | | | | | | | | | | | | | | | | There were about 14 files that are actually in the repo but that are covered by the rules in .gitignore. Git itself takes no notice of what .gitignore says about files that it's already tracking... but the discrepancy can be confusing to a human that adds a new file unexpectedly covered by these rules, as well as to non-Git software that looks at .gitignore but doesn't implement this wrinkle in its semantics. (E.g., `rg`.) Several of these are from rules that apply more broadly than intended: for example, `Makefile` applies to `Doc/Makefile` and `Tools/freeze/test/Makefile`, whereas `/Makefile` means only the `Makefile` at the repo's root. And the `Modules/Setup` rule simply wasn't updated after 961d54c5c. https://bugs.python.org/issue37936
* bpo-37707: Exclude expensive unit tests from PGO task (GH-15009)Neil Schemenauer2019-07-301-0/+3
| | | | | Mark some individual tests to skip when --pgo is used. The tests marked increase the PGO task time significantly and likely don't help improve optimization of the final executable.
* bpo-36044: Reduce number of unit tests run for PGO build (GH-14702)Neil Schemenauer2019-07-221-0/+9
| | | | | | | | | | | | Reduce the number of unit tests run for the PGO generation task. This speeds up the task by a factor of about 15x. Running the full unit test suite is slow. This change may result in a slightly less optimized build since not as many code branches will be executed. If you are willing to wait for the much slower build, the old behavior can be restored using './configure [..] PROFILE_TASK="-m test --pgo-extended"'. We make no guarantees as to which PGO task set produces a faster build. Users who care should run their own relevant benchmarks as results can depend on the environment, workload, and compiler tool chain.
* Fix typos in docs, comments and test assert messages (#14872)Min ho Kim2019-07-211-1/+1
|
* bpo-37468: make install no longer install wininst-*.exe files (GH-14511)Victor Stinner2019-07-151-0/+2
| | | | make install no longer installs "wininst-*.exe" files used by distutils bdist_wininst: bdist_wininst only works on Windows.
* bpo-25361: Enable SSE2 instructions for Windows 32-bit build (GH-12438)animalize2019-06-241-0/+1
|
* bpo-36210: update optional extension handling for AIX (GH-12202)Michael Felt2019-06-211-0/+9
| | | | | | * Switch to officially supported curses from 3rd-party ASIS supported ncurses * stop saying optional modules osaudiodev and spwd are missing on AIX Patch by M.Felt
* bpo-37189: Export old PyRun_XXX() functions (#14142)Victor Stinner2019-06-171-0/+3
| | | | | Many PyRun_XXX() functions like PyRun_String() were no longer exported in libpython38.dll by mistake. Export them again to fix the ABI compatibiliy.
* Python 3.8.0b1v3.8.0b1Łukasz Langa2019-06-042-17/+0
|
* bpo-36721: Add --embed option to python-config (GH-13500)Victor Stinner2019-05-231-0/+16
| | | | | | | | | | | | | | | | | | | | | To embed Python into an application, a new --embed option must be passed to "python3-config --libs --embed" to get "-lpython3.8" (link the application to libpython). To support both 3.8 and older, try "python3-config --libs --embed" first and fallback to "python3-config --libs" (without --embed) if the previous command fails. Add a pkg-config "python-3.8-embed" module to embed Python into an application: "pkg-config python-3.8-embed --libs" includes "-lpython3.8". To support both 3.8 and older, try "pkg-config python-X.Y-embed --libs" first and fallback to "pkg-config python-X.Y --libs" (without --embed) if the previous command fails (replace "X.Y" with the Python version). On the other hand, "pkg-config python3.8 --libs" no longer contains "-lpython3.8". C extensions must not be linked to libpython (except on Android, case handled by the script); this change is backward incompatible on purpose. "make install" now also installs "python-3.8-embed.pc".
* bpo-36786: Run compileall in parallel during "make install" (GH-13078)Antoine Pitrou2019-05-151-0/+1
|
* Python 3.8.0a4v3.8.0a4Łukasz Langa2019-05-0612-45/+0
|
* bpo-36747: Remove the stale scriptsinstall Makefile target (GH-13003)xdegaye2019-04-291-0/+1
|
* bpo-21536: On Android, C extensions are linked to libpython (GH-12989)xdegaye2019-04-291-1/+1
|
* bpo-36722: Style and grammar edits for ABI news entries (GH-12979)Paul Ganssle2019-04-272-9/+10
|
* bpo-21536: C extensions are no longer linked to libpython (GH-12946)Victor Stinner2019-04-251-0/+12
| | | | | | | | | | | | | | On Unix, C extensions are no longer linked to libpython. It is now possible to load a C extension built using a shared library Python with a statically linked Python. When Python is embedded, libpython must not be loaded with RTLD_LOCAL, but RTLD_GLOBAL instead. Previously, using RTLD_LOCAL, it was already not possible to load C extensions which were not linked to libpython, like C extensions of the standard library built by the "*shared*" section of Modules/Setup. distutils, python-config and python-config.py have been modified.
* bpo-36465: Make release and debug ABI compatible (GH-12615)Victor Stinner2019-04-241-0/+5
| | | | | | | | | | | | | | Release build and debug build are now ABI compatible: the Py_DEBUG define no longer implies Py_TRACE_REFS define which introduces the only ABI incompatibility. A new "./configure --with-trace-refs" build option is now required to get Py_TRACE_REFS define which adds sys.getobjects() function and PYTHONDUMPREFS environment variable. Changes: * Add ./configure --with-trace-refs * Py_DEBUG no longer implies Py_TRACE_REFS
* bpo-36707: Remove the "m" flag (pymalloc) from SOABI (GH-12931)Victor Stinner2019-04-241-0/+3
| | | | | | "./configure --with-pymalloc" no longer adds the "m" flag to SOABI (sys.implementation.cache_tag). Enabling or disabling pymalloc has no impact on the ABI.
* bpo-36635: Change pyport.h for Py_BUILD_CORE_MODULE define (GH-12853)Victor Stinner2019-04-171-0/+5
| | | | | | | | | | | | | | | | | | | | Change PyAPI_FUNC(type), PyAPI_DATA(type) and PyMODINIT_FUNC macros of pyport.h when Py_BUILD_CORE_MODULE is defined. The Py_BUILD_CORE_MODULE define must be now be used to build a C extension as a dynamic library accessing Python internals: export the PyInit_xxx() function in DLL exports on Windows. Changes: * Py_BUILD_CORE_BUILTIN and Py_BUILD_CORE_MODULE now imply Py_BUILD_CORE directy in pyport.h. * ceval.c compilation now fails with an error if Py_BUILD_CORE is not defined, just to ensure that Python is build with the correct defines. * setup.py now compiles _pickle.c with Py_BUILD_CORE_MODULE define. * setup.py compiles _json.c with Py_BUILD_CORE_MODULE define, rather than Py_BUILD_CORE_BUILTIN define * PCbuild/pythoncore.vcxproj: Add Py_BUILD_CORE_BUILTIN define.
* bpo-31904: Don't build the _crypt extension on VxWorks (GH-12833)pxinwr2019-04-151-0/+1
|
* bpo-36618: Don't add -fmax-type-align flag to old clang (GH-12811)Victor Stinner2019-04-121-2/+2
|
* bpo-36618: Add -fmax-type-align=8 flag for clang (GH-12809)Victor Stinner2019-04-121-0/+8
| | | | | | | | | | | | | | Add -fmax-type-align=8 to CFLAGS when clang compiler is detected. The pymalloc memory allocator aligns memory on 8 bytes. On x86-64, clang expects alignment on 16 bytes by default and so uses MOVAPS instruction which can lead to segmentation fault. Instruct clang that Python is limited to alignemnt on 8 bytes to use MOVUPS instruction instead: slower but don't trigger a SIGSEGV if the memory is not aligned on 16 bytes. Sadly, the flag must be expected to CFLAGS and not just CFLAGS_NODIST, since third party C extensions can have the same issue.
* bpo-36605: make tags: parse Modules/_io directory (GH-12789)Victor Stinner2019-04-111-0/+2
| | | | "make tags" and "make TAGS" now also parse Modules/_io/*.c and Modules/_io/*.h.
* bpo-36577: setup.py reports missing OpenSSL again (GH-12746)Christian Heimes2019-04-091-0/+1
| | | | | | | | | | | [bpo-36146](https://bugs.python.org/issue36146) introduced another regression. In case of missing OpenSSL libraries or headers, setup.py no longer reported _hashlib and _ssl to be missing. Signed-off-by: Christian Heimes <christian@python.org> https://bugs.python.org/issue36577
* bpo-36508: python-config don't export LINKFORSHARED (GH-12661)Victor Stinner2019-04-091-0/+3
| | | | | python-config --ldflags no longer includes flags of the LINKFORSHARED variable. The LINKFORSHARED variable must only be used to build executables.
* bpo-36544 : Fix regression introduced in bpo-36146 (GH-12708)xdegaye2019-04-091-0/+1
| | | https://bugs.python.org/issue36544
* bpo-36503: remove references to 'aix3' and 'aix4' (GH-12658)Michael Felt2019-04-081-0/+2
|
* v3.8.0a3v3.8.0a3Łukasz Langa2019-03-254-6/+0
|
* bpo-36356: Fix memory leak in _PyPreConfig_Read() (GH-12425)btharper2019-03-191-0/+1
| | | _PyPreConfig_Read() now free 'old_old' at exit.
* bpo-36146: Add TEST_EXTENSIONS to setup.py (GH-12129)Victor Stinner2019-03-011-0/+2
| | | | | | | | | | | | | Add TEST_EXTENSIONS constant to setup.py to allow to not build test extensions like _testcapi. Changes: * Add add_ldflags_cppflags() subfunction * Rename add_compiler_directories() to configure_compiler(). * Remove unused COMPILED_WITH_PYDEBUG constant. * Use self.add() rather than accessing directly self.extensions. * Remove module_enabled() function: check differently if curses extension is built or not.
* bpo-36146: Fix inc_dirs in setup.py on macOS (GH-12098)Victor Stinner2019-03-011-0/+2
| | | | Fix setup.py on macOS: only add /usr/include/ffi to include directories of _ctypes, not for all extensions.
* bpo-31904: Add cross-build support for VxWorks RTOS (GH-11968)pxinwr2019-02-271-0/+1
|
* [blurb] v3.8.0a1Łukasz Langa2019-02-0337-70/+0
|
* bpo-34691: Compile _contextvars module into main Python library (GH-11741)Steve Dower2019-02-021-0/+2
|
* bpo-35683: Improve Azure Pipelines steps (GH-11493)Steve Dower2019-01-221-0/+1
|
* bpo-35642: Remove asynciomodule.c from pythoncore.vcxproj (GH-11410)Gregory Szorc2019-01-081-0/+1
| | | This module is built by _asyncio.vcxproj and does not need to be included in pythoncore.
* bpo-35550: Fix incorrect Solaris define guards (GH-11275)Jakub Kulík2018-12-311-0/+1
| | | | | | | Python source code uses on several places ifdef sun or defined(sun) without the underscores, which is not standard compliant and shouldn't be used. Defines should check for __sun instead. Reference: http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system#Solaris https://bugs.python.org/issue35550
* bpo-35257: Avoid leaking LTO linker flags into distutils (GH-10900)stratakis2018-12-191-0/+2
| | | | | | When compiling 3rd party C extensions, the linker flags used by the compiler for the interpreter and the stdlib modules, will get leaked into distutils. In order to avoid that, the PY_CORE_LDFLAGS and PY_LDFLAGS_NODIST are introduced to keep those flags separated.
* bpo-35499: make profile-opt don't override CFLAGS_NODIST (GH-11164)Victor Stinner2018-12-161-0/+3
| | | | | "make profile-opt" no longer replaces CFLAGS_NODIST with CFLAGS. It now adds profile-guided optimization (PGO) flags to CFLAGS_NODIST, existing CFLAGS_NODIST flags are kept.