On Wed, Sep 04, 2013 at 11:35:19AM -0700, Gregory Szorc wrote:
> On 9/4/13 3:04 AM, Mike Hommey wrote:
> >On Wed, Sep 04, 2013 at 10:57:26AM +0100, L. David Baron wrote:
> >>>The way the tier build works is that we effectively make export in all
> >>>directories of a same tier before make libs. In practice, this means
> >>>xpcom had access to every header in platform already, and any tier built
> >>>before platform, for that matter. So only app headers weren't available
> >>>to xpcom, and that's not a lot of them.
> >>>
> >>>So, really, nothing was already there to prevent backwards dependencies.
> >>>At least not in a very long time (I don't remember if we ever did
> >>>(make export; make libs) recursively directory by directory instead of
> >>>tier by tier.)
> >>
> >>So I was assuming that xpcom was in a different tier from layout;
> >>apparently that's not the case.  (I thought it was originally, but
> >>my memory could be wrong.)
> >
> >You're right, this was changed in bug 528250
> >http://hg.mozilla.org/mozilla-central/rev/b7b5c61b1af8
> >
> >>But is it correct that this change means we no longer have the
> >>backwards-dependency checking for things in different tiers?
> >
> >Yes, but since most things are in the platform tier, and the platform
> >tier is almost last (there's only the app tier after it), it wasn't much
> >relevant. What probably matters most to protect is js, and js standalone
> >builds should provide that protection.
> 
> It's worth explicitly mentioning that tiers limit the ability of the
> build system to build concurrently. So, we have to choose between
> speed and a moving/complex target of "dependency correctness." We
> have chosen to sacrifice this dependency correctness to achieve
> faster build speeds.
> 
> If we want to keep ensuring dependency correctness, I believe we
> should accomplish that via static analysis, compiler plugins,
> standalone builds, or special build modes.

Or not using -I$(DIST)/include.

Mike
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to