From fc93b3cc23b4f9698ae92a42986dbb02b6f19588 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Sun, 18 Jan 2015 06:29:50 -0800 Subject: [PATCH] sysconfig.py: add _PYTHON_PROJECT_SRC python3 has introduced _PYTHON_PROJECT_BASE which is used for separate B and S, but it doesn't work when compile Modules, the target python3 runs python3-native's sysconfig to get srcdir which is the native's, there would be errors when native's srcdir has been removed, add _PYTHON_PROJECT_SRC to fix the problem. Upstream-Status: Pending Signed-off-by: Robert Yang --- Lib/distutils/sysconfig.py | 5 ++++- Lib/sysconfig.py | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) Index: Python-3.5.3/Lib/distutils/sysconfig.py =================================================================== --- Python-3.5.3.orig/Lib/distutils/sysconfig.py +++ Python-3.5.3/Lib/distutils/sysconfig.py @@ -498,7 +498,10 @@ def get_config_vars(*args): _config_vars['SO'] = SO # Always convert srcdir to an absolute path - srcdir = _config_vars.get('srcdir', project_base) + if "_PYTHON_PROJECT_SRC" in os.environ: + srcdir = os.path.abspath(os.environ["_PYTHON_PROJECT_SRC"]) + else: + srcdir = _config_vars.get('srcdir', project_base) if os.name == 'posix': if python_build: # If srcdir is a relative path (typically '.' or '..') Index: Python-3.5.3/Lib/sysconfig.py =================================================================== --- Python-3.5.3.orig/Lib/sysconfig.py +++ Python-3.5.3/Lib/sysconfig.py @@ -544,7 +544,10 @@ def get_config_vars(*args): _CONFIG_VARS['userbase'] = _getuserbase() # Always convert srcdir to an absolute path - srcdir = _CONFIG_VARS.get('srcdir', _PROJECT_BASE) + if "_PYTHON_PROJECT_SRC" in os.environ: + srcdir = os.path.abspath(os.environ["_PYTHON_PROJECT_SRC"]) + else: + srcdir = _CONFIG_VARS.get('srcdir', _PROJECT_BASE) if os.name == 'posix': if _PYTHON_BUILD: # If srcdir is a relative path (typically '.' or '..')