Title: [165298] trunk/Source/WebKit
Revision
165298
Author
[email protected]
Date
2014-03-07 16:18:21 -0800 (Fri, 07 Mar 2014)

Log Message

Source/WebKit: Make it possible to copy WebKit2 headers to WebKit.framework
https://bugs.webkit.org/show_bug.cgi?id=129935

Reviewed by Dan Bernstein.

* WebKit.xcodeproj/project.pbxproj:
Move the migrate headers script out into its own file.

Source/WebKit/mac: Make it possible to copy WebKit2 headers to WebKit.framework
https://bugs.webkit.org/show_bug.cgi?id=129935
<rdar://problem/15920020>

Reviewed by Dan Bernstein.

* MigrateHeaders.make:
Gather a list of public and private WebKit2 headers and filter them against the WEBKIT2_HEADERS list.
The matching headers are copied to the respective Headers or PrivateHeaders directories under WebKit.framework,
and also have their #imports rewritten to reference WebKit instead of WebKit2.

* migrate-headers.sh: Added.
Set up the WEBKIT2_FRAMEWORKS_DIR if needed.

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (165297 => 165298)


--- trunk/Source/WebKit/ChangeLog	2014-03-07 23:43:57 UTC (rev 165297)
+++ trunk/Source/WebKit/ChangeLog	2014-03-08 00:18:21 UTC (rev 165298)
@@ -1,3 +1,13 @@
+2014-03-07  Anders Carlsson  <[email protected]>
+
+        Make it possible to copy WebKit2 headers to WebKit.framework
+        https://bugs.webkit.org/show_bug.cgi?id=129935
+
+        Reviewed by Dan Bernstein.
+
+        * WebKit.xcodeproj/project.pbxproj:
+        Move the migrate headers script out into its own file.
+
 2014-03-07  Brent Fulgham  <[email protected]>
 
         [Win] Convert WebKit.make to an MSBuild file.

Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (165297 => 165298)


--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2014-03-07 23:43:57 UTC (rev 165297)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2014-03-08 00:18:21 UTC (rev 165298)
@@ -2031,7 +2031,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "mkdir -p \"${TARGET_BUILD_DIR}/${PRIVATE_HEADERS_FOLDER_PATH}\"\nmkdir -p \"${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}\"\nmkdir -p \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKit\"\n\n# If we didn't build WebCore, use the production copy of the headers\nif [ ! -d \"${WEBCORE_PRIVATE_HEADERS_DIR}\" ]; then\n    export WEBCORE_PRIVATE_HEADERS_DIR=\"`eval 'echo ${WEBCORE_PRIVATE_HEADERS_DIR_'${PLATFORM_NAME}'_Production}'`\"\nfi\n\nif [ \"${ACTION}\" = \"build\" -o \"${ACTION}\" = \"install\" -o \"${ACTION}\" = \"installhdrs\" ]; then\n    make -C mac -f \"MigrateHeaders.make\" -j `/usr/sbin/sysctl -n hw.activecpu`\nfi\n";
+			shellScript = "exec \"${SRCROOT}/mac/migrate-headers.sh\"";
 		};
 		3713F018142905B70036387F /* Check For Inappropriate Objective-C Class Names */ = {
 			isa = PBXShellScriptBuildPhase;

Modified: trunk/Source/WebKit/mac/ChangeLog (165297 => 165298)


--- trunk/Source/WebKit/mac/ChangeLog	2014-03-07 23:43:57 UTC (rev 165297)
+++ trunk/Source/WebKit/mac/ChangeLog	2014-03-08 00:18:21 UTC (rev 165298)
@@ -1,5 +1,21 @@
 2014-03-07  Anders Carlsson  <[email protected]>
 
+        Make it possible to copy WebKit2 headers to WebKit.framework
+        https://bugs.webkit.org/show_bug.cgi?id=129935
+        <rdar://problem/15920020>
+
+        Reviewed by Dan Bernstein.
+
+        * MigrateHeaders.make:
+        Gather a list of public and private WebKit2 headers and filter them against the WEBKIT2_HEADERS list.
+        The matching headers are copied to the respective Headers or PrivateHeaders directories under WebKit.framework,
+        and also have their #imports rewritten to reference WebKit instead of WebKit2.
+
+        * migrate-headers.sh: Added.
+        Set up the WEBKIT2_FRAMEWORKS_DIR if needed.
+
+2014-03-07  Anders Carlsson  <[email protected]>
+
         Fix a typo
         <rdar://problem/15920020>
 

Modified: trunk/Source/WebKit/mac/MigrateHeaders.make (165297 => 165298)


--- trunk/Source/WebKit/mac/MigrateHeaders.make	2014-03-07 23:43:57 UTC (rev 165297)
+++ trunk/Source/WebKit/mac/MigrateHeaders.make	2014-03-08 00:18:21 UTC (rev 165298)
@@ -231,8 +231,8 @@
 
 endif
 
-REPLACE_RULES = -e s/\<WebCore/\<WebKit/ -e s/DOMDOMImplementation/DOMImplementation/
-HEADER_MIGRATE_CMD = sed $(REPLACE_RULES) $< > $@
+WEBCORE_HEADER_REPLACE_RULES = -e s/\<WebCore/\<WebKit/ -e s/DOMDOMImplementation/DOMImplementation/
+WEBCORE_HEADER_MIGRATE_CMD = sed $(WEBCORE_HEADER_REPLACE_RULES) $< > $@
 
 ifeq ($(filter iphoneos iphonesimulator, $(PLATFORM_NAME)), )
 PUBLIC_HEADER_CHECK_CMD = @if grep -q "AVAILABLE.*TBD" "$<"; then line=$$(awk "/AVAILABLE.*TBD/ { print FNR; exit }" "$<" ); echo "$<:$$line: error: A class within a public header has unspecified availability."; false; fi
@@ -242,17 +242,41 @@
 
 $(PUBLIC_HEADERS_DIR)/DOM% : DOMDOM% MigrateHeaders.make
 	$(PUBLIC_HEADER_CHECK_CMD)
-	$(HEADER_MIGRATE_CMD)
+	$(WEBCORE_HEADER_MIGRATE_CMD)
 
 $(PRIVATE_HEADERS_DIR)/DOM% : DOMDOM% MigrateHeaders.make
-	$(HEADER_MIGRATE_CMD)
+	$(WEBCORE_HEADER_MIGRATE_CMD)
 
 $(PUBLIC_HEADERS_DIR)/% : % MigrateHeaders.make
 	$(PUBLIC_HEADER_CHECK_CMD)
-	$(HEADER_MIGRATE_CMD)
+	$(WEBCORE_HEADER_MIGRATE_CMD)
 
 $(PRIVATE_HEADERS_DIR)/% : % MigrateHeaders.make
-	$(HEADER_MIGRATE_CMD)
+	$(WEBCORE_HEADER_MIGRATE_CMD)
 
 $(INTERNAL_HEADERS_DIR)/% : % MigrateHeaders.make
-	$(HEADER_MIGRATE_CMD)
+	$(WEBCORE_HEADER_MIGRATE_CMD)
+
+# Migration of WebKit2 headers to WebKit
+
+WEBKIT2_HEADERS = \
+    WKFoundation.h \
+    WKProcessPoolConfiguration.h \
+    WKProcessPoolConfigurationPrivate.h \
+#
+
+WEBKIT2_PUBLIC_HEADERS = $(addprefix $(PUBLIC_HEADERS_DIR)/, $(filter $(WEBKIT2_HEADERS),$(notdir $(wildcard $(WEBKIT2_FRAMEWORKS_DIR)/WebKit2.framework/Headers/*))))
+WEBKIT2_PRIVATE_HEADERS = $(addprefix $(PRIVATE_HEADERS_DIR)/, $(filter $(WEBKIT2_HEADERS),$(notdir $(wildcard $(WEBKIT2_FRAMEWORKS_DIR)/WebKit2.framework/PrivateHeaders/*))))
+
+ifeq ($(PLATFORM_NAME), macosx)
+all : $(WEBKIT2_PUBLIC_HEADERS) $(WEBKIT2_PRIVATE_HEADERS)
+endif
+
+WEBKIT2_HEADER_REPLACE_RULES = -e s/\<WebKit2/\<WebKit/
+WEBKIT2_HEADER_MIGRATE_CMD = sed $(WEBKIT2_HEADER_REPLACE_RULES) $< > $@
+
+$(PUBLIC_HEADERS_DIR)/% : $(WEBKIT2_FRAMEWORKS_DIR)/WebKit2.framework/Headers/% MigrateHeaders.make
+	$(WEBKIT2_HEADER_MIGRATE_CMD)
+
+$(PRIVATE_HEADERS_DIR)/% : $(WEBKIT2_FRAMEWORKS_DIR)/WebKit2.framework/PrivateHeaders/% MigrateHeaders.make
+	$(WEBKIT2_HEADER_MIGRATE_CMD)

Added: trunk/Source/WebKit/mac/migrate-headers.sh (0 => 165298)


--- trunk/Source/WebKit/mac/migrate-headers.sh	                        (rev 0)
+++ trunk/Source/WebKit/mac/migrate-headers.sh	2014-03-08 00:18:21 UTC (rev 165298)
@@ -0,0 +1,42 @@
+#
+# Copyright (C) 2006, 2014 Apple 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:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. 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.
+#
+# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS 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 APPLE INC. OR ITS 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.
+#
+
+mkdir -p "${TARGET_BUILD_DIR}/${PRIVATE_HEADERS_FOLDER_PATH}"
+mkdir -p "${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}"
+mkdir -p "${BUILT_PRODUCTS_DIR}/DerivedSources/WebKit"
+
+# If we didn't build WebCore, use the production copy of the headers
+if [ ! -d "${WEBCORE_PRIVATE_HEADERS_DIR}" ]; then
+    export WEBCORE_PRIVATE_HEADERS_DIR="`eval 'echo ${WEBCORE_PRIVATE_HEADERS_DIR_'${PLATFORM_NAME}'_Production}'`"
+fi
+
+# If we didn't build WebKit2, use the production copy of the headers
+if [ ! -d "${WEBKIT2_FRAMEWORKS_DIR}/WebKit2.framework" ]; then
+    export WEBKIT2_FRAMEWORKS_DIR="`eval 'echo ${WEBKIT2_FRAMEWORKS_DIR_Production}'/WebKit2.framework`"
+fi
+
+if [ "${ACTION}" = "build" -o "${ACTION}" = "install" -o "${ACTION}" = "installhdrs" ]; then
+    make -C mac -f "MigrateHeaders.make" -j `/usr/sbin/sysctl -n hw.activecpu`
+fi
Property changes on: trunk/Source/WebKit/mac/migrate-headers.sh
___________________________________________________________________

Added: svn:executable

_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to