Modified: trunk/Source/WebCore/ChangeLog (137518 => 137519)
--- trunk/Source/WebCore/ChangeLog 2012-12-12 22:56:53 UTC (rev 137518)
+++ trunk/Source/WebCore/ChangeLog 2012-12-12 23:01:06 UTC (rev 137519)
@@ -1,3 +1,23 @@
+2012-12-12 Tony Chang <[email protected]>
+
+ [chromium] don't write additional idl files to a gyp temp file
+ https://bugs.webkit.org/show_bug.cgi?id=104831
+
+ Reviewed by Kentaro Hara.
+
+ The <|( command doesn't work for files like <(PRODUCT_DIR) or <(SHARED_INTERMEDIATE_DIR).
+ For additional_idl_files, pass it as a parameter instead of a file listing the filenames.
+ There are currently only 3 files in this variable. This shouldn't overflow the command
+ line since the limit on Windows is 8k and with this change, we're still only around 4.5k.
+ Also, the longest part of the command line is the list of defines. If needed, we could put
+ that in a file instead.
+
+ No new tests, this is a refactoring of the build files.
+
+ * WebCore.gyp/WebCore.gyp: Don't use <|( for additional_idl_files.
+ * bindings/scripts/generate-bindings.pl: Change --additionalIdlFilesList to
+ --additionalIdlFiles, which is a shell argument containing the filenames.
+
2012-12-12 Chris Rogers <[email protected]>
Implement OfflineAudioContext constructor
Modified: trunk/Source/WebCore/WebCore.gyp/WebCore.gyp (137518 => 137519)
--- trunk/Source/WebCore/WebCore.gyp/WebCore.gyp 2012-12-12 22:56:53 UTC (rev 137518)
+++ trunk/Source/WebCore/WebCore.gyp/WebCore.gyp 2012-12-12 23:01:06 UTC (rev 137519)
@@ -580,11 +580,6 @@
'dependencies': [
'generate_supplemental_dependency',
],
- 'variables': {
- # Write sources into a file, so that the action command line won't
- # exceed OS limits.
- 'additional_idl_files_list': '<|(additional_idl_files_list.tmp <@(webcore_test_support_idl_files))',
- },
'sources': [
# bison rule
'<(SHARED_INTERMEDIATE_DIR)/webkit/CSSGrammar.y',
@@ -1169,8 +1164,7 @@
'../bindings/scripts/IDLParser.pm',
'../bindings/scripts/preprocessor.pm',
'<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp',
- '<(additional_idl_files_list)',
- '<!@(cat <(additional_idl_files_list))',
+ '<@(webcore_test_support_idl_files)',
],
'outputs': [
# FIXME: The .cpp file should be in webkit/bindings once
@@ -1224,8 +1218,8 @@
'<@(generator_include_dirs)',
'--supplementalDependencyFile',
'<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp',
- '--additionalIdlFilesList',
- '<(additional_idl_files_list)',
+ '--additionalIdlFiles',
+ '<(webcore_test_support_idl_files)',
'<(RULE_INPUT_PATH)',
'<@(preprocessor)',
],
Modified: trunk/Source/WebCore/bindings/scripts/generate-bindings.pl (137518 => 137519)
--- trunk/Source/WebCore/bindings/scripts/generate-bindings.pl 2012-12-12 22:56:53 UTC (rev 137518)
+++ trunk/Source/WebCore/bindings/scripts/generate-bindings.pl 2012-12-12 23:01:06 UTC (rev 137519)
@@ -33,6 +33,7 @@
use File::Path;
use File::Basename;
use Getopt::Long;
+use Text::ParseWords;
use Cwd;
use IDLParser;
@@ -49,7 +50,7 @@
my $writeDependencies;
my $verbose;
my $supplementalDependencyFile;
-my $additionalIdlFilesList;
+my $additionalIdlFiles;
GetOptions('include=s@' => \@idlDirectories,
'outputDir=s' => \$outputDirectory,
@@ -62,7 +63,7 @@
'verbose' => \$verbose,
'write-dependencies' => \$writeDependencies,
'supplementalDependencyFile=s' => \$supplementalDependencyFile,
- 'additionalIdlFilesList=s' => \$additionalIdlFilesList);
+ 'additionalIdlFiles=s' => \$additionalIdlFiles);
my $targetIdlFile = $ARGV[0];
@@ -102,19 +103,12 @@
}
close FH;
- # The file $additionalIdlFilesList contains one IDL file per line:
- # P.idl
- # Q.idl
- # ...
- # These IDL files are ones which should not be included in DerivedSources*.cpp
- # (i.e. they are not described in the supplemental dependency file)
- # but should generate .h and .cpp files.
- if (!$idlFound and $additionalIdlFilesList) {
- open FH, "< $additionalIdlFilesList" or die "Cannot open $additionalIdlFilesList\n";
- my @idlFiles = <FH>;
- chomp(@idlFiles);
+ # $additionalIdlFiles is list of IDL files which should not be included in
+ # DerivedSources*.cpp (i.e. they are not described in the supplemental
+ # dependency file) but should generate .h and .cpp files.
+ if (!$idlFound and $additionalIdlFiles) {
+ my @idlFiles = shellwords($additionalIdlFiles);
$idlFound = grep { $_ and basename($_) eq basename($targetIdlFile) } @idlFiles;
- close FH;
}
if (!$idlFound) {