Changeset 63803 in webkit


Ignore:
Timestamp:
Jul 20, 2010 11:04:42 PM (14 years ago)
Author:
loislo@chromium.org
Message:

2010-07-20 Ilya Tikhonovsky <loislo@chromium.org>

Reviewed by Yury Semikhatsky.

WebInspector: the bindings generation helper script can be
simplified a bit. Chromium.
https://bugs.webkit.org/show_bug.cgi?id=42523

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gyp/scripts/rule_binding.py:
  • bindings/scripts/CodeGenerator.pm:
  • bindings/scripts/CodeGeneratorCPP.pm:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bindings/scripts/CodeGeneratorObjC.pm:
  • bindings/scripts/CodeGeneratorV8.pm:
  • bindings/scripts/generate-bindings.pl:
  • inspector/CodeGeneratorInspector.pm:
Location:
trunk/WebCore
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r63802 r63803  
     12010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
     2
     3        Reviewed by Yury Semikhatsky.
     4
     5        WebInspector: the bindings generation helper script can be
     6        simplified a bit. Chromium.
     7        https://bugs.webkit.org/show_bug.cgi?id=42523
     8
     9        * WebCore.gyp/WebCore.gyp:
     10        * WebCore.gyp/scripts/rule_binding.py:
     11        * bindings/scripts/CodeGenerator.pm:
     12        * bindings/scripts/CodeGeneratorCPP.pm:
     13        * bindings/scripts/CodeGeneratorJS.pm:
     14        * bindings/scripts/CodeGeneratorObjC.pm:
     15        * bindings/scripts/CodeGeneratorV8.pm:
     16        * bindings/scripts/generate-bindings.pl:
     17        * inspector/CodeGeneratorInspector.pm:
     18
    1192010-07-20  Steve Falkenburg  <sfalken@apple.com>
    220
  • trunk/WebCore/WebCore.gyp/WebCore.gyp

    r63767 r63803  
    503503            '--',
    504504            '--defines', '<(feature_defines) LANGUAGE_JAVASCRIPT',
    505             '--filename', 'RemoteInspectorFrontend',
    506505            '--generator', 'Inspector',
    507506            '<@(generator_include_dirs)'
  • trunk/WebCore/WebCore.gyp/scripts/rule_binding.py

    r63767 r63803  
    122122    command.append(generateBindings)
    123123    command.extend(options)
     124    command.extend(['--outputHeadersDir', hdir])
    124125    command.extend(['--outputDir', cppdir, input])
    125126
     
    129130    assert returnCode == 0
    130131
    131     # Both the .cpp and .h were generated in cppdir, but if hdir is different,
    132     # the .h needs to move. Copy it instead of using os.rename for maximum
    133     # portability in all cases.
    134     if cppdir != hdir:
    135         inputBasename = os.path.basename(input)
    136         (root, ext) = os.path.splitext(inputBasename)
    137         if fileName != '':
    138             hname = '%s.h' % (fileName)
    139         else:
    140             hname = '%s%s.h' % (prefix, root)
    141         hsrc = os.path.join(cppdir, hname)
    142         hdst = os.path.join(hdir, hname)
    143         shutil.copyfile(hsrc, hdst)
    144         os.unlink(hsrc)
    145 
    146132    return returnCode
    147133
  • trunk/WebCore/bindings/scripts/CodeGenerator.pm

    r63767 r63803  
    3232my $useGenerator = "";
    3333my $useOutputDir = "";
     34my $useOutputHeadersDir = "";
    3435my $useDirectories = "";
    3536my $useLayerOnTop = 0;
     
    8182    $useGenerator = shift;
    8283    $useOutputDir = shift;
     84    $useOutputHeadersDir = shift;
    8385    $useLayerOnTop = shift;
    8486    $preprocessor = shift;
     
    108110
    109111    # Dynamically load external code generation perl module
    110     $codeGenerator = $ifaceName->new($object, $useOutputDir, $useLayerOnTop, $preprocessor, $writeDependencies, $verbose);
     112    $codeGenerator = $ifaceName->new($object, $useOutputDir, $useOutputHeadersDir, $useLayerOnTop, $preprocessor, $writeDependencies, $verbose);
    111113    unless (defined($codeGenerator)) {
    112114        my $classes = $useDocument->classes;
  • trunk/WebCore/bindings/scripts/CodeGeneratorCPP.pm

    r63767 r63803  
    9999    $codeGenerator = shift;
    100100    $outputDir = shift;
     101    shift; # $outputHeadersDir
    101102    shift; # $useLayerOnTop
    102103    shift; # $preprocessor
  • trunk/WebCore/bindings/scripts/CodeGeneratorJS.pm

    r63767 r63803  
    7474    $codeGenerator = shift;
    7575    $outputDir = shift;
     76    shift; # $outputHeadersDir
    7677    shift; # $useLayerOnTop
    7778    shift; # $preprocessor
  • trunk/WebCore/bindings/scripts/CodeGeneratorObjC.pm

    r63767 r63803  
    200200    $codeGenerator = shift;
    201201    $outputDir = shift;
     202    shift; # $outputHeadersDir
    202203    shift; # $useLayerOnTop
    203204    shift; # $preprocessor
  • trunk/WebCore/bindings/scripts/CodeGeneratorV8.pm

    r63767 r63803  
    3131my $module = "";
    3232my $outputDir = "";
     33my $outputHeadersDir = "";
    3334
    3435my @headerContent = ();
     
    7273    $codeGenerator = shift;
    7374    $outputDir = shift;
     75    $outputHeadersDir = shift;
    7476
    7577    bless($reference, $object);
     
    111113
    112114    # Open files for writing
    113     my $headerFileName = "$outputDir/V8$name.h";
     115    my $headerFileName = "$outputHeadersDir/V8$name.h";
    114116    my $implFileName = "$outputDir/V8$name.cpp";
    115117
  • trunk/WebCore/bindings/scripts/generate-bindings.pl

    r63767 r63803  
    4040my @idlDirectories;
    4141my $outputDirectory;
     42my $outputHeadersDirectory;
    4243my $generator;
    4344my $defines;
     45my $filename;
    4446my $prefix;
    45 my $filename;
    4647my $preprocessor;
    4748my $writeDependencies;
     
    5051GetOptions('include=s@' => \@idlDirectories,
    5152           'outputDir=s' => \$outputDirectory,
     53           'outputHeadersDir=s' => \$outputHeadersDirectory,
    5254           'generator=s' => \$generator,
    5355           'defines=s' => \$defines,
     56           'filename=s' => \$filename,
    5457           'prefix=s' => \$prefix,
    55            'filename=s' => \$filename,
    5658           'preprocessor=s' => \$preprocessor,
    5759           'verbose' => \$verbose,
     
    6567die('Must specify defines') unless defined($defines);
    6668
     69if (!$outputHeadersDirectory) {
     70    $outputHeadersDirectory = $outputDirectory;
     71}
    6772if ($verbose) {
    6873    print "$generator: $idlFile\n";
     
    7580
    7681# Generate desired output for given IDL file.
    77 my $codeGen = CodeGenerator->new(\@idlDirectories, $generator, $outputDirectory, 0, $preprocessor, $writeDependencies, $verbose);
     82my $codeGen = CodeGenerator->new(\@idlDirectories, $generator, $outputDirectory, $outputHeadersDirectory, 0, $preprocessor, $writeDependencies, $verbose);
    7883$codeGen->ProcessDocument($document, $defines);
  • trunk/WebCore/inspector/CodeGeneratorInspector.pm

    r63767 r63803  
    9090my $codeGenerator;
    9191my $outputDir;
     92my $outputHeadersDir;
    9293my $writeDependencies;
    9394my $verbose;
     
    114115    $codeGenerator = shift;
    115116    $outputDir = shift;
     117    $outputHeadersDir = shift;
    116118    shift; # $useLayerOnTop
    117119    shift; # $preprocessor
     
    278280    undef($SOURCE);
    279281
    280     open(my $HEADER, ">$outputDir/$frontendClassName.h") || die "Couldn't open file $outputDir/$frontendClassName.h";
     282    open(my $HEADER, ">$outputHeadersDir/$frontendClassName.h") || die "Couldn't open file $outputHeadersDir/$frontendClassName.h";
    281283    print $HEADER generateHeader($frontendClassName, \%frontendTypes, $frontendConstructor, \%frontendMethods, $frontendFooter);
    282284    close($HEADER);
Note: See TracChangeset for help on using the changeset viewer.