summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/Scripts/generate-forwarding-headers.pl
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-05-24 11:24:40 +0100
committerBen Murdoch <benm@google.com>2011-06-02 09:53:15 +0100
commit81bc750723a18f21cd17d1b173cd2a4dda9cea6e (patch)
tree7a9e5ed86ff429fd347a25153107221543909b19 /Source/WebKit2/Scripts/generate-forwarding-headers.pl
parent94088a6d336c1dd80a1e734af51e96abcbb689a7 (diff)
downloadexternal_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.zip
external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.gz
external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.bz2
Merge WebKit at r80534: Intial merge by Git
Change-Id: Ia7a83357124c9e1cdb1debf55d9661ec0bd09a61
Diffstat (limited to 'Source/WebKit2/Scripts/generate-forwarding-headers.pl')
-rwxr-xr-xSource/WebKit2/Scripts/generate-forwarding-headers.pl33
1 files changed, 21 insertions, 12 deletions
diff --git a/Source/WebKit2/Scripts/generate-forwarding-headers.pl b/Source/WebKit2/Scripts/generate-forwarding-headers.pl
index 738d413..5a53d81 100755
--- a/Source/WebKit2/Scripts/generate-forwarding-headers.pl
+++ b/Source/WebKit2/Scripts/generate-forwarding-headers.pl
@@ -53,6 +53,8 @@ foreach my $prefix (@platformPrefixes) {
foreach (@frameworks) {
$framework = $_;
+ @frameworkHeaders = ();
+ %neededHeaders = ();
find(\&collectNeededHeaders, $incFromRoot);
find(\&collectFameworkHeaderPaths, File::Spec->catfile($srcRoot, $framework));
@@ -86,18 +88,25 @@ sub createForwardingHeadersForFramework {
my $targetDirectory = File::Spec->catfile($outputDirectory, $framework);
mkpath($targetDirectory);
foreach my $header (@frameworkHeaders) {
- my $forwardingHeaderPath = File::Spec->catfile($targetDirectory, basename($header));
- my $expectedIncludeStatement = "#include \"$header\"";
- my $foundIncludeStatement = 0;
- $foundIncludeStatement = <EXISTING_HEADER> if open(EXISTING_HEADER, "<$forwardingHeaderPath");
- chomp($foundIncludeStatement);
- if (! $foundIncludeStatement || $foundIncludeStatement ne $expectedIncludeStatement) {
- print "[Creating forwarding header for $framework/$header]\n";
- open(FORWARDING_HEADER, ">$forwardingHeaderPath") or die "Could not open $forwardingHeaderPath.";
- print FORWARDING_HEADER "$expectedIncludeStatement\n";
- close(FORWARDING_HEADER);
+ my $headerName = basename($header);
+
+ # If we found more headers with the same name, only generate a forwarding header for the current platform
+ if(grep($_ =~ "/$headerName\$", @frameworkHeaders) == 1 || $header =~ "/$platform/" ) {
+ my $forwardingHeaderPath = File::Spec->catfile($targetDirectory, $headerName);
+ my $expectedIncludeStatement = "#include \"$framework/$header\"";
+ my $foundIncludeStatement = 0;
+
+ $foundIncludeStatement = <EXISTING_HEADER> if open(EXISTING_HEADER, "<$forwardingHeaderPath");
+ chomp($foundIncludeStatement);
+
+ if (! $foundIncludeStatement || $foundIncludeStatement ne $expectedIncludeStatement) {
+ print "[Creating forwarding header for $framework/$header]\n";
+ open(FORWARDING_HEADER, ">$forwardingHeaderPath") or die "Could not open $forwardingHeaderPath.";
+ print FORWARDING_HEADER "$expectedIncludeStatement\n";
+ close(FORWARDING_HEADER);
+ }
+
+ close(EXISTING_HEADER);
}
- close(EXISTING_HEADER);
}
}
-