| From 78ffbe094400d277627b2c19ceb182d637b8baca Mon Sep 17 00:00:00 2001 |
| From: Rene Rivera <grafikrobot@gmail.com> |
| 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) ; |
| |