Permalink
Browse files

build: make configure.py compatible with python 3

This patch replaces the following

1. Usage of `filter` with `None` to remove falsy items.
2. Usage of `map` to create lists. (Replaced with List comprehensions).
3. Dictionary's `iteritems` which is removed in Python 3.

PR-URL: #25580
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
  • Loading branch information...
thefourtheye authored and addaleax committed Jan 19, 2019
1 parent 021d197 commit 30949f8dba92c82229fdac74d286ae6ec1a2a5f5
Showing with 6 additions and 5 deletions.
  1. +6 −5 configure.py
@@ -1142,8 +1142,8 @@ def configure_library(lib, output):
if options.__dict__[shared_lib + '_includes']:
output['include_dirs'] += [options.__dict__[shared_lib + '_includes']]
elif pkg_cflags:
output['include_dirs'] += (
filter(None, map(str.strip, pkg_cflags.split('-I'))))
stripped_flags = [flag.strip() for flag in pkg_cflags.split('-I')]
output['include_dirs'] += [flag for flag in stripped_flags if flag]

# libpath needs to be provided ahead libraries
if options.__dict__[shared_lib + '_libpath']:
@@ -1159,7 +1159,7 @@ def configure_library(lib, output):
output['libraries'] += [pkg_libpath]

default_libs = getattr(options, shared_lib + '_libname')
default_libs = map('-l{0}'.format, default_libs.split(','))
default_libs = ['-l{0}'.format(lib) for lib in default_libs.split(',')]

if default_libs:
output['libraries'] += default_libs
@@ -1385,7 +1385,8 @@ def write_config(data, name):
# safe to split, cannot contain spaces
o['libraries'] += libs.split()
if cflags:
o['include_dirs'] += filter(None, map(str.strip, cflags.split('-I')))
stripped_flags = [flag.strip() for flag in cflags.split('-I')]
o['include_dirs'] += [flag for flag in stripped_flags if flag]
# use the "system" .gyp
o['variables']['icu_gyp_path'] = 'tools/icu/icu-system.gyp'
return
@@ -1666,7 +1667,7 @@ def make_bin_override():
if options.prefix:
config['PREFIX'] = options.prefix

config = '\n'.join(map('='.join, config.iteritems())) + '\n'
config = '\n'.join(['='.join(item) for item in config.items()]) + '\n'

# On Windows there's no reason to search for a different python binary.
bin_override = None if sys.platform == 'win32' else make_bin_override()

0 comments on commit 30949f8

Please sign in to comment.