summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/sysconfig.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
index c2f28f5..13275de 100644
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -342,12 +342,19 @@ def get_makefile_filename():
return os.path.join(get_path('stdlib'), config_dir_name, 'Makefile')
-def _get_sysconfigdata_name():
- return '_sysconfigdata_{abi}_{platform}_{multiarch}'.format(
- abi=sys.abiflags,
- platform=sys.platform,
- multiarch=getattr(sys.implementation, '_multiarch', ''),
- )
+def _get_sysconfigdata_name(vars=None):
+ if vars is None:
+ return '_sysconfigdata_{abi}_{platform}_{multiarch}'.format(
+ abi=sys.abiflags,
+ platform=sys.platform,
+ multiarch=getattr(sys.implementation, '_multiarch', ''),
+ )
+ else:
+ return '_sysconfigdata_{abi}_{platform}_{multiarch}'.format(
+ abi=vars['ABIFLAGS'],
+ platform=vars['MACHDEP'],
+ multiarch=vars.get('MULTIARCH', ''),
+ )
def _generate_posix_vars():
@@ -390,7 +397,7 @@ def _generate_posix_vars():
# _sysconfigdata module manually and populate it with the build vars.
# This is more than sufficient for ensuring the subsequent call to
# get_platform() succeeds.
- name = _get_sysconfigdata_name()
+ name = _get_sysconfigdata_name(vars)
if 'darwin' in sys.platform:
import types
module = types.ModuleType(name)