Commit e8dec209 authored by dglazkov@chromium.org's avatar dglazkov@chromium.org

Proper fix for the "thousands of macro names must be identifiers" bug.

This is all mmentovai. I am just a copier/paster.

R=mark
BUG=15904
TEST=no more "macro names must be identifiers" errors during V8 bindings generation.

Review URL: http://codereview.chromium.org/149207

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19972 0039d316-1c4b-4281-b951-d872f2087c98
parent cfbcbc47
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
import errno import errno
import os import os
import shlex
import shutil import shutil
import subprocess import subprocess
import sys import sys
...@@ -68,14 +69,20 @@ def main(args): ...@@ -68,14 +69,20 @@ def main(args):
if not include_dir in include_dirs: if not include_dir in include_dirs:
include_dirs.append(include_dir) include_dirs.append(include_dir)
# The defines come in as one flat string. Split it up into distinct arguments.
if '--defines' in options:
defines_index = options.index('--defines')
if defines_index + 1 < len(options):
split_options = shlex.split(options[defines_index + 1])
if split_options:
options[defines_index + 1] = ' '.join(split_options)
# Build up the command. # Build up the command.
command = ['perl', '-w'] command = ['perl', '-w']
for include_dir in include_dirs: for include_dir in include_dirs:
command.extend(['-I', include_dir]) command.extend(['-I', include_dir])
command.append(generate_bindings) command.append(generate_bindings)
# Remove any qouble qoutes that may have gotten in here. We know that none of command.extend(options)
# the options will have meaningful double qoutes.
command.extend([option.replace('"', '') for option in options])
command.extend(['--outputDir', cppdir, input]) command.extend(['--outputDir', cppdir, input])
# Do it. check_call is new in 2.5, so simulate its behavior with call and # Do it. check_call is new in 2.5, so simulate its behavior with call and
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment