To make things simpler, and allow for passing FEATURE_AND_PLATFORM_DEFINES as a file rather than on the command line, we should remove the in-makefile use of grepping FEATURE_AND_PLATFORM_DEFINES. For the ones conditionalizing adding to ADDITIONAL_BINDING_IDLS, those IDLs should just have the appropriate Conditional=* extended attribute added, then they can be included unconditionally in the makefile. For the ones conditionalizing adding go USER_AGENT_STYLE_SHEETS, again, there doesn’t seem a real reason to keep that. The sheets are all preprocessed anyway, so we can just move those #ifdefs into the files.
Created attachment 411935 [details] Patch
*** Bug 218000 has been marked as a duplicate of this bug. ***
Comment on attachment 411935 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=411935&action=review > Source/WebCore/DerivedSources.make:1277 > + GestureEvent.idl \ I suggest sorting this in alphabetically.
Created attachment 412034 [details] Patch
Created attachment 412035 [details] Patch
Comment on attachment 412035 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=412035&action=review > Source/WebCore/ChangeLog:14 > + Remove conditionalized additions to ADDITIONAL_BINDING_IDLS and just always add > + the concrete set, relying on the existing extended attributes in the IDLs instead. Is it the call to "realpath" that helps us cleanly remove any files that don’t exist?
(In reply to Darin Adler from comment #6) > Comment on attachment 412035 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=412035&action=review > > > Source/WebCore/ChangeLog:14 > > + Remove conditionalized additions to ADDITIONAL_BINDING_IDLS and just always add > > + the concrete set, relying on the existing extended attributes in the IDLs instead. > > Is it the call to "realpath" that helps us cleanly remove any files that > don’t exist? I think so. The Make documentation says: $(realpath names…) For each file name in names return the canonical absolute name. A canonical name does not contain any . or .. components, nor any repeated path separators (/) or symlinks. In case of a failure the empty string is returned.
Comment on attachment 412035 [details] Patch r=me assuming this passes tests
(Now I should revive the branch where I was doing the file thing, or let you do it over again [either is OK with me]. Hardest part seemed to be the xcfilelist bit.)
Committed r268849: <https://trac.webkit.org/changeset/268849> All reviewed patches have been landed. Closing bug and clearing flags on attachment 412035 [details].
<rdar://problem/70553732>