Title: [262935] trunk/Source/WebKitLegacy
Revision
262935
Author
krol...@apple.com
Date
2020-06-12 00:01:36 -0700 (Fri, 12 Jun 2020)

Log Message

Add dependencies for Migrate Headers and Generate Export Files build phases
https://bugs.webkit.org/show_bug.cgi?id=213072
<rdar://problem/64249345>

Reviewed by Tim Horton.

These build phases have incomplete specifications for the files they
consume and produce, which can lead to incorrect builds. Address this
by:

- Adding the WebCore/PrivateHeaders directory (which contains the
  headers being migrated) as input to the Migrate Headers build phase
- Touching a timestamp file when re-exporting any headers in the
  Migrate Headers build phase
- Adding the timestamp file as an output of the Migrate Headers build
  phase
- Adding the timestamp file as an input of the Generate Export Files
  build phase
- Adding other files that Generate Export Files consumes to the list
  of input files

In this way, if any exported headers are changed, both Migrate Headers
and Generate Export Files will be run.

Source/WebKitLegacy:

* WebKitLegacy.xcodeproj/project.pbxproj:

Source/WebKitLegacy/mac:

* MigrateHeaders.make:

Modified Paths

Diff

Modified: trunk/Source/WebKitLegacy/ChangeLog (262934 => 262935)


--- trunk/Source/WebKitLegacy/ChangeLog	2020-06-12 06:17:48 UTC (rev 262934)
+++ trunk/Source/WebKitLegacy/ChangeLog	2020-06-12 07:01:36 UTC (rev 262935)
@@ -1,3 +1,31 @@
+2020-06-12  Keith Rollin  <krol...@apple.com>
+
+        Add dependencies for Migrate Headers and Generate Export Files build phases
+        https://bugs.webkit.org/show_bug.cgi?id=213072
+        <rdar://problem/64249345>
+
+        Reviewed by Tim Horton.
+
+        These build phases have incomplete specifications for the files they
+        consume and produce, which can lead to incorrect builds. Address this
+        by:
+
+        - Adding the WebCore/PrivateHeaders directory (which contains the
+          headers being migrated) as input to the Migrate Headers build phase
+        - Touching a timestamp file when re-exporting any headers in the
+          Migrate Headers build phase
+        - Adding the timestamp file as an output of the Migrate Headers build
+          phase
+        - Adding the timestamp file as an input of the Generate Export Files
+          build phase
+        - Adding other files that Generate Export Files consumes to the list
+          of input files
+
+        In this way, if any exported headers are changed, both Migrate Headers
+        and Generate Export Files will be run.
+
+        * WebKitLegacy.xcodeproj/project.pbxproj:
+
 2020-05-29  Keith Rollin  <krol...@apple.com>
 
         Revert switch to XCBuild

Modified: trunk/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj (262934 => 262935)


--- trunk/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj	2020-06-12 06:17:48 UTC (rev 262934)
+++ trunk/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj	2020-06-12 07:01:36 UTC (rev 262935)
@@ -3239,6 +3239,10 @@
 			files = (
 			);
 			inputPaths = (
+				"$(PROJECT_DIR)/mac/WebKit.exp",
+				"$(PROJECT_DIR)/mac/WebKit.mac.exp",
+				"$(PROJECT_DIR)/ios/WebKit.iOS.exp",
+				"$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKitLegacy/ReexportedWebCoreSymbols.timestamp",
 			);
 			name = "Generate Export Files";
 			outputPaths = (
@@ -3255,9 +3259,11 @@
 			);
 			inputPaths = (
 				"$(PROJECT_DIR)/mac/MigrateHeaders.make",
+				"$(WEBCORE_PRIVATE_HEADERS_DIR)",
 			);
 			name = "Migrate Headers";
 			outputPaths = (
+				"$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKitLegacy/ReexportedWebCoreSymbols.timestamp",
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (262934 => 262935)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2020-06-12 06:17:48 UTC (rev 262934)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2020-06-12 07:01:36 UTC (rev 262935)
@@ -1,3 +1,31 @@
+2020-06-12  Keith Rollin  <krol...@apple.com>
+
+        Add dependencies for Migrate Headers and Generate Export Files build phases
+        https://bugs.webkit.org/show_bug.cgi?id=213072
+        <rdar://problem/64249345>
+
+        Reviewed by Tim Horton.
+
+        These build phases have incomplete specifications for the files they
+        consume and produce, which can lead to incorrect builds. Address this
+        by:
+
+        - Adding the WebCore/PrivateHeaders directory (which contains the
+          headers being migrated) as input to the Migrate Headers build phase
+        - Touching a timestamp file when re-exporting any headers in the
+          Migrate Headers build phase
+        - Adding the timestamp file as an output of the Migrate Headers build
+          phase
+        - Adding the timestamp file as an input of the Generate Export Files
+          build phase
+        - Adding other files that Generate Export Files consumes to the list
+          of input files
+
+        In this way, if any exported headers are changed, both Migrate Headers
+        and Generate Export Files will be run.
+
+        * MigrateHeaders.make:
+
 2020-06-11  Beth Dakin  <bda...@apple.com>
 
         Replace instances of whitelist in WebCore with allowlist

Modified: trunk/Source/WebKitLegacy/mac/MigrateHeaders.make (262934 => 262935)


--- trunk/Source/WebKitLegacy/mac/MigrateHeaders.make	2020-06-12 06:17:48 UTC (rev 262934)
+++ trunk/Source/WebKitLegacy/mac/MigrateHeaders.make	2020-06-12 07:01:36 UTC (rev 262935)
@@ -100,6 +100,7 @@
 ifneq ($(WK_PLATFORM_NAME), macosx)
 
 REEXPORT_FILE = $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKitLegacy/ReexportedWebCoreSymbols_$(WK_CURRENT_ARCH).exp
+REEXPORT_FILE_TIMESTAMP = $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKitLegacy/ReexportedWebCoreSymbols.timestamp
 
 .PHONY : reexport_headers
 reexport_headers : $(REEXPORT_FILE)
@@ -108,6 +109,7 @@
 
 $(REEXPORT_FILE) : $(HEADERS)
 	$(TAPI_PATH) reexport -target $(WK_CURRENT_ARCH)-$(LLVM_TARGET_TRIPLE_VENDOR)-$(LLVM_TARGET_TRIPLE_OS_VERSION)$(LLVM_TARGET_TRIPLE_SUFFIX) -isysroot $(SDK_DIR) $(HEADER_FLAGS) $(FRAMEWORK_FLAGS) $^ -o $@
+	touch $(REEXPORT_FILE_TIMESTAMP)
 
 else
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to