diff -r 0a329f94448d Lib/sysconfig.py --- a/Lib/sysconfig.py Mon Nov 11 15:08:40 2013 +0000 +++ b/Lib/sysconfig.py Mon Nov 11 14:55:01 2013 -0500 @@ -409,6 +409,10 @@ # _sysconfigdata is generated at build time, see _generate_posix_vars() from _sysconfigdata import build_time_vars vars.update(build_time_vars) + # For backward compatibility, see issue19555 + SO = build_time_vars.get('EXT_SUFFIX') + if SO is not None: + vars['SO'] = SO def _init_non_posix(vars): """Initialize the module as appropriate for NT""" @@ -579,6 +583,9 @@ Equivalent to get_config_vars().get(name) """ + if name == 'SO': + import warnings + warnings.warn('SO is deprecated, use EXT_SUFFIX', DeprecationWarning) return get_config_vars().get(name) diff -r 0a329f94448d Lib/test/test_sysconfig.py --- a/Lib/test/test_sysconfig.py Mon Nov 11 15:08:40 2013 +0000 +++ b/Lib/test/test_sysconfig.py Mon Nov 11 14:55:01 2013 -0500 @@ -369,6 +369,25 @@ os.chdir(cwd) self.assertEqual(srcdir, srcdir2) + @unittest.skipIf(sysconfig.get_config_var('EXT_SUFFIX') is None, + 'EXT_SUFFIX required for this test') + def test_SO_deprecation(self): + self.assertWarns(DeprecationWarning, + sysconfig.get_config_var, 'SO') + + @unittest.skipIf(sysconfig.get_config_var('EXT_SUFFIX') is None, + 'EXT_SUFFIX required for this test') + def test_SO_value(self): + self.assertEqual(sysconfig.get_config_var('SO'), + sysconfig.get_config_var('EXT_SUFFIX')) + + @unittest.skipIf(sysconfig.get_config_var('EXT_SUFFIX') is None, + 'EXT_SUFFIX required for this test') + def test_SO_in_vars(self): + vars = sysconfig.get_config_vars() + self.assertIsNotNone(vars['SO']) + self.assertEqual(vars['SO'], vars['EXT_SUFFIX']) + class MakefileTests(unittest.TestCase):