Update post-processing rules for headers to not unnecessarily change timestamps
authorkrollin@apple.com <krollin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 8 Oct 2020 00:23:53 +0000 (00:23 +0000)
committerkrollin@apple.com <krollin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 8 Oct 2020 00:23:53 +0000 (00:23 +0000)
commit6819b54a9cb63734a277d45c5ae83c913843a8a3
tree6ef7699a8726dc63516491f084ba5e91b0b6566a
parentdcd33fcca3174a7c3ee3cd644f098a66472af158
Update post-processing rules for headers to not unnecessarily change timestamps
https://bugs.webkit.org/show_bug.cgi?id=217371
<rdar://problem/69992230>

Reviewed by Darin Adler.

Under XCBuild, the scripts employed in custom build rules can be
invoked in innocuous situations. A common example is when the user is
building from the command-line and they change the `make` output from
stdout to a file, or vice-versa. Changing the output changes the
setting of the COLOR_DIAGNOSTICS environment variable, which is enough
to cause XCBuild to think something is different and that the custom
build rule needs to be invoked. For the script's part, nothing
significant has changed, yet it post-processes the header files,
causing their modification dates to change, causing downstream
rebuilds to occur.

Fix this problem by adopting an approach that doesn't modify the
post-processed header files unless their contents actually change.

Source/JavaScriptCore:

* Scripts/postprocess-header-rule:

Source/ThirdParty/ANGLE:

* adjust-angle-include-paths-rule:

Source/ThirdParty/libwebrtc:

* libwebrtc.xcodeproj/project.pbxproj:

Source/WebKit:

No new tests -- this is a build change only.

* Scripts/postprocess-header-rule:

Source/WebKitLegacy:

* scripts/postprocess-header-rule:

Source/WTF:

* Scripts/GeneratePreferences.rb:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
12 files changed:
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/Scripts/postprocess-header-rule
Source/ThirdParty/ANGLE/ChangeLog
Source/ThirdParty/ANGLE/adjust-angle-include-paths-rule
Source/ThirdParty/libwebrtc/ChangeLog
Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj
Source/WTF/ChangeLog
Source/WTF/Scripts/GeneratePreferences.rb
Source/WebKit/ChangeLog
Source/WebKit/Scripts/postprocess-header-rule
Source/WebKitLegacy/ChangeLog
Source/WebKitLegacy/scripts/postprocess-header-rule