On 2013-11-18 9:53 AM, Boris Zbarsky wrote:
On 11/18/13 9:49 AM, Benoit Jacob wrote:
  2) Keep these cpp files, that #include system headers, in plain old
SOURCES, not in UNIFIED_SOURCES.

Maybe that's the right way to go.  Enforce that no .cpp file that's in
UNIFIED_SOURCES ever includes the broken system headers, like we already
do for windows.h and the bindings files.

I wouldn't go all the way to that extreme. The list of broken system headers is unfortunately quite large, and we already have lots of this pattern in the tree:

#ifdef MyFunction
// screw you, windows.h/X.h/etc.
#undef MyFunction
#endif

Outlawing such inclusions altogether makes sense in the case of WebIDL but I believe is too big of a shotgun for killing this fly in other unified code. :-)

That being said, I have also excluded things that take a lot of effort to fix from UNIFIED_SOURCES so far. For now, it's only the Mac system headers which screw things up beyond repair.

Cheers,
Ehsan
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to