xpcom should be an independent standalone project. There are several applications using it outside of the Mozilla/gecko realm and we should make it easier for those projects to use xpcom. Having to pull all of Mozilla or hoping that --enable-standalone-modules works correctly is a bit daunting for a non-mozilla developer. Before we can make the build changes required to make xpcom standalone, there are some issues that must be cleared up first. Most of these were covered by the reorg proposal and postmortem. * Fix issue of differing symbols in debug & opt builds (bug 211534) * Do not expose implementation details via headers (bug 210409) * Do not generate (unnecessary) chrome files (bug 214690) * Move string & libreg under mozilla/xpcom/ (bug 214700) * Reuse the existing common build makefiles * Create new xpcom/configure.in (bug 214701) * Hook new configure.in into mozilla/client.mk & mozilla/configure.in Some serious thought needs to be given to an independent versioning scheme as well. As an independent project, xpcom should not be relying upon the Mozilla/Firebird/GRE versioning scheme. (We'll deal with the soversioning problem later.)
I like it. :-) * Move string & libreg under mozilla/xpcom/ (bug 214700) libreg should move to mozilla/xpcom/obsolete versioning will be a problem. Hopefully, we can get around some of the woes by only stating the symbols that will not change between version. That is, ensure compatiblity by saying you can only link against xpcom for symbols X, Y, Z. That was the general direction i was moving in.... This isn't going to be an easy task. Gecko currently know too much about the impl. detials of XPCOM. Maybe we should think about what parts of XPCOM should be broken out into a frozen library?
Created attachment 227037 [details] [diff] [review] remove MOZ_WIDGET_TOOLKIT To build xpcom as standalone project we must not use MOZ_WIDGET_TOOLKIT variable.
Comment on attachment 227037 [details] [diff] [review] remove MOZ_WIDGET_TOOLKIT or just defined MOZ_WIDGET_TOOLKIT during the build.
> or just defined MOZ_WIDGET_TOOLKIT during the build. This variable used for OS type determination. We have OS_ARCH for this goal.
Comment on attachment 227037 [details] [diff] [review] remove MOZ_WIDGET_TOOLKIT Don't clutter the meta bug with these specific issues. This particular topic is already being covered by bug 313780. Btw, this patch assumes Darwin == OSX and breaks the Darwin/X11 builds.
A thousand times no thanks.