Changes:
* Added EXTRA_COMPONENTS variable to build. Use it to automagically install files into the components dir.
* Added SYSINSTALL variable. Use it install files onto the system.
* Move mozilla-config generation from configure to makefiles
* mozilla-config will now generate paths based upon the MRE-based directory layout.
* Generate mozilla script from template
The installation heirarchy currently looks like:
$prefix -> /bin/mozilla
/bin/mozilla-config
/include/mozilla-ver/*
/lib/mozilla-ver (mozappdir)
/components
/res
/defaults
/chrome
There is preliminary build support for MRE dirs as well though the component manager hasn't had MRE support added yet.
$prefix -> /lib/mre/mre-ver (mredir)
/components
nsIComponentRegistrar.
2. Converts callers of nsComponentManager::AutoRegister to use
nsIComponentRegistrar's autoRegistrar method.
3. Add nsIComponentRegistrar implmentation to nsComponentManagerImpl.
4. Rearrange nsComponentManager.cpp so that related methods are in the same
place.
5. Added a C-style function NS_GetComponentRegistrar so that getting the
registrar is easier in some places.
6. Added a nsISimpleEnumerator interface on PLDHashTableEnumeratorImpl. in
this way, the same base class can support both old style and new style
enumerations.
7. Fixed a nasty bug where unregistring factories will leave the contract id
hash with a dangling pointer. Now, when unregister is called we search the
contract id hash for entries which have the given doomned cid and remove them.
Bug 115853. r=dp@netscape.com, sr=rpotts@netscape.com
a) create a new nsIComponentManager with only four functions on it:
CreateInstance CreateInstanceByContractID GetClassInfo GetClassInfoByContractID.
b) rename the old nsIComponentManager to nsIComponentManagerObsolete.
c) fixes callers which use to access the nsIComponentManager for component
registration functionality. These callers will temporary use the
nsIComponentManagerObsolete interface.
d) Create a new API NS_GetComponentManager() which mirrors the
NS_GetServiceManager()
e) Perserves the old NS_GetGlobalComponentManager(). Note the cast usage.
r/sr = rpotts@netscape.comalecf@netscape.combrendan@mozilla.org
- teach nsGenericFactory about nsIClassInfo, and nsIClassInfo.idl to the
builds
- add a heaping serving of macro love for classes that want to support it
- convert many modules to use nsGenericModule the new way
- handful of warning and modeline fixes
- nsSample and some XPConnect test classes now have nsIClassInfo support for
testing
interfaces. Since the C++ generated code upper-cases the method names, this
affects no C++ code, but only a few javascript methods.
Bug 46771.
r=waterson.
I am in today and tomorrow.