embedding/config/readme.html
author timeless@mozdev.org
Sun, 16 Mar 2008 13:30:40 -0700
changeset 13143 56b3af45a98cc703416b4aa252dd458dbdb0c21e
parent 1 9b2a99adc05e53cd4010de512f50118594756650
permissions -rw-r--r--
Bug 3004 Remove debug robot from build removed robot from the build, this removes it from cvs NPOB toolkit changes r=luser, a=luser

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Embedding distribution information</title>
</head>
  <body>
       
<h2>Introduction</h2>
       
<p>This is the Embedding distribution of <a
 href="http://www.mozilla.org/">Mozilla</a>. It     serves as a reference 
and smoketest distribution to demonstrate a typical     subset of Mozilla 
needed to embed it into another application. The     distribution contains 
sample applications for testing and development purposes.</p>
       
<p>Please note the phrase<i> typical subset</i>! If you want to use a different
     subset then see the <a href="#cust">customizing the embedding distribution</a>
     section below.</p>
       
<h2>Where can I find more information about embedding? </h2>
       
<p>Mozilla.org - <a href="http://www.mozilla.org/">http://www.mozilla.org/</a>.</p>
       
<p>The Embedding project page - <a
 href="http://www.mozilla.org/projects/embedding/">http://www.mozilla.org/projects/embedding/</a>.
     This page should serve as your main point of information for learning 
how to     embed Mozilla in your own applications.</p>
       
<p>The Embedding Frequently Asked Questions (FAQ) page - <a
 href="http://www.mozilla.org/projects/embedding/faq.html">http://www.mozilla.org/projects/embedding/faq.html</a>.�</p>
       
<p>The Embedding newsgroup - <a
 href="news:netscape.public.mozilla.embedding">news:netscape.public.mozilla.embedding</a>.</p>
       
<p>The Embedding QA page - <a
 href="http://www.mozilla.org/quality/embed/">http://www.mozilla.org/quality/embed/</a>.</p>
       
<p>Instructions for building Mozilla (including Embedding) - <a
 href="http://www.mozilla.org/build/">http://www.mozilla.org/build/</a>.</p>
       
<p>Instructions for fetching Mozilla source code (including Embedding) - <a
 href="http://www.mozilla.org/source.html">http://www.mozilla.org/source.html</a>.</p>
       
<h2>Contents </h2>
       
<p>The distribution contains, libraries, resources and chrome. All of this
     is a subset of Mozilla, repackaged for embedding. The layout follows 
the     usual Mozilla directory, i.e. </p>
       
<ul>
        <li>./ - Test applications, launch scripts and core libraries (xpcom, 
nspr         etc.)</li>
        <li>./components/ - XPCOM components (network, graphics, layout,
content,          etc.).</li>
        <li>./chrome/ - chrome files. In embedding most of the chrome has 
been         re-packaged into a single embed.jar file to make it more manageable.</li>
        <li>./res/ - miscellaneous rendering and parser files.</li>
        <li>./defaults/ - default preference settings</li>
       
</ul>
       
<h3>Unix</h3>
       
<h4>TestGtkEmbed</h4>
       
<p>A simple browser application built using the GTK+ Browser Widget.</p>
       
<h4>GTK+ Browser Widget</h4>
       
<p>A GTK+ widget for embedding Mozilla into GTK+/GNOME applications such as
<a href="http://galeon.sourceforge.net/">Galeon</a>.     More information 
about the widget may be found here <a
 href="http://www.mozilla.org/unix/gtk-embedding.html">http://www.mozilla.org/unix/gtk-embedding.html</a>. 
</p>
       
<h3>Windows</h3>
       
<h4>MFCEmbed</h4>
       
<p>A complete browser application written in MFC and the Gecko embedding APIs.
    This application demonstrates and exercises the functionality necessary 
to     put together a fully featured browser using Gecko.</p>
       
<h4>Mozilla ActiveX Control</h4>
       
<p>An ActiveX browser control built with the embedding APIs. You may use the
    control to embed a browser inside applications     written in VB, Delphi
etc. More information about the control including     installation instructions
may be found at <a href="http://www.iol.ie/%7Elocka/mozilla/mozilla.htm">http://www.iol.ie/~locka/mozilla/mozilla.htm</a>.
     </p>
       
<h3>Macintosh </h3>
       
<p>PPEmbed is built as part of the standard Mac embedding build. Work on <a
 href="http://www.mozilla.org/ports/fizzilla/Mach.html">Fizilla     Mach</a> 
may also yield a Mac embedding distribution in the future. </p>
       
<h2>Installation and Usage </h2>
       
<h3>Unix</h3>
       
<ol>
        <li>Untar the embedding distribution into an empty directory of your
         choice.</li>
        <li>From the command-line, cd into the directory and type       
 './run-mozilla.sh ./TestGtkEmbed'</li>
       
</ol>
       
<h3>Windows </h3>
       
<ol>
        <li>Unzip the embedding distribution into an empty directory of your
         choice.</li>
        <li>Double-click on mfcembed.exe</li>
       
</ol>
       
<h2><a name="cust">Customizing the embedding distribution</a></h2>
       
<p>The embedding distribution is produced by first building the full Mozilla
     source and cherry picking files and chrome into a separate embedding 
directory.     Basically the steps are:</p>
       
<ol>
        <li>Build Mozilla as usual</li>
        <li>cd mozilla/embedding/config</li>
        <li>make</li>
</ol>

<p><strong>Note:</strong> When using an objdir, cd into
&lt;objdir&gt;/embedding/config instead, and run make there.</p>

<p>The embedding distribution will appear in mozilla/dist/Embed.</p>
       
<p>The build process works by reading a file called basebrowser-win (or  
  basebrowser-unix, basebrowser-mac-macho etc.) and copying the listed files 
from     mozilla/dist/bin into mozilla/dist/Embed. It then reads a file called 
embed-jar.mn     and repackages the specified chrome files and directories 
into a single     embed.jar.<br>
 </p>
 
<p>This process can be customized in one of two ways:<br>
 </p>
 
<ol>
   <li>Edit basebrowser-foo (where foo = win, unix etc.) and remove/add the 
items you require</li>
   <li>Create a new file called client-foo and add the items you require. 
This file is detected by the build process and will be run <i>after</i> the
contents of basebrowser-foo have been copied.</li>
 
</ol>
 The latter is the best probably approach to take since the embedder can
maintain these files without modifying ones in Mozilla<i></i>. The client-foo
file      allows embedders to specify files to be added or removed from the
default      embedding distribution. A minus sign in front of a filename
deletes that      file.       
<p>For example if you wanted a distribution containing extra character converters, 
but not the ActiveX control and not XMLExtras you might define a     client-win 
like this:</p>
       
<pre>[Embed]<br>components\ucvja.dll<br>components\ucvko.dll<br>components\ucvcn.dll<br>components\ucvtw.dll<br>components\ucvtw2.dll<br>components\ucvibm.dll<br>-mozctl.dll<br>-mozctlx.dll<br>-components\xmlextras.dll<br>-components\xmlextras.xpt<br></pre>
       
<p></p>
 <br>
 <br>
</body>
</html>