gecko/embedding/config/readme.html

170 lines
6.6 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>