Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: py3 configure.py #29106

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 16 additions & 23 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import shlex
import subprocess
import shutil
import string
from distutils.spawn import find_executable as which

# If not run from node/, cd to node/.
Expand Down Expand Up @@ -626,18 +625,14 @@ def print_verbose(x):

def b(value):
"""Returns the string 'true' if value is truthy, 'false' otherwise."""
if value:
return 'true'
else:
return 'false'
return 'true' if value else 'false'

def B(value):
"""Returns 1 if value is truthy, 0 otherwise."""
if value:
return 1
else:
return 0
return 1 if value else 0

def to_utf8(s):
return s if isinstance(s, str) else s.decode("utf-8")

def pkg_config(pkg):
"""Run pkg-config on the specified package
Expand All @@ -652,7 +647,7 @@ def pkg_config(pkg):
try:
proc = subprocess.Popen(shlex.split(pkg_config) + args,
stdout=subprocess.PIPE)
val = proc.communicate()[0].strip()
val = to_utf8(proc.communicate()[0]).strip()
except OSError as e:
if e.errno != errno.ENOENT: raise e # Unexpected error.
return (None, None, None, None) # No pkg-config/pkgconf installed.
Expand All @@ -668,10 +663,10 @@ def try_check_compiler(cc, lang):
except OSError:
return (False, False, '', '')

proc.stdin.write('__clang__ __GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__ '
'__clang_major__ __clang_minor__ __clang_patchlevel__')
proc.stdin.write(b'__clang__ __GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__ '
b'__clang_major__ __clang_minor__ __clang_patchlevel__')

values = (proc.communicate()[0].split() + ['0'] * 7)[0:7]
values = (to_utf8(proc.communicate()[0]).split() + ['0'] * 7)[0:7]
is_clang = values[0] == '1'
gcc_version = tuple(map(int, values[1:1+3]))
clang_version = tuple(map(int, values[4:4+3])) if is_clang else None
Expand All @@ -696,7 +691,7 @@ def get_version_helper(cc, regexp):
consider adjusting the CC environment variable if you installed
it in a non-standard prefix.''')

match = re.search(regexp, proc.communicate()[1])
match = re.search(regexp, to_utf8(proc.communicate()[1]))

if match:
return match.group(2)
Expand All @@ -715,7 +710,7 @@ def get_nasm_version(asm):
return '0'

match = re.match(r"NASM version ([2-9]\.[0-9][0-9]+)",
proc.communicate()[0])
to_utf8(proc.communicate()[0]))

if match:
return match.group(1)
Expand Down Expand Up @@ -746,7 +741,7 @@ def get_gas_version(cc):
consider adjusting the CC environment variable if you installed
it in a non-standard prefix.''')

gas_ret = proc.communicate()[1]
gas_ret = to_utf8(proc.communicate()[1])
match = re.match(r"GNU assembler version ([2-9]\.[0-9]+)", gas_ret)

if match:
Expand Down Expand Up @@ -811,10 +806,8 @@ def cc_macros(cc=None):
consider adjusting the CC environment variable if you installed
it in a non-standard prefix.''')

p.stdin.write('\n')
out = p.communicate()[0]

out = str(out).split('\n')
p.stdin.write(b'\n')
out = to_utf8(p.communicate()[0]).split('\n')

k = {}
for line in out:
Expand Down Expand Up @@ -1294,7 +1287,7 @@ def glob_to_var(dir_base, dir_sub, patch_dir):

def configure_intl(o):
def icu_download(path):
depFile = 'tools/icu/current_ver.dep';
depFile = 'tools/icu/current_ver.dep'
with open(depFile) as f:
icus = json.load(f)
# download ICU, if needed
Expand Down Expand Up @@ -1363,7 +1356,7 @@ def write_config(data, name):
o['variables']['icu_small'] = b(True)
locs = set(options.with_icu_locales.split(','))
locs.add('root') # must have root
o['variables']['icu_locales'] = string.join(locs,',')
o['variables']['icu_locales'] = ','.join(str(loc) for loc in locs)
# We will check a bit later if we can use the canned deps/icu-small
elif with_intl == 'full-icu':
# full ICU
Expand Down Expand Up @@ -1503,7 +1496,7 @@ def write_config(data, name):
elif int(icu_ver_major) < icu_versions['minimum_icu']:
error('icu4c v%s.x is too old, v%d.x or later is required.' %
(icu_ver_major, icu_versions['minimum_icu']))
icu_endianness = sys.byteorder[0];
icu_endianness = sys.byteorder[0]
o['variables']['icu_ver_major'] = icu_ver_major
o['variables']['icu_endianness'] = icu_endianness
icu_data_file_l = 'icudt%s%s.dat' % (icu_ver_major, 'l')
Expand Down