Title: [101157] trunk/Source/WebCore
Revision
101157
Author
hara...@chromium.org
Date
2011-11-25 01:31:20 -0800 (Fri, 25 Nov 2011)

Log Message

Remove WebCore.gyp/scripts/rule_binding.py
https://bugs.webkit.org/show_bug.cgi?id=73109

Reviewed by Adam Barth.

rule_binding.py is used by WebCore.gyp only. rule_binding.py is just a wrapper
of generate-bindings.pl and thus we can remove it.

No new tests. No change in behavior.

* WebCore.gyp/WebCore.gyp: Replaces rule_binding.py with generate-bindings.pl.
* WebCore.gyp/scripts/rule_binding.py: Removed.
* bindings/scripts/preprocessor.pm: When '"ENABLE_SOMETHING=1" "ENABLE_OTHERS=0"' is passed as a define macro, the string is passed to our perl scripts without the double-quotations (") omitted. We need to omit the double quatations here.
(applyPreprocessor):

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (101156 => 101157)


--- trunk/Source/WebCore/ChangeLog	2011-11-25 09:29:30 UTC (rev 101156)
+++ trunk/Source/WebCore/ChangeLog	2011-11-25 09:31:20 UTC (rev 101157)
@@ -1,3 +1,20 @@
+2011-11-25  Kentaro Hara  <hara...@chromium.org>
+
+        Remove WebCore.gyp/scripts/rule_binding.py
+        https://bugs.webkit.org/show_bug.cgi?id=73109
+
+        Reviewed by Adam Barth.
+
+        rule_binding.py is used by WebCore.gyp only. rule_binding.py is just a wrapper
+        of generate-bindings.pl and thus we can remove it.
+
+        No new tests. No change in behavior.
+
+        * WebCore.gyp/WebCore.gyp: Replaces rule_binding.py with generate-bindings.pl.
+        * WebCore.gyp/scripts/rule_binding.py: Removed.
+        * bindings/scripts/preprocessor.pm: When '"ENABLE_SOMETHING=1" "ENABLE_OTHERS=0"' is passed as a define macro, the string is passed to our perl scripts without the double-quotations (") omitted. We need to omit the double quatations here.
+        (applyPreprocessor):
+
 2011-11-24  Yury Semikhatsky  <yu...@chromium.org>
 
         [Chromium] Web Inspector: remove legacy debugger support

Modified: trunk/Source/WebCore/WebCore.gyp/WebCore.gyp (101156 => 101157)


--- trunk/Source/WebCore/WebCore.gyp/WebCore.gyp	2011-11-25 09:29:30 UTC (rev 101156)
+++ trunk/Source/WebCore/WebCore.gyp/WebCore.gyp	2011-11-25 09:31:20 UTC (rev 101157)
@@ -962,17 +962,20 @@
           # from lists.  When we have a better GYP way to suppress that
           # behavior, change the output location.
           'action': [
-            'python',
-            'scripts/rule_binding.py',
+            'perl',
+            '-w',
+            '-I../bindings/scripts',
+            '../bindings/scripts/generate-bindings.pl',
+            '--outputHeadersDir',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings',
+            '--outputDir',
+            '<(SHARED_INTERMEDIATE_DIR)/webcore/bindings',
+            '--defines',
+            '<(feature_defines) LANGUAGE_JAVASCRIPT V8_BINDING',
+            '--generator',
+            'V8',
+            '<@(generator_include_dirs)',
             '<(RULE_INPUT_PATH)',
-            '<(SHARED_INTERMEDIATE_DIR)/webcore/bindings',
-            '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings',
-            '--',
-            '<@(_inputs)',
-            '--',
-            '--defines', '<(feature_defines) LANGUAGE_JAVASCRIPT V8_BINDING',
-            '--generator', 'V8',
-            '<@(generator_include_dirs)'
           ],
           'message': 'Generating binding from <(RULE_INPUT_PATH)',
         },

Deleted: trunk/Source/WebCore/WebCore.gyp/scripts/rule_binding.py (101156 => 101157)


--- trunk/Source/WebCore/WebCore.gyp/scripts/rule_binding.py	2011-11-25 09:29:30 UTC (rev 101156)
+++ trunk/Source/WebCore/WebCore.gyp/scripts/rule_binding.py	2011-11-25 09:31:20 UTC (rev 101157)
@@ -1,141 +0,0 @@
-#!/usr/bin/python
-#
-# Copyright (C) 2009 Google Inc. All rights reserved.
-# 
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-# 
-#     * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#     * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-#     * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-# 
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Copyright (c) 2009 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# usage: rule_binding.py INPUT CPPDIR HDIR -- INPUTS -- OPTIONS
-#
-# INPUT is an IDL file, such as Whatever.idl.
-#
-# CPPDIR is the directory into which V8Whatever.cpp will be placed. HDIR is
-# the directory into which V8Whatever.h will be placed.
-#
-# The first item in INPUTS is the path to generate-bindings.pl. Remaining
-# items in INPUTS are used to build the Perl module include path.
-#
-# OPTIONS are passed as-is to generate-bindings.pl as additional arguments.
-
-
-import errno
-import os
-import shlex
-import shutil
-import subprocess
-import sys
-
-
-def SplitArgsIntoSections(args):
-    sections = []
-    while len(args) > 0:
-        if not '--' in args:
-            # If there is no '--' left, everything remaining is an entire section.
-            dashes = len(args)
-        else:
-            dashes = args.index('--')
-
-        sections.append(args[:dashes])
-
-        # Next time through the loop, look at everything after this '--'.
-        if dashes + 1 == len(args):
-            # If the '--' is at the end of the list, we won't come back through the
-            # loop again. Add an empty section now corresponding to the nothingness
-            # following the final '--'.
-            args = []
-            sections.append(args)
-        else:
-            args = args[dashes + 1:]
-
-    return sections
-
-
-def main(args):
-    sections = SplitArgsIntoSections(args[1:])
-    assert len(sections) == 3, sections
-    (base, inputs, options) = sections
-
-    assert len(base) == 3, base
-    (input, cppdir, hdir) = base
-
-    assert len(inputs) > 1, inputs
-    generateBindings = inputs[0]
-    perlModules = inputs[1:]
-
-    includeDirs = []
-    for perlModule in perlModules:
-        includeDir = os.path.dirname(perlModule)
-        if not includeDir in includeDirs:
-            includeDirs.append(includeDir)
-
-    if '--prefix' in options:
-        prefixIndex = options.index('--prefix')
-    else:
-        prefixIndex = options.index('--generator')
-
-    fileName = ''
-    if '--filename' in options:
-        fileName = options[options.index('--filename') + 1]
-
-    if prefixIndex + 1 < len(options):
-        prefix = options[prefixIndex + 1]
-
-    # The defines come in as one flat string. Split it up into distinct arguments.
-    if '--defines' in options:
-        definesIndex = options.index('--defines')
-        if definesIndex + 1 < len(options):
-            splitOptions = shlex.split(options[definesIndex + 1])
-            if splitOptions:
-                options[definesIndex + 1] = ' '.join(splitOptions)
-
-    # Build up the command.
-    command = ['perl', '-w']
-    for includeDir in includeDirs:
-        command.extend(['-I', includeDir])
-    command.append(generateBindings)
-    command.extend(options)
-    command.extend(['--outputHeadersDir', hdir])
-    command.extend(['--outputDir', cppdir, input])
-
-    # Do it. Use os.execvp() to save a child process on posix. On win32,
-    # execvp() does't do the escaping of spaces that subprocess.call() does,
-    # so use subprocess.call() on win32.
-    if sys.platform != 'win32':
-        os.execvp('perl', command)  # Does not return.
-
-    # check_call is new in 2.5, so simulate its behavior with call and assert.
-    returnCode = subprocess.call(command)
-    assert returnCode == 0
-
-    return returnCode
-
-
-if __name__ == '__main__':
-    sys.exit(main(sys.argv))

Modified: trunk/Source/WebCore/bindings/scripts/preprocessor.pm (101156 => 101157)


--- trunk/Source/WebCore/bindings/scripts/preprocessor.pm	2011-11-25 09:29:30 UTC (rev 101156)
+++ trunk/Source/WebCore/bindings/scripts/preprocessor.pm	2011-11-25 09:31:20 UTC (rev 101157)
@@ -57,7 +57,7 @@
         $defines = "";
     }
 
-    my $pid = open2(\*PP_OUT, \*PP_IN, split(' ', $preprocessor), (map { "-D$_" } split(' ', $defines)), $fileName);
+    my $pid = open2(\*PP_OUT, \*PP_IN, split(' ', $preprocessor), (map { $_ =~ s/^\"|\"$//g; "-D$_" if $_ } split(' ', $defines)), $fileName);
     close PP_IN;
     my @documentContent = <PP_OUT>;
     close PP_OUT;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to