Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(250)

Side by Side Diff: Source/core/scripts/InFilesCompiler.pm

Issue 14456006: Fixes to make scripts generate includes with paths. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Updated Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #!/usr/bin/perl -w 1 #!/usr/bin/perl -w
2 2
3 # Copyright (C) 2011 Adam Barth <abarth@webkit.org> 3 # Copyright (C) 2011 Adam Barth <abarth@webkit.org>
4 # 4 #
5 # Redistribution and use in source and binary forms, with or without 5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions 6 # modification, are permitted provided that the following conditions
7 # are met: 7 # are met:
8 # 1. Redistributions of source code must retain the above copyright 8 # 1. Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer. 9 # notice, this list of conditions and the following disclaimer.
10 # 2. Redistributions in binary form must reproduce the above copyright 10 # 2. Redistributions in binary form must reproduce the above copyright
(...skipping 19 matching lines...) Expand all
30 use Getopt::Long; 30 use Getopt::Long;
31 use File::Path; 31 use File::Path;
32 use File::Spec; 32 use File::Spec;
33 use IO::File; 33 use IO::File;
34 use InFilesParser; 34 use InFilesParser;
35 35
36 require Config; 36 require Config;
37 37
38 package InFilesCompiler; 38 package InFilesCompiler;
39 39
40 use FindBin; # locate this script
41 use lib "$FindBin::Bin/../../../../../third_party/WebKit/Source/bindings/scripts "; # use the binding generator directory.
abarth-chromium 2013/04/25 14:14:24 Woah there. The code shouldn't know that it's con
Daniel Bratell 2013/04/25 21:24:26 Someone will need to know how to find this piece o
Daniel Bratell 2013/04/25 21:26:40 -I flags to the perl executable was a better way.
42 #use lib "$FindBin::Bin/../../bindings/scripts"; # use the binding generator di rectory.
43 use idltopath;
44
40 my $inputFile = ""; 45 my $inputFile = "";
41 my $outputDir = "."; 46 my $outputDir = ".";
42 my $defaultItemFactory; 47 my $defaultItemFactory;
43 48
44 my %parsedItems; 49 my %parsedItems;
45 my %parsedParameters; 50 my %parsedParameters;
46 51
47 sub itemHandler($$$) 52 sub itemHandler($$$)
48 { 53 {
49 my ($itemName, $property, $value) = @_; 54 my ($itemName, $property, $value) = @_;
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 die "Failed to read from file: $inputFile" if (keys %parsedItems == 0); 114 die "Failed to read from file: $inputFile" if (keys %parsedItems == 0);
110 115
111 &$generateCode(\%parsedParameters, \%parsedItems); 116 &$generateCode(\%parsedParameters, \%parsedItems);
112 } 117 }
113 118
114 sub license() 119 sub license()
115 { 120 {
116 return "/* 121 return "/*
117 * THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT. 122 * THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT.
118 * 123 *
124 * This file was generated by the make_names.pl/InFilesCompiler.pm script.
125 *
119 * Copyright (C) 2011 Google Inc. All rights reserved. 126 * Copyright (C) 2011 Google Inc. All rights reserved.
120 * 127 *
121 * Redistribution and use in source and binary forms, with or without 128 * Redistribution and use in source and binary forms, with or without
122 * modification, are permitted provided that the following conditions 129 * modification, are permitted provided that the following conditions
123 * are met: 130 * are met:
124 * 1. Redistributions of source code must retain the above copyright 131 * 1. Redistributions of source code must retain the above copyright
125 * notice, this list of conditions and the following disclaimer. 132 * notice, this list of conditions and the following disclaimer.
126 * 2. Redistributions in binary form must reproduce the above copyright 133 * 2. Redistributions in binary form must reproduce the above copyright
127 * notice, this list of conditions and the following disclaimer in the 134 * notice, this list of conditions and the following disclaimer in the
128 * documentation and/or other materials provided with the distribution. 135 * documentation and/or other materials provided with the distribution.
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 print F "\n"; 276 print F "\n";
270 277
271 my %includedInterfaces = (); 278 my %includedInterfaces = ();
272 279
273 for my $itemName (sort keys %parsedItems) { 280 for my $itemName (sort keys %parsedItems) {
274 my $conditional = $parsedItems{$itemName}{"conditional"}; 281 my $conditional = $parsedItems{$itemName}{"conditional"};
275 my $interfaceName = $object->interfaceForItem($itemName); 282 my $interfaceName = $object->interfaceForItem($itemName);
276 283
277 next if defined($includedInterfaces{$interfaceName}); 284 next if defined($includedInterfaces{$interfaceName});
278 $includedInterfaces{$interfaceName} = 1; 285 $includedInterfaces{$interfaceName} = 1;
286 my $includepath = idl_to_path($interfaceName);
279 287
280 print F "#if " . $object->conditionalStringFromAttributeValue($condition al) . "\n" if $conditional; 288 print F "#if " . $object->conditionalStringFromAttributeValue($condition al) . "\n" if $conditional;
281 print F "#include \"$interfaceName.h\"\n"; 289 print F "#include \"$includepath$interfaceName.h\"\n";
282 print F "#include \"V8$interfaceName.h\"\n"; 290 print F "#include \"V8$interfaceName.h\"\n";
283 print F "#endif\n" if $conditional; 291 print F "#endif\n" if $conditional;
284 } 292 }
285 293
286 print F "\n"; 294 print F "\n";
287 print F "#endif // ${namespace}Headers_h\n"; 295 print F "#endif // ${namespace}Headers_h\n";
288 296
289 close F; 297 close F;
290 } 298 }
291 299
292 1; 300 1;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698