I take it from your omission that code which isn't accessed anywhere but within src doesn't need any export macro?
On Fri, Oct 14, 2016 at 6:47 AM, Jochen Eisinger <joc...@chromium.org> wrote: > Hey, > > we recently started to support component builds for almost all binaries. > With this, it might happen that debug bots fail to link because they can't > find certain symbols. > > Here is what to do: > > If the symbol is supposed to be visible to embedders, e.g., it's in > include/v8.h, then add the V8_EXPORT macro. > > If the symbol is used by tests only, e.g., it's in src/, add the > V8_EXPORT_PRIVATE (defined in src/globals.h) macro (or if it's in src/base/ > V8_BASE_EXPORT defined in src/base/base-export.h or in src/libplatform > V8_PLATFORM_EXPORT defined in include/libplatform/libplatform-export.h) > > Annotate classes like this: > > class V8_EXPORT Foo { > }; > > or individual methods or functions like this > > V8_EXPORT bool DoStuff(); > > For the public API (V8_EXPORT) we generally export everything. For test > only stuff, we might wish to not export some base classes. In that > situation, you have to annotate the base classes with NON_EXPORTED_BASE > defined in src/base/compiler-specific.h like this: > > class V8_EXPORT_PRIVATE Foo : public NON_EXPORTED_BASE(Bar) { > }; > > If you annotated everything, but e.g. a symbol from src/base is still not > found, it might be that the executable does not depend on v8_libbase (in > this example) - you'll have to add the dependency in the BUILD.gn (and > corresponding gyp file) then - but this should be rare, only if you add new > binaries. > > best > -jochen > > -- > -- > v8-dev mailing list > v8-dev@googlegroups.com > http://groups.google.com/group/v8-dev > --- > You received this message because you are subscribed to the Google Groups > "v8-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to v8-dev+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.