forked from msys2/MINGW-packages
-
Notifications
You must be signed in to change notification settings - Fork 47
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
boost: Fix build multiple python modules. Rebuild
- Loading branch information
Showing
2 changed files
with
39 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
From 78ffbe094400d277627b2c19ceb182d637b8baca Mon Sep 17 00:00:00 2001 | ||
From: Rene Rivera <[email protected]> | ||
Date: Sat, 16 Jul 2016 15:53:30 -0500 | ||
Subject: [PATCH] Fix not having a default python interpreter version on | ||
targets. | ||
|
||
This change adds a toolset requirement that sets the python version | ||
feature of the first configured python for a given target OS (usually | ||
the host OS). This allows to correctly configure different python | ||
interpreters for different target OSes. | ||
--- | ||
a/tools/build/src/tools/python.jam | 11 +++++++++++ | ||
1 file changed, 11 insertions(+) | ||
|
||
diff --git a/tools/build/src/tools/python.jam b/tools/build/src/tools/python.jam | ||
index 6404d8ad37..6ee32167fc 100644 | ||
--- a/tools/build/src/tools/python.jam | ||
+++ b/tools/build/src/tools/python.jam | ||
@@ -900,6 +900,19 @@ local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? : | ||
toolset.add-requirements | ||
$(target-requirements:J=,):<python.interpreter>$(interpreter-cmd) ; | ||
|
||
+ # We also set a default requirement that assigns the first python configured | ||
+ # for a particular target OS as the default. This makes it so that we can | ||
+ # select a python interpreter with only knowledge of the target OS. And hence | ||
+ # can configure different Pythons based on the target OS only. | ||
+ local toolset-requirements = [ toolset.requirements ] ; | ||
+ local toolset-target-os-requirements | ||
+ = [ property.evaluate-conditionals-in-context | ||
+ [ $(toolset-requirements).raw ] : <target-os>$(target-os) ] ; | ||
+ if ! <python> in $(toolset-target-os-requirements:G) | ||
+ { | ||
+ toolset.add-requirements <target-os>$(target-os):<python>$(version:E=default) ; | ||
+ } | ||
+ | ||
# Register the right suffix for extensions. | ||
register-extension-suffix $(extension-suffix) : $(target-requirements) ; | ||
|