From: Xavier de Gaye Date: Sat, 10 Sep 2016 14:19:45 +0000 (+0200) Subject: Issue #28046: Fix get_sysconfigdata_name(). X-Git-Tag: v3.6.0b1~93 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b32e869eb1f63907c54aacf725601d637f1171c1;p=python Issue #28046: Fix get_sysconfigdata_name(). --- diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py index c2f28f5454..13275dea34 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)