зеркало из https://github.com/mozilla/pjs.git
Initial version
This commit is contained in:
Родитель
a294cac2fd
Коммит
ba06cf0ccc
|
@ -0,0 +1,180 @@
|
|||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="Author" content="Suresh Duddi">
|
||||
<meta name="GENERATOR" content="Mozilla/4.71 [en] (X11; U; Linux 2.2.12-20 i686) [Netscape]">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
Standalone XPCOM v 0.5</h2></center>
|
||||
|
||||
<center>Version 0.5
|
||||
<br>15 May 2000
|
||||
<br>Suresh Duddi <dp@netscape.com>
|
||||
<hr WIDTH="100%"></center>
|
||||
|
||||
<h3>
|
||||
1.0 Requirements</h3>
|
||||
Standalone XPCOM is a tree configuration, that when built, provides a minimal
|
||||
set of libraries (shared mostly) that can be used to get all features of
|
||||
XPCOM. The contents of this standalone XPCOM in general are:
|
||||
<ul>
|
||||
<li>
|
||||
NSPR : mozilla/nsprpub</li>
|
||||
|
||||
<li>
|
||||
Registry : mozilla/modules/libreg</li>
|
||||
|
||||
<li>
|
||||
XPCOM : mozilla/xpcom</li>
|
||||
</ul>
|
||||
|
||||
<h3>
|
||||
</h3>
|
||||
|
||||
<h3>
|
||||
2.0 Building Standalone XPCOM</h3>
|
||||
Here are the instructions for building the Standalone XPCOM on unix:
|
||||
<br><b></b>
|
||||
<ol><b>Step 1 : Pull the sources</b>
|
||||
<li>
|
||||
<tt>cvs co mozilla/nsprpub mozilla/modules/libreg mozilla/xpcom</tt></li>
|
||||
|
||||
<li>
|
||||
<get other required files under mozilla/></li>
|
||||
</ol>
|
||||
|
||||
<ol>
|
||||
<br><b>Step 2 : Building XPCOM Standalone</b>
|
||||
<li>
|
||||
<tt>cd mozilla; configure --enable-xpcom-standalone</tt></li>
|
||||
|
||||
<li>
|
||||
<tt>cd nsprpub; gmake; cd ..</tt></li>
|
||||
|
||||
<li>
|
||||
<tt>cd modules/libreg; gmake; cd ../..</tt></li>
|
||||
|
||||
<li>
|
||||
<tt>cd xpcom; gmake; cd ..</tt></li>
|
||||
</ol>
|
||||
|
||||
<h3>
|
||||
</h3>
|
||||
|
||||
<h3>
|
||||
3.0 Testing Standalone XPCOM</h3>
|
||||
<tt>xpcom/sample</tt> contains a sample application and a component. This
|
||||
should get built by default.
|
||||
<ul>
|
||||
<li>
|
||||
<tt>nsTestSample</tt> is the sample application. This should have been
|
||||
installed in your <tt>bin/</tt> directory.</li>
|
||||
|
||||
<li>
|
||||
<tt>libsample.so (unix) </tt>is the sample component implementation that
|
||||
the sample application will try to instantiate. This should have been installed
|
||||
in your <tt>bin/components</tt> directory</li>
|
||||
</ul>
|
||||
To run the test,
|
||||
<ol>
|
||||
<li>
|
||||
cd to your <tt>bin/</tt> directory</li>
|
||||
|
||||
<li>
|
||||
setenv LD_LIBRARY_PATH .</li>
|
||||
|
||||
<li>
|
||||
<tt>./nsTestSample<br>
|
||||
Warning: MOZILLA_FIVE_HOME not set.</tt></li>
|
||||
|
||||
<br><tt>nsNativeComponentLoader: autoregistering begins.</tt>
|
||||
<br><tt>nsNativeComponentLoader: autoregistering succeeded</tt>
|
||||
<br><tt>Inital print: initial value</tt>
|
||||
<br><tt>Set value to : XPCOM defies gravity</tt>
|
||||
<br><tt>Final print: XPCOM defies gravity</tt>
|
||||
<br><b><tt>Test passed.</tt></b></ol>
|
||||
|
||||
<h3>
|
||||
</h3>
|
||||
|
||||
<h3>
|
||||
4.0 Test FAILED: What went wrong ?</h3>
|
||||
The most common case of why the sample would have failed if you didn't
|
||||
run it from the bin directoy. Here are some error messsages and possible
|
||||
ways of fixing them.
|
||||
<ol>
|
||||
<li>
|
||||
<b><tt>./nsTestSample: error in loading shared libraries: libxpcom.so:
|
||||
cannot open shared object file: No such file or directory</tt></b></li>
|
||||
|
||||
<ol>LD_LIBRARY_PATH not set. To fix "<tt>setenv LD_LIBRARY_PATH ."</tt></ol>
|
||||
|
||||
<li>
|
||||
<b>Link errors when building xpcom standalone</b></li>
|
||||
|
||||
<ol>This is mostly due to the fact that probably xpcom is not being built
|
||||
standalone. Make sure you did "<tt>configure --enable-xpcom-standalone"</tt></ol>
|
||||
</ol>
|
||||
|
||||
<h3>
|
||||
5.0 Whats the difference between Standalone and non-Standalone XPCOM</h3>
|
||||
Here is what we had to do to get a working standalone XPCOM
|
||||
<ol>
|
||||
<li>
|
||||
Disabled all forms of unicode conversion. nsString, nsCRT were using this
|
||||
in various forms. Only ASCII is expected to work. Other charsets including
|
||||
unicode are not guaranteed to work.</li>
|
||||
|
||||
<li>
|
||||
Disabled nsUnicharInputStream. This causes nsPersistentProperties to fail
|
||||
always.</li>
|
||||
|
||||
<li>
|
||||
Disabled control of XPT from preferences.</li>
|
||||
|
||||
<li>
|
||||
Disabled use of ZIP format of XPT files.</li>
|
||||
</ol>
|
||||
|
||||
<h3>
|
||||
6.0 TODO for v 1.0</h3>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
Enable XPCOM to work with unicode. Unicode, ASCII and ISO8859-1 will
|
||||
be the charset that will be self supported by XPCOM.</li>
|
||||
|
||||
<li>
|
||||
Optional exclusion of specific features into standalone XPCOM like unicode
|
||||
support, registry, xpconnect. Tweeking these options will cause reduction
|
||||
in memory requirements and size.</li>
|
||||
|
||||
<li>
|
||||
Get <tt>xpcom/tests</tt> directory upto date and documented.</li>
|
||||
|
||||
<li>
|
||||
Make standalone XPCOM the only deliverable from xpcom. No more <tt>#ifndef
|
||||
XPCOM_STANDALONE</tt></li>
|
||||
|
||||
<li>
|
||||
Update this document for both Windows and Mac.</li>
|
||||
|
||||
<li>
|
||||
API freeze and documentation</li>
|
||||
</ol>
|
||||
|
||||
<h3>
|
||||
</h3>
|
||||
|
||||
<h3>
|
||||
7.0 Future (post v 1.0)</h3>
|
||||
mmh! let me think...
|
||||
<p>
|
||||
<hr WIDTH="100%">
|
||||
<br>Suresh Duddi <dp@netscape.com>
|
||||
</body>
|
||||
</html>
|
Загрузка…
Ссылка в новой задаче