blob: abd0a9646f8a8393618861d5f8f5154f0a9c47cc [file] [log] [blame]
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) ;