[webkit-dev] OK to flatten WTF's header directory?
timothy_horton at apple.com
Tue Feb 1 22:12:53 PST 2022
> On Feb 1, 2022, at 12:30 PM, Elliott Williams via webkit-dev <webkit-dev at lists.webkit.org> wrote:
> Hi webkit-dev,
> I’m working on fixing some ambiguities in our Xcode projects to permit adoption of Xcode’s new build system and better parallelize our builds. I noticed that WTF’s headers (/usr/lib/include/wtf) are atypical in that they aren’t copied into a single directory – they’re deeply nested and mirror the same directory hierarchy as exists in WTF’s sources.
> Is this intentional, and if not, would there be opposition to me flattening them into a single directory? Flattening them makes it easier to explain to Xcode what headers go where, which is useful for tracking dependencies between targets and ensuring proper build order. Headers would still be in their same source locations (alongside implementation files) but would be copied to the top-level /usr/lib/include/wtf directory at build time.
Question: If they're flattened in the SDK, and not flattened in the source tree, which include path do we use when including a WTF header in e.g. WebCore?
Right now you say `#include <wtf/text/WTFString.h>`. In your world, would you say `#include <wtf/WTFString.h>`?
If no, how does that work in the case where you only have WTF from the SDK?
If yes, how does that work for the other build systems that are building with the full source tree? (maybe we have all directories in WTF listed as header search paths, or something? or maybe they look in `usr/lib/include/wtf` in the build directory?)
> The only other place in our projects  I’m aware of with deeply-nested headers is PAL, and there’s a bug to change that: https://bugs.webkit.org/show_bug.cgi?id=175705 <https://bugs.webkit.org/show_bug.cgi?id=175705>
> : libwebrtc also produces deeply-nested headers, but since it’s a third-party project, I don’t think our header conventions should apply.
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the webkit-dev