NEW 193536
Base.xcconfig should be identical across all projects
https://bugs.webkit.org/show_bug.cgi?id=193536
Summary Base.xcconfig should be identical across all projects
Jer Noble
Reported 2019-01-17 08:50:14 PST
Created attachment 359381 [details] Counts-of-statements-in-Base-xcconfig Base.xcconfig should provide a "base" level of definitions for all projects, with per-project definitions in ${ProjectName}.xcconfig. Attached is an accounting of how often each statement in all Base.xcconfig files occurs across all Base.xcconfig file.
Attachments
Counts-of-statements-in-Base-xcconfig (18.16 KB, text/plain)
2019-01-17 08:50 PST, Jer Noble
no flags
Counts-of-statements-in-Source-Base-xcconfig (12.98 KB, text/plain)
2019-01-17 09:45 PST, Jer Noble
no flags
Jer Noble
Comment 1 2019-01-17 08:53:00 PST
We could start by making all Base.xcconfig files in Source/ identical, since most of the unique lines occur outside of Source.
mitz
Comment 2 2019-01-17 09:08:48 PST
(In reply to Jer Noble from comment #0) > Created attachment 359381 [details] > Counts-of-statements-in-Base-xcconfig Is 20 the highest possible score? > > Base.xcconfig should provide a "base" level of definitions for all projects, > with per-project definitions in ${ProjectName}.xcconfig. Since some projects have a target whose name is the same as the project name, maybe literally Project.xcconfig, or ${ProjectName}Base.xcconfig would work better. > Attached is an > accounting of how often each statement in all Base.xcconfig files occurs > across all Base.xcconfig file.
Jer Noble
Comment 3 2019-01-17 09:25:15 PST
(In reply to mitz from comment #2) > (In reply to Jer Noble from comment #0) > > Created attachment 359381 [details] > > Counts-of-statements-in-Base-xcconfig > > Is 20 the highest possible score? Yes, there are 20 Base.xcconfig files in the WebKit repo, 10 of which are in Source/. > > Base.xcconfig should provide a "base" level of definitions for all projects, > > with per-project definitions in ${ProjectName}.xcconfig. > > Since some projects have a target whose name is the same as the project > name, maybe literally Project.xcconfig, or ${ProjectName}Base.xcconfig would > work better. Sure, Project.xcconfig would be a good convention.
Jer Noble
Comment 4 2019-01-17 09:45:42 PST
Created attachment 359385 [details] Counts-of-statements-in-Source-Base-xcconfig
Alexey Proskuryakov
Comment 5 2019-01-17 14:20:59 PST
Is there a reason why this super-common part can't be shared instead of being copied? I'm not sure what the mental framework should be for what goes into the super common part. There are quite a few differences between projects, and even for things that should be identical, like warning flags, we have project specific differences.
mitz
Comment 6 2019-01-17 14:49:37 PST
(In reply to Alexey Proskuryakov from comment #5) > Is there a reason why this super-common part can't be shared instead of > being copied? There is no way to share configuration files across what are separate projects in Apple’s internal production build system.
Alexey Proskuryakov
Comment 7 2019-01-17 15:34:42 PST
Not even if we copy it into a build product?
mitz
Comment 8 2019-01-17 15:41:56 PST
(In reply to Alexey Proskuryakov from comment #7) > Not even if we copy it into a build product? Correct. The #include directive in an .xcconfig file can only be used with paths relative to the including file or to the platform directory, not the SDK, and content from the WebKit projects doesn’t end up in the platform directory, only in the SDK.
Note You need to log in before you can comment on or make changes to this bug.