mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-28 12:13:37 +08:00
Make build-many-glibcs.py work on python3.2
I used this patch to run the new build script with python3.2, it may be worth adding this hack if python3.5 is not widespread (might work with older python, i haven't tested that). This patch make build-many-glibcs.py work with python 3.2 by adding fallback implementation to python 3.5 facilities if they are not present. Checked building a x86_64-linux-gnu toolchain with python 3.2. 2016-11-22 Szabolcs Nagy <szabolcs.nagy@arm.com> * scripts/build-many-glibcs.py (os.cpu_count): Add compatibility definition. (re.fullmatch, subprocess.run): Likewise.
This commit is contained in:
parent
77847b5cc3
commit
64235ccc11
@ -1,3 +1,8 @@
|
|||||||
|
2017-01-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||||||
|
|
||||||
|
* scripts/build-many-glibcs.py (os.cpu_count): Add compatibility definition.
|
||||||
|
(re.fullmatch, subprocess.run): Likewise.
|
||||||
|
|
||||||
2016-01-11 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
2016-01-11 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
||||||
|
|
||||||
* po/libc.pot: Regenerate.
|
* po/libc.pot: Regenerate.
|
||||||
|
@ -49,6 +49,43 @@ import sys
|
|||||||
import time
|
import time
|
||||||
import urllib.request
|
import urllib.request
|
||||||
|
|
||||||
|
try:
|
||||||
|
os.cpu_count
|
||||||
|
except:
|
||||||
|
import multiprocessing
|
||||||
|
os.cpu_count = lambda: multiprocessing.cpu_count()
|
||||||
|
|
||||||
|
try:
|
||||||
|
re.fullmatch
|
||||||
|
except:
|
||||||
|
re.fullmatch = lambda p,s,f=0: re.match(p+"\\Z",s,f)
|
||||||
|
|
||||||
|
try:
|
||||||
|
subprocess.run
|
||||||
|
except:
|
||||||
|
class _CompletedProcess:
|
||||||
|
def __init__(self, args, returncode, stdout=None, stderr=None):
|
||||||
|
self.args = args
|
||||||
|
self.returncode = returncode
|
||||||
|
self.stdout = stdout
|
||||||
|
self.stderr = stderr
|
||||||
|
|
||||||
|
def _run(*popenargs, input=None, timeout=None, check=False, **kwargs):
|
||||||
|
assert(timeout is None)
|
||||||
|
with subprocess.Popen(*popenargs, **kwargs) as process:
|
||||||
|
try:
|
||||||
|
stdout, stderr = process.communicate(input)
|
||||||
|
except:
|
||||||
|
process.kill()
|
||||||
|
process.wait()
|
||||||
|
raise
|
||||||
|
returncode = process.poll()
|
||||||
|
if check and returncode:
|
||||||
|
raise subprocess.CalledProcessError(returncode, popenargs)
|
||||||
|
return _CompletedProcess(popenargs, returncode, stdout, stderr)
|
||||||
|
|
||||||
|
subprocess.run = _run
|
||||||
|
|
||||||
|
|
||||||
class Context(object):
|
class Context(object):
|
||||||
"""The global state associated with builds in a given directory."""
|
"""The global state associated with builds in a given directory."""
|
||||||
|
Loading…
Reference in New Issue
Block a user