diff options
author | Trent Nelson <trent@trent.me> | 2012-10-16 12:13:12 (GMT) |
---|---|---|
committer | Trent Nelson <trent@trent.me> | 2012-10-16 12:13:12 (GMT) |
commit | c101bf32c4011a3c7f3249b8c15bcf95b944095b (patch) | |
tree | 2f9bd362763b518d9482ade7265b23f8a2472171 /Lib/sysconfig.py | |
parent | 8a420227488aa743e20c27368ee64a114c1d651f (diff) | |
download | cpython-c101bf32c4011a3c7f3249b8c15bcf95b944095b.zip cpython-c101bf32c4011a3c7f3249b8c15bcf95b944095b.tar.gz cpython-c101bf32c4011a3c7f3249b8c15bcf95b944095b.tar.bz2 |
Issue #15298: ensure _sysconfigdata is generated in build directory,
not source directory.
Patch by Richard Oudkerk (sbt).
Diffstat (limited to 'Lib/sysconfig.py')
-rw-r--r-- | Lib/sysconfig.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py index ba4024f..41a233b 100644 --- a/Lib/sysconfig.py +++ b/Lib/sysconfig.py @@ -390,13 +390,22 @@ def _generate_posix_vars(): if _PYTHON_BUILD: vars['LDSHARED'] = vars['BLDSHARED'] - destfile = os.path.join(os.path.dirname(__file__), '_sysconfigdata.py') + pybuilddir = 'build/lib.%s-%s' % (get_platform(), sys.version[:3]) + if hasattr(sys, "gettotalrefcount"): + pybuilddir += '-pydebug' + os.makedirs(pybuilddir, exist_ok=True) + destfile = os.path.join(pybuilddir, '_sysconfigdata.py') + with open(destfile, 'w', encoding='utf8') as f: f.write('# system configuration generated and used by' ' the sysconfig module\n') f.write('build_time_vars = ') pprint.pprint(vars, stream=f) + # Create file used for sys.path fixup -- see Modules/getpath.c + with open('pybuilddir.txt', 'w', encoding='ascii') as f: + f.write(pybuilddir) + def _init_posix(vars): """Initialize the module as appropriate for POSIX systems.""" # _sysconfigdata is generated at build time, see _generate_posix_vars() |