From ab76ca26bbaff8cbc28bec3fff12645c578e54b1 Mon Sep 17 00:00:00 2001 From: "dp%netscape.com" Date: Sun, 14 May 2000 18:22:11 +0000 Subject: [PATCH] Initial version --- xpcom/doc/xpcom-standalone.html | 180 ++++++++++++++++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 xpcom/doc/xpcom-standalone.html diff --git a/xpcom/doc/xpcom-standalone.html b/xpcom/doc/xpcom-standalone.html new file mode 100644 index 000000000000..297c97132d55 --- /dev/null +++ b/xpcom/doc/xpcom-standalone.html @@ -0,0 +1,180 @@ + + + + + + + + + +
+

+Standalone XPCOM v 0.5

+ +
Version 0.5 +
15 May 2000 +
Suresh Duddi <dp@netscape.com> +
+ +

+1.0  Requirements

+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: + + +

+

+ +

+2.0  Building Standalone XPCOM

+Here are the instructions for building the Standalone XPCOM on unix: +
  +
    Step 1 : Pull the sources +
  1. +cvs co mozilla/nsprpub mozilla/modules/libreg mozilla/xpcom
  2. + +
  3. +<get other required files under mozilla/>
  4. +
+ +
      +
    Step 2 : Building XPCOM Standalone +
  1. +cd mozilla; configure --enable-xpcom-standalone
  2. + +
  3. +cd nsprpub; gmake; cd ..
  4. + +
  5. +cd modules/libreg; gmake; cd ../..
  6. + +
  7. +cd xpcom; gmake; cd ..
  8. +
+ +

+

+ +

+3.0  Testing Standalone XPCOM

+xpcom/sample contains a sample application and a component. This +should get built by default. + +To run the test, +
    +
  1. +cd to your bin/ directory
  2. + +
  3. +setenv LD_LIBRARY_PATH .
  4. + +
  5. +./nsTestSample
    +Warning: MOZILLA_FIVE_HOME not set.
  6. + +
    nsNativeComponentLoader: autoregistering begins. +
    nsNativeComponentLoader: autoregistering succeeded +
    Inital print:  initial value +
    Set value to : XPCOM defies gravity +
    Final print:  XPCOM defies gravity +
    Test passed.
+ +

+

+ +

+4.0  Test FAILED: What went wrong ?

+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. +
    +
  1. +./nsTestSample: error in loading shared libraries: libxpcom.so: +cannot open shared object file: No such file or directory
  2. + +
      LD_LIBRARY_PATH not set. To fix "setenv LD_LIBRARY_PATH ."
    + +
  3. +Link errors when building xpcom standalone
  4. + +
      This is mostly due to the fact that probably xpcom is not being built +standalone. Make sure you did "configure --enable-xpcom-standalone"
    +
+ +

+5.0  Whats the difference between Standalone and non-Standalone XPCOM

+Here is what we had to do to get a working standalone XPCOM +
    +
  1. +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.
  2. + +
  3. +Disabled nsUnicharInputStream. This causes nsPersistentProperties to fail +always.
  4. + +
  5. +Disabled control of XPT from preferences.
  6. + +
  7. +Disabled use of ZIP format of XPT files.
  8. +
+ +

+6.0  TODO for v 1.0

+ +
    +
  1. +Enable XPCOM to work with unicode. Unicode, ASCII and ISO8859-1 will +be the charset that will be self supported by XPCOM.
  2. + +
  3. +Optional exclusion of specific features into standalone XPCOM like unicode +support, registry, xpconnect. Tweeking these options will cause reduction +in memory requirements and size.
  4. + +
  5. +Get xpcom/tests directory upto date and documented.
  6. + +
  7. +Make standalone XPCOM the only deliverable from xpcom. No more #ifndef +XPCOM_STANDALONE
  8. + +
  9. +Update this document for both Windows and Mac.
  10. + +
  11. +API freeze and documentation
  12. +
+ +

+

+ +

+7.0  Future (post v 1.0)

+mmh! let me think... +

+


+
Suresh Duddi <dp@netscape.com> + +