{android,win32}/build.py: concatenate variables from the command line
This commit is contained in:
parent
856fe2da15
commit
07b06d76be
|
@ -154,5 +154,9 @@ configure = [
|
||||||
|
|
||||||
] + configure_args
|
] + configure_args
|
||||||
|
|
||||||
|
from build.cmdline import concatenate_cmdline_variables
|
||||||
|
configure = concatenate_cmdline_variables(configure,
|
||||||
|
set(('CFLAGS', 'CXXFLAGS', 'CPPFLAGS', 'LDFLAGS', 'LIBS')))
|
||||||
|
|
||||||
subprocess.check_call(configure, env=toolchain.env)
|
subprocess.check_call(configure, env=toolchain.env)
|
||||||
subprocess.check_call(['/usr/bin/make', '--quiet', '-j12'], env=toolchain.env)
|
subprocess.check_call(['/usr/bin/make', '--quiet', '-j12'], env=toolchain.env)
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
def concatenate_cmdline_variables(src, names):
|
||||||
|
"""Find duplicate variable declarations on the given source list, and
|
||||||
|
concatenate the values of those in the 'names' list."""
|
||||||
|
|
||||||
|
# the result list being constructed
|
||||||
|
dest = []
|
||||||
|
|
||||||
|
# a map of variable name to destination list index
|
||||||
|
positions = {}
|
||||||
|
|
||||||
|
for item in src:
|
||||||
|
i = item.find('=')
|
||||||
|
if i > 0:
|
||||||
|
# it's a variable
|
||||||
|
name = item[:i]
|
||||||
|
if name in names:
|
||||||
|
# it's a known variable
|
||||||
|
if name in positions:
|
||||||
|
# already specified: concatenate instead of
|
||||||
|
# appending it
|
||||||
|
dest[positions[name]] += ' ' + item[i + 1:]
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
# not yet seen: append it and remember the list
|
||||||
|
# index
|
||||||
|
positions[name] = len(dest)
|
||||||
|
dest.append(item)
|
||||||
|
|
||||||
|
return dest
|
|
@ -112,5 +112,9 @@ configure = [
|
||||||
|
|
||||||
] + configure_args
|
] + configure_args
|
||||||
|
|
||||||
|
from build.cmdline import concatenate_cmdline_variables
|
||||||
|
configure = concatenate_cmdline_variables(configure,
|
||||||
|
set(('CFLAGS', 'CXXFLAGS', 'CPPFLAGS', 'LDFLAGS', 'LIBS')))
|
||||||
|
|
||||||
subprocess.check_call(configure, env=toolchain.env)
|
subprocess.check_call(configure, env=toolchain.env)
|
||||||
subprocess.check_call(['/usr/bin/make', '--quiet', '-j12'], env=toolchain.env)
|
subprocess.check_call(['/usr/bin/make', '--quiet', '-j12'], env=toolchain.env)
|
||||||
|
|
Loading…
Reference in New Issue