summaryrefslogtreecommitdiffstats
path: root/Misc/NEWS.d/next/Build
Commit message (Collapse)AuthorAgeFilesLines
* gh-104692: Include commoninstall as a prerequisite for bininstall (#104693)Jeffery To2023-06-071-0/+6
| | | | | | | | | This ensures that `commoninstall` is completed before `bininstall` is started when parallel builds are used (`make -j install`), and so the `python3` symlink is only installed after all standard library modules are installed. Co-authored-by: Zachary Ware <zachary.ware@gmail.com>
* gh-90005: Don't link with libbsd if not needed (#105236)Erlend E. Aasland2023-06-061-0/+1
| | | | The regression was introduced with commit 5b946cada. Restore pre gh-29696 behaviour.
* GH-102404, GH-100956: Document how to do a WASI build (GH-105251)Brett Cannon2023-06-021-0/+2
| | | Also includes a reference shell script to implements what is documented.
* GH-89886: Bump to GNU Autoconf v2.71 (#104925)Erlend E. Aasland2023-06-011-0/+2
| | | Co-authored-by: Christian Heimes <christian@python.org>
* Python 3.12.0b1v3.12.0b1Thomas Wouters2023-05-228-23/+0
|
* gh-101282: Apply BOLT optimizations to libpython for shared builds (#104709)Gregory Szorc2023-05-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply BOLT optimizations to libpython for shared builds. Most of the C code is in libpython so it is critical to apply BOLT there fully realize BOLT benefits. This change also reworks how BOLT instrumentation is applied. It effectively removes the readelf based logic added in gh-101525 and replaces it with a mechanism that saves a copy of the pre-bolt binary and restores that copy when necessary. This allows us to perform BOLT optimizations without having to manually delete the output binary to force a new bolt run. Also: - add a clean-bolt target for purging BOLT files and hook that up to the clean target - .gitignore BOLT related files Before and after this refactor, `make` will no-op after a previous run. Both versions should also share common make DAG deficiencies where targets fail to trigger as often as they need to or can trigger prematurely in certain scenarios. e.g. after this change you may need to `rm profile-bolt-stamp` to force a BOLT run because there aren't appropriate non-phony targets for BOLT's make target to depend on. To make it easier to iterate on custom BOLT settings, the flags to pass to instrumentation and application are now defined in configure and can be overridden by passing BOLT_INSTRUMENT_FLAGS and BOLT_APPLY_FLAGS.
* gh-104490: Consistently define phony make targets (#104491)Gregory Szorc2023-05-151-0/+1
| | | | | | | | | | | | By convention make targets that don't refer to a file have a dependency on the fake .PHONY target/file. This ensures that these targets are always evaluated because there is no rule to create a .PHONY file and that will force make to think the rule is out of date and needs to be rebuilt. This commit consistently associates virtual targets with .PHONY by declaring the .PHONY dependency immediately above the make rule. This should avoid race conditions and avoidable rebuilds across multiple make invocations.
* gh-104487: PYTHON_FOR_REGEN must be minimum Python 3.10 (#104488)Erlend E. Aasland2023-05-151-0/+1
| | | Also include Python 3.12 in the list of accepted versions.
* gh-90656: Add platform triplets for 64-bit LoongArch (LA64) (#30939)Zhang Na2023-05-091-0/+7
| | | | Signed-off-by: Zhang Na <zhangna@loongson.cn> Co-authored-by: WANG Xuerui <git@xen0n.name>
* gh-104106: Add gcc fallback of mkfifoat/mknodat for macOS (gh-104129)Dong-hee Na2023-05-051-0/+1
|
* gh-103532: Fix reST syntax in NEWS entry (GH-103544)Zachary Ware2023-04-141-1/+1
|
* gh-103532: Add NEWS entry (#103542)Zachary Ware2023-04-141-0/+4
|
* gh-100220: Fix error handling in make rules (GH-100328)Michał Górny2023-04-071-0/+4
| | | | | Set `SHELL = /bin/sh -e` to ensure that complex recipes fail on the first error rather than incorrectly reporting success. Co-authored-by: Zachary Ware <zach@python.org>
* gh-99069: Consolidate checks for static_assert (#94766)Joshua Root2023-04-051-0/+1
| | | | | | | | | | | | | | | | | | | | Several platforms don't define the static_assert macro despite having compiler support for the _Static_assert keyword. The macro needs to be defined since it is used unconditionally in the Python code. So it should always be safe to define it if undefined and not in C++11 (or later) mode. Hence, remove the checks for particular platforms or libc versions, and just define static_assert anytime it needs to be defined but isn't. That way, all platforms that need the fix will get it, regardless of whether someone specifically thought of them. Also document that certain macOS versions are among the platforms that need this. The C2x draft (currently expected to become C23) makes static_assert a keyword to match C++. So only define the macro for up to C17. Co-authored-by: Victor Stinner <vstinner@python.org>
* Python 3.12.0a7v3.12.0a7Thomas Wouters2023-04-042-3/+0
|
* GH-102973: add a dev container (GH-102975)Brett Cannon2023-03-291-0/+2
| | | | | | On content update, builds `python` and the docs. Also adds a Dockerfile that should include everything but autoconf 2.69 that's necessary to build CPython and the entire stdlib on Fedora. Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com> Co-authored-by: Dusty Phillips <dusty@phillips.codes>
* GH-102711: Fix warnings found by clang (#102712)Chenxi Mao2023-03-281-0/+1
| | | | | | | | | | | | | | | | | There are some warnings if build python via clang: Parser/pegen.c:812:31: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] _PyPegen_clear_memo_statistics() ^ void Parser/pegen.c:820:29: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] _PyPegen_get_memo_statistics() ^ void Fix it to make clang happy. Signed-off-by: Chenxi Mao <chenxi.mao@suse.com>
* Python 3.12.0a6v3.12.0a6Thomas Wouters2023-03-074-9/+0
|
* gh-96821: Add config option `--with-strict-overflow` (#96823)Matthias Görgens2023-03-041-0/+3
| | | | | | Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com> Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Co-authored-by: Shantanu <hauntsaninja@gmail.com>
* gh-99942: python.pc on android/cygwin should link to libpython per ↵Eli Schwartz2023-02-221-0/+2
| | | | | | | | | configure.ac (GH-100356) In commit 254b309c801f82509597e3d7d4be56885ef94c11 a previous change to avoid linking to libpython was partially reverted for Android (and later Cygwin as well), to add back the link flags. This was applied to distutils and to python-config.sh, but not to python.pc. Add it back to python.pc as well. Automerge-Triggered-By: GH:gpshead
* gh-99942: correct the pkg-config/python-config flags for cygwin/androidEli Schwartz2023-02-161-0/+2
|
* gh-100221: Fix creating dirs in `make sharedinstall` (GH-100329)Michał Górny2023-02-081-0/+2
| | | | | Fix creating install directories in `make sharedinstall` if they exist already outside `DESTDIR`. The previous make rules assumed that the directories would be created via a dependency on a rule for `$(DESTSHARED)` that did not fire if the directory did exist outside `$(DESTDIR)`. While technically `$(DESTDIR)` could be prepended to the rule name, moving the rules for creating directories straight into the `sharedinstall` rule seems to fit the common practices better. Since the rule explicitly checks whether the individual directories exist anyway, there seems to be no reason to rely on make determining that implicitly as well.
* Python 3.12.0a5v3.12.0a5Thomas Wouters2023-02-079-19/+0
|
* gh-101282: Update BOLT --split-functions flag not to use deprecated u… ↵Dong-hee Na2023-02-041-0/+2
| | | | | (gh-101557) gh-101282: Update BOLT --split-functions flag not to use deprecated usage
* gh-101522: Allow overriding Windows dependencies versions and paths using ↵Steve Dower2023-02-031-0/+2
| | | | MSBuild properties (GH-101523)
* gh-98705: Fix AIX build by undefining `__bool__` in C (#98768)Ayappan Perumal2023-02-021-0/+2
|
* gh-96305: Fix AIX build by avoiding subprocess during bootstrap (#96429)Ayappan Perumal2023-02-021-0/+2
| | | * Fix AIX build by avoiding `subprocess` during bootstrap.
* gh-77532: Minor tweaks to allow compiling with PlatformToolset=ClangCL on ↵Steve Dower2023-01-271-0/+1
| | | | | | Windows (GH-101352) To use this, ensure that clang support was selected in Visual Studio Installer, then set the PlatformToolset environment variable to "ClangCL" and build as normal from the command line. It remains unsupported, but at least is possible now for experimentation.
* gh-101060: conditionally add `-fno-reorder-blocks-and-partition` (gh-101061)Gregory Szorc2023-01-241-0/+3
|
* gh-101152: Implement PEP 699 (GH-101193)ram vikram singh2023-01-241-0/+3
| | | | Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> Co-authored-by: Ken Jin <kenjin@python.org>
* gh-100340: Allows -Wno-int-conversion for wasm (#100341)Kushal Das2023-01-181-0/+2
| | | Fixes #100340 allows -Wno-int-conversion for wasm
* gh-98636: Fix detecting gdbm_compat for _dbm module (#98643)Michał Górny2023-01-111-0/+2
| | | | | | Fix the gdbm_compat library detection logic to actually check for -lgdbm_compat independently of the ndbm detection. This fixes the build failure with `--with-dbmliborder=gdbm`, and implicit fallback to ndbm with the default value.
* Python 3.12.0a4v3.12.0a4Thomas Wouters2023-01-103-11/+0
|
* gh-86082: bpo-41916: allow cross-compiled python to have -pthread set for ↵Dustin Spicuzza2023-01-051-0/+2
| | | | | | | CXX (#22525) When cross-compiling, the compile/run test for -pthread always fails so -pthread will never be automatically set without an override from the cache. ac_cv_pthread can already be overridden, so do the same thing for ac_cv_cxx_thread.
* gh-100540: Remove obsolete '--with-system-ffi' configure option (GH-100544)Zachary Ware2022-12-281-0/+8
| | | | | It has had no effect on non-macOS platforms for a long time, and has had the non-obvious effect of invoking `pkg_config` and not setting `-DUSING_APPLE_OS_LIBFFI` on macOS since GH-22855.
* gh-88267: Avoid DLL exporting functions from static builds on Windows(GH-99888)Christian Rendina2022-12-091-0/+1
|
* Python 3.12.0a3v3.12.0a3Thomas Wouters2022-12-065-10/+0
|
* gh-99086: Fix -Wstrict-prototypes, -Wimplicit-function-declaration warnings ↵Sam James2022-11-261-0/+1
| | | | | | | in configure.ac (#99406) Follow up to 12078e78f6e4a21f344e4eaff529e1ff3b97734f.
* gh-98872: Fix a possible resource leak in Python 3.11.0 (GH-99047)SQLPATCH2022-11-241-0/+1
| | | | | Issue: #98872 Automerge-Triggered-By: GH:kumaraditya303
* gh-88226: Emit TARGET labels in Python/ceval.c when debugging, even if ↵Skip Montanaro2022-11-221-0/+3
| | | | | | | computed gotos aren't enabled (GH-98265) Keep target labels when debugging, but don't warn about lack of use. Co-authored-by: Eryk Sun <eryksun@gmail.com>
* gh-99337: Fix compile errors with gcc 12 on macOS (#99470)Ronald Oussoren2022-11-211-0/+1
| | | | | | | | Fix a number of compile errors with GCC-12 on macOS: 1. In pylifecycle.c the compile rejects _Pragma within a declaration 2. posixmodule.c was missing a number of ..._RUNTIME macros for non-clang on macOS 3. _ctypes assumed that __builtin_available is always present on macOS
* Merge the 3.12.0a2 release into main.Thomas Wouters2022-11-151-0/+4
|\
| * gh-99289: Add COMPILEALL_OPTS to Makefile (#99291)Victor Stinner2022-11-141-0/+4
| | | | | | | | | | | | | | | | Add COMPILEALL_OPTS variable in Makefile to override compileall options (default: -j0) in "make install". Also merge the compileall commands into a single command building PYC files for the all optimization levels (0, 1, 2) at once. Co-authored-by: Gregory P. Smith <greg@krypto.org>
* | Python 3.12.0a2v3.12.0a2Thomas Wouters2022-11-149-23/+0
|/
* gh-98707: configure --with-system-libmpdec and --with-system-expat no longer ↵Miro Hrončok2022-11-111-0/+4
| | | | include vendored headers (#98711)
* gh-98817: Remove PCbuild/lib.pyproj (GH-98818)Hugo van Kemenade2022-11-071-0/+3
|
* GH-98831: Implement super-instruction generation (#99084)Guido van Rossum2022-11-061-1/+9
| | | Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
* gh-99086: Fix implicit int compiler warning in configure check for ↵Sam James2022-11-051-0/+1
| | | | PTHREAD_SCOPE_SYSTEM (#99085)
* gh-98948: Remove obsolete readelf dependency (#98949)serge-sans-paille2022-11-031-0/+1
| | | | | This got introduced in commit 5884449539510313c826d69835829c7957c7154a to determine if readline is already linked against curses or tinfo in the setup.py, which is no longer present.
* GH-98831: "Generate" the interpreter (#98830)Guido van Rossum2022-11-031-0/+1
| | | | | | | | | | | The switch cases (really TARGET(opcode) macros) have been moved from ceval.c to generated_cases.c.h. That file is generated from instruction definitions in bytecodes.c (which impersonates a C file so the C code it contains can be edited without custom support in e.g. VS Code). The code generator lives in Tools/cases_generator (it has a README.md explaining how it works). The DSL used to describe the instructions is a work in progress, described in https://github.com/faster-cpython/ideas/blob/main/3.12/interpreter_definition.md. This is surely a work-in-progress. An easy next step could be auto-generating super-instructions. **IMPORTANT: Merge Conflicts** If you get a merge conflict for instruction implementations in ceval.c, your best bet is to port your changes to bytecodes.c. That file looks almost the same as the original cases, except instead of `TARGET(NAME)` it uses `inst(NAME)`, and the trailing `DISPATCH()` call is omitted (the code generator adds it automatically).