diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2016-01-18 11:15:08 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2016-01-18 11:15:08 (GMT) |
commit | 9def2843873edde3feec6eaf2ee60c4e48172164 (patch) | |
tree | 9a7e862b8677c29fd877d55ea38b37d680087cfd /Lib/distutils/util.py | |
parent | c437d0cb4e99bd58ff0150414b5d5f0b26605687 (diff) | |
download | cpython-9def2843873edde3feec6eaf2ee60c4e48172164.zip cpython-9def2843873edde3feec6eaf2ee60c4e48172164.tar.gz cpython-9def2843873edde3feec6eaf2ee60c4e48172164.tar.bz2 |
subprocess._optim_args_from_interpreter_flags()
Issue #26100:
* Add subprocess._optim_args_from_interpreter_flags()
* Add test.support.optim_args_from_interpreter_flags()
* Use new functions in distutils, test_cmd_line_script, test_compileall and
test_inspect
The change enables test_details() test of test_inspect when -O or -OO command
line option is used.
Diffstat (limited to 'Lib/distutils/util.py')
-rw-r--r-- | Lib/distutils/util.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py index e423325..fdcf6fa 100644 --- a/Lib/distutils/util.py +++ b/Lib/distutils/util.py @@ -7,8 +7,8 @@ one of the other *util.py modules. import os import re import importlib.util -import sys import string +import sys from distutils.errors import DistutilsPlatformError from distutils.dep_util import newer from distutils.spawn import spawn @@ -350,6 +350,11 @@ def byte_compile (py_files, generated in indirect mode; unless you know what you're doing, leave it set to None. """ + + # Late import to fix a bootstrap issue: _posixsubprocess is built by + # setup.py, but setup.py uses distutils. + import subprocess + # nothing is done if sys.dont_write_bytecode is True if sys.dont_write_bytecode: raise DistutilsByteCompileError('byte-compiling is disabled.') @@ -412,11 +417,9 @@ byte_compile(files, optimize=%r, force=%r, script.close() - cmd = [sys.executable, script_name] - if optimize == 1: - cmd.insert(1, "-O") - elif optimize == 2: - cmd.insert(1, "-OO") + cmd = [sys.executable] + cmd.extend(subprocess._optim_args_from_interpreter_flags()) + cmd.append(script_name) spawn(cmd, dry_run=dry_run) execute(os.remove, (script_name,), "removing %s" % script_name, dry_run=dry_run) |