Bug 209384

Summary: Set INSTALLHDRS_SCRIPT_PHASE in ANGLE builds
Product: WebKit Reporter: Keith Rollin <krollin>
Component: ANGLEAssignee: Keith Rollin <krollin>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, ddkilzer, dino, ews-watchlist, graouts, kondapallykalyan, mitz, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=121370
Attachments:
Description Flags
Patch none

Description Keith Rollin 2020-03-21 18:36:05 PDT
Production ANGLE builds are technically non-compliant. During the installhdrs build action, ANGLE headers are exported but are not post-processed. This differs from the install build action, where the exported headers *are* post-processed. The headers need to be treated identically under both actions. The post-processing is enabled by setting the INSTALLHDRS_SCRIPT_PHASE build setting to YES. Most other WebKit projects already set this setting (see, for example, https://trac.webkit.org/changeset/155787, https://trac.webkit.org/changeset/110327, and https://trac.webkit.org/changeset/41417).
Comment 1 Keith Rollin 2020-03-21 18:36:20 PDT
<rdar://problem/59513380>
Comment 2 Keith Rollin 2020-03-21 18:38:29 PDT
Created attachment 394187 [details]
Patch
Comment 3 EWS Watchlist 2020-03-21 18:39:41 PDT
Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE
Comment 4 mitz 2020-03-21 18:41:19 PDT
Comment on attachment 394187 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=394187&action=review

> Source/ThirdParty/ANGLE/Configurations/ANGLE.xcconfig:7
>  APPLY_RULES_IN_COPY_HEADERS = $(USE_NEW_BUILD_SYSTEM);

Doesn’t this (also) need to change to YES? It appears as if at least some of the processing is done by the "Files '*.h' using Script" build rule that runs the “adjust-angle-include-paths-rule” script.
Comment 5 Keith Rollin 2020-03-21 19:52:09 PDT
No, it doesn't need to change. There are two ways of post-processing the headers. One way is XCBuild compatible, the other is backward compatible with older Xcode's. The former is supported by the adjust-angle-include-paths-rule script and selected by APPLY_RULES_IN_COPY_HEADERS=YES, as you noted. The latter continues to be supported by adjust-angle-include-paths.sh, which is executed if APPLY_RULES_IN_COPY_HEADERS is not YES.
Comment 6 EWS 2020-03-21 19:57:40 PDT
Committed r258815: <https://trac.webkit.org/changeset/258815>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 394187 [details].