Closed
Bug 223084
Opened 21 years ago
Closed 21 years ago
enable the static component loader by default (for the GRE)
Categories
(Core Graveyard :: Embedding: GRE Core, defect)
Core Graveyard
Embedding: GRE Core
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla1.6beta
People
(Reporter: benjamin, Assigned: benjamin)
References
Details
Attachments
(1 file)
8.13 KB,
patch
|
dougt
:
review+
|
Details | Diff | Splinter Review |
I believe we should enable the static component loader by default when building
XPCOM. Firebird/etc would like to keep themselves as a static build, so enabling
the static component loader through the --enable-static configure flag causes
odd header/implementation dependencies.
My patch here adds a new configure flag --disable-static-component-loader in
case someone really doesn't want the loader for some reason.
Assignee | ||
Comment 1•21 years ago
|
||
Assignee | ||
Updated•21 years ago
|
Attachment #133758 -
Flags: review?(dougt)
Comment 2•21 years ago
|
||
Comment on attachment 133758 [details] [diff] [review]
configure switch --disable-static-component-loader
this should be okay. When you land this, please post to the XPCOM newsgroup
regarding this change.
Attachment #133758 -
Flags: review?(dougt) → review+
Assignee | ||
Comment 3•21 years ago
|
||
Checked in.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.5beta
This made the egg tinderbox (minimo static build) go orange:
http://tinderbox.mozilla.org/showbuilds.cgi?tree=SeaMonkey-Testerbox
(balsa, the other static build tinderbox, should be restarted shortly)
Assignee | ||
Updated•21 years ago
|
Target Milestone: mozilla1.5beta → mozilla1.6beta
Assignee | ||
Comment 5•21 years ago
|
||
I forgot to #include "xpcom-private.h" in nsComponentManager.h; this is now fixed.
Comment 6•21 years ago
|
||
The Firebird static builds process now compeletes successfully, but the
resulting MozillaFirebird.exe does not start. When I double click on the exe,
the process starts up for a second and then dies.
Comment 7•21 years ago
|
||
ok, this horked the static build because of this change:
-----------------------------------------------------------------------
NS_IMETHODIMP
nsStaticComponentLoader::AutoRegisterComponents(PRInt32 when, nsIFile *dir)
{
if (mAutoRegistered)
return NS_OK;
+ if (dir)
+ return NS_OK;
+
nsresult rv;
if (NS_FAILED(rv = GetModuleInfo()))
return rv;
RegisterSelfData data = { mComponentMgr, dir };
PL_DHashTableEnumerate(&mInfoHash, info_RegisterSelf, &data);
+ mAutoRegistered = PR_TRUE;
return NS_OK;
}
-----------------------------------------------------------------------
applying the following patch fixes the static build.
-----------------------------------------------------------------------
Index: nsStaticComponentLoader.cpp
===================================================================
RCS file: /cvsroot/mozilla/xpcom/components/nsStaticComponentLoader.cpp,v
retrieving revision 3.11
diff -p -u -1 -0 -r3.11 nsStaticComponentLoader.cpp
--- nsStaticComponentLoader.cpp 30 Oct 2003 21:11:07 -0000 3.11
+++ nsStaticComponentLoader.cpp 3 Nov 2003 02:12:11 -0000
@@ -189,21 +189,21 @@ info_RegisterSelf(PLDHashTable *table, P
return PL_DHASH_NEXT;
}
NS_IMETHODIMP
nsStaticComponentLoader::AutoRegisterComponents(PRInt32 when, nsIFile *dir)
{
if (mAutoRegistered)
return NS_OK;
- if (dir)
+ if (!dir)
return NS_OK;
nsresult rv;
if (NS_FAILED(rv = GetModuleInfo()))
return rv;
RegisterSelfData data = { mComponentMgr, dir };
PL_DHashTableEnumerate(&mInfoHash, info_RegisterSelf, &data);
-----------------------------------------------------------------------
i guess no one ever tested the --disable-static-component-loader patch with an
actual static build :-(
Comment 8•21 years ago
|
||
correction: that patch isn't necessary. it isn't right either. my tree was
out-of-date :(
sorry for the noise!!
Updated•9 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•