RESOLVED FIXED 173875
[Xcode] Add an experimental setting to build with ccache
https://bugs.webkit.org/show_bug.cgi?id=173875
Summary [Xcode] Add an experimental setting to build with ccache
Andy Estes
Reported 2017-06-27 08:18:04 PDT
[Xcode] Add an experimental setting to build with ccache
Attachments
Patch (22.11 KB, patch)
2017-06-27 08:44 PDT, Andy Estes
no flags
Patch (22.17 KB, patch)
2017-06-28 09:45 PDT, Andy Estes
no flags
Andy Estes
Comment 1 2017-06-27 08:44:27 PDT
Build Bot
Comment 2 2017-06-27 08:45:41 PDT
Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE
mitz
Comment 3 2017-06-27 09:00:56 PDT
> CC_NO = $(inherited); This is equivalent to writing CC_NO = $(CC_NO); which, unless CC_NO is defined at another level, is equivalent to CC_NO = ; which, unless CC_NO is defined at another level, is equivalent to omitting the definition.
Andy Estes
Comment 4 2017-06-27 09:16:14 PDT
(In reply to mitz from comment #3) > > CC_NO = $(inherited); > > This is equivalent to writing > > CC_NO = $(CC_NO); > > which, unless CC_NO is defined at another level, is equivalent to > > CC_NO = ; > > which, unless CC_NO is defined at another level, is equivalent to omitting > the definition. Will omit. Thanks!
mitz
Comment 5 2017-06-27 12:58:55 PDT
(In reply to Andy Estes from comment #4) > (In reply to mitz from comment #3) > > > CC_NO = $(inherited); > > > > This is equivalent to writing > > > > CC_NO = $(CC_NO); > > > > which, unless CC_NO is defined at another level, is equivalent to > > > > CC_NO = ; > > > > which, unless CC_NO is defined at another level, is equivalent to omitting > > the definition. > > Will omit. Thanks! That might still make a difference, if CC does have some value from another level, it will no always be reset to empty. I think that if you write CC_NO = $(CC); then when Xcode encounters the cycle at the project level (where DebugRelease.xcconfig is used) it will just ignore the setting at that level and let whatever is defined at a higher level go through.
Andy Estes
Comment 6 2017-06-28 09:45:00 PDT
mitz
Comment 7 2017-06-28 11:44:13 PDT
Comment on attachment 314033 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=314033&action=review > Tools/ccache/ccache-clang:37 > +CCACHE_SLOPPINESS="pch_defines,time_macros" ccache $(xcrun -f -sdk "$sdk" "${_XCRUN_TOOL:-clang}") "$@" Isn’t SDKROOT already set in the environment when this script is invoked by Xcode?
Andy Estes
Comment 8 2017-06-28 12:03:48 PDT
(In reply to mitz from comment #7) > Comment on attachment 314033 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=314033&action=review > > > Tools/ccache/ccache-clang:37 > > +CCACHE_SLOPPINESS="pch_defines,time_macros" ccache $(xcrun -f -sdk "$sdk" "${_XCRUN_TOOL:-clang}") "$@" > > Isn’t SDKROOT already set in the environment when this script is invoked by > Xcode? It is for CompileC commands, but not for Ld commands.
Andy Estes
Comment 9 2017-06-28 12:09:41 PDT
(In reply to Andy Estes from comment #8) > It is for CompileC commands That's actually not even true in most cases (and I'm not sure I understand what's happening in the cases where it is). Xcode doesn't seem to configure the environment for compiler commands in the same way it would for a Run Script build phase.
WebKit Commit Bot
Comment 10 2017-07-03 11:36:10 PDT
Comment on attachment 314033 [details] Patch Clearing flags on attachment: 314033 Committed r219082: <http://trac.webkit.org/changeset/219082>
WebKit Commit Bot
Comment 11 2017-07-03 11:36:12 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.