On 11/24/2014 6:16 AM, Kan-Ru Chen (陳侃如) wrote:
> Hi,
>
> Do we have policy about what headers should/could be in EXPORTS? I found
> that some exported headers include other headers that aren't exported so
> the header using site has to use LOCAL_INCLUDES which IMO defeats the
> purpose of EXPORTS.
>
> So exporting more headers could fix it, but that leads to the question
> about what headers should/could be in EXPORTS. I don't know much about
> the history of embedding gecko but I guess the exported files were
> considered part of the stable API?
>
>
I am pretty confident that we do not have an actual policy here. For
historical context, we used to provide a stable C++ API, and things that
went in EXPORTS wound up being part of that API, so it was important to
be careful around that. We stopped promising that stable C++ API a while
ago (although we do attempt to be kind to consumers of it by not
breaking things willy-nilly), so that is not as much of a concern.
Additionally, it used to be that module boundaries in Gecko were treated
more seriously, in that they were built at different times and so you
had to use EXPORTS to include headers from other modules (and you
couldn't build dependencies in certain directions). Those days are gone,
and we build most of Gecko in a single pass and we use LOCAL_INCLUDES
all over the place. At this point, you probably shouldn't bother with
EXPORTS unless you are trying to present a somewhat-official API to a
component.

-Ted

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

Reply via email to