On Tue, Nov 19, 2013 at 11:02:52AM +0900, Mike Hommey wrote: > Hi, > > I am going to land a long series of patches that changes how Gecko code > linkage is defined. > > Currently, when you add new code (like, a new module) to Gecko, you: > - Add a new directory > - Edit the parent moz.build to add the directory > - Add your source files > - Add a new moz.build defining at least: > - SOURCES > - LIBRARY_NAME > - LIBXUL_LIBRARY > - MODULE > - Edit toolkit/library/Makefile.in, layout/build/Makefile.in, or > layout/media/Makefile.in to add your "library" to either libxul, > libgklayout or libgkmedias, with the right ifdefs. > - Edit toolkit/library/nsStaticXULComponents.cpp to add your module, > with the right #ifdefs. (if it's a xpcom module you're adding) > > I think that's all. That's already a lot. > > With the upcoming landing, this becomes: > - Add a new directory > - Edit the parent moz.build to add the directory > - Add your source files > - Add a new moz.build defining at least: > - SOURCES > - FINAL_LIBRARY > - done. > > There are two bits of magic involved here: > - FINAL_LIBRARY defines what library your code is going to be linked > into. That needs to match an existing LIBRARY_NAME in some other > moz.build. Most code will go in either xul, gkmedias or gklayout. Note > gklayout may go away in the future, because it's just an > implementation detail and an heritage of the past, but there are some > ordering issues involved with removing it so we're keeping it for the > moment. There are other remaining values of LIBRARY_NAME, they will > fade away in the future, and shouldn't matter for most people. > - The xpcom module list is going to be built with some linker magic. The > error-prone list in nsStaticXULComponents.cpp is no longer required.
So, this very last part had to be backed out back then (in November) because of some subtle dependency issues in existing XPCOM components shutdown. I thought I had sent a message in that regard, but it looks like I didn't. Anyways, I'm happy to announce today that this last bit landed again (bug 938437) on fx-team and should (will!) make its way to other branches. Cheers, Mike _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform