[pypy-commit] pypy default: Make customize_compiler idempotent
stefanor
pypy.commits at gmail.com
Wed Aug 31 02:56:40 EDT 2016
Author: Stefano Rivera <stefano at rivera.za.net>
Branch:
Changeset: r86761:a95e07807311
Date: 2016-08-30 23:55 -0700
http://bitbucket.org/pypy/pypy/changeset/a95e07807311/
Log: Make customize_compiler idempotent
Otherwise, it modifies the mutable list on the class, which leads to
later unhappiness
diff --git a/lib-python/2.7/distutils/sysconfig_pypy.py b/lib-python/2.7/distutils/sysconfig_pypy.py
--- a/lib-python/2.7/distutils/sysconfig_pypy.py
+++ b/lib-python/2.7/distutils/sysconfig_pypy.py
@@ -122,22 +122,24 @@
"""Dummy method to let some easy_install packages that have
optional C speedup components.
"""
+ def customize(executable, flags):
+ command = compiler.executables[executable] + flags
+ setattr(compiler, executable, command)
+
if compiler.compiler_type == "unix":
compiler.compiler_so.extend(['-O2', '-fPIC', '-Wimplicit'])
compiler.shared_lib_extension = get_config_var('SO')
if "CPPFLAGS" in os.environ:
cppflags = shlex.split(os.environ["CPPFLAGS"])
- compiler.compiler.extend(cppflags)
- compiler.compiler_so.extend(cppflags)
- compiler.linker_so.extend(cppflags)
+ for executable in ('compiler', 'compiler_so', 'linker_so'):
+ customize(executable, cppflags)
if "CFLAGS" in os.environ:
cflags = shlex.split(os.environ["CFLAGS"])
- compiler.compiler.extend(cflags)
- compiler.compiler_so.extend(cflags)
- compiler.linker_so.extend(cflags)
+ for executable in ('compiler', 'compiler_so', 'linker_so'):
+ customize(executable, cflags)
if "LDFLAGS" in os.environ:
ldflags = shlex.split(os.environ["LDFLAGS"])
- compiler.linker_so.extend(ldflags)
+ customize('linker_so', ldflags)
from sysconfig_cpython import (
More information about the pypy-commit
mailing list