Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
[3.11] gh-104692: Include commoninstall as a prerequisite for bininst…
…all (GH-104693)

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>.
(cherry picked from commit 990cb36)

Co-authored-by: Jeffery To <jeffery.to@gmail.com>
  • Loading branch information
jefferyto committed Jun 7, 2023
commit 94d5d97e6e267dc14ea236b4806c2e32678cf186
6 changes: 5 additions & 1 deletion Makefile.pre.in
Original file line number Diff line number Diff line change
Expand Up @@ -1839,7 +1839,11 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@
$(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE); \
fi

bininstall: altbininstall
# We depend on commoninstall here to make sure the installation is already usable
# before we possibly overwrite the global 'python3' symlink to avoid causing
# problems for anything else trying to run 'python3' while we install, particularly
# if we're installing in parallel with -j.
bininstall: commoninstall altbininstall
if test ! -d $(DESTDIR)$(LIBPC); then \
echo "Creating directory $(LIBPC)"; \
$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC); \
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Include ``commoninstall`` as a prerequisite for ``bininstall``

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.