39 lines
1.8 KiB
Diff
39 lines
1.8 KiB
Diff
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) ;
|
|
|