As of bug 1541792, it is not possible to define XPCOM components with NSMODULE_DEFN anymore. This follows the recent changes announced by Kris Maglione in https://lists.mozilla.org/pipermail/dev-platform/2019-February/023503.html
After those changes, there were too few remaining components not using the new system (and the number if meant to decrease, not increase) to justify keeping the hacks used to register them. Those hacks have served us well, but they've also caused us some subtle problems in the past with LTO and PGO (heck, they even caused problems with PGO during Kris's work). Those remaining components are still registered the old way, but that's now done via manual RegisterModule calls in nsComponentManager.cpp, so if you _really_ need to add components the old way, that's about the only difference: no NSMODULE_DEFN, and a manual registration in nsComponentManager.cpp. But you _really_ should have a good reason to do that. Prefer the new registration described in Kris's message. As a followup, I'm also going to convert some of the remaining components to the new system. Eventually, the old system will go away completely. Cheers, Mike _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform