Mozilla Source Code Directory Structure

  • Revision slug: Mozilla_Source_Code_Directory_Structure
  • Revision title: Mozilla Source Code Directory Structure
  • Revision id: 40130
  • Created:
  • Creator: Jeff Carr
  • Is current revision? No
  • Comment /* network/ */

Revision Content

Overview

The mozilla source code for all projects (Firefox, Thunderbird) is combined into a single tree. This tree contains all the source code for all the projects in the mozilla family and all the code required to build each project on the platforms each project supports (Linux, Windows, Mac OS, etc).

Getting the Source Code

You can download a compressed file of a snapshot of the sources or you can check out the current sources from cvs. Mozilla Source Code Via CVS or Download Mozilla Source Code

The Source Code Directory Structure

Here is a first attempt to explain what the top level directories in the mozilla cvs repository contain & what they are for.

README/

Contains 2 readme files: mozilla/README.build & mozilla/README.os2

accessible/

Provides the hooks to enable support for hearing and sight impaired users.

admin/

Seemingly empty directory.

apache

Contains apache/gzip/src/modules/do_gzip/mod_gzip_content.c

base/

An empty directory.

browser/

Contains the source code for the Mozilla browser. This code is shared between all ports (Mozilla, Firefox, Camino, etc) and platforms (Linux,Windows,Mac OS, etc).

build/

The files needed to create packages (autoconf,rpm,deb,unix,wince,mac,etc).

calendar/

From the README in calandar/ :

resources/
        content/ - This directory contains all the XUL and JS files needed for the calendar.
              /test      - Test files for the calendar. These are not needed to run it.
        locale/  - Where the text for the calendar ends up, as well as definitions for dates and date formats.
           en-US/
        skin/    - Graphics and CSS files defining the look of the calendar.
           modern/
              ca-event-dialog/ - Graphics and CSS files for the dialog which adds and edits events.
           classic/
              ca-event-dialog/ - Graphics and CSS files for the dialog which adds and edits events.

libxpical/ - An XPCOM interface to the libical library. This is needed to retreive and write calendar information to a file.

camino/

Contains the code to build camino which is a mozilla based browser customized for the MacOS look & feel.

caps/

Capability-based web page security management

caps contains C++ interfaces and code for determining the capabilities of content based on the security settings or certificates (e.g. Verisign).

Source in caps/src/ & caps/include/

cck

??

chimera/

Just an empty directory.

chrome/

The chrome look & feel theme. (chrome/src)

cmd/

Another empty directory.

composer/

The Mozilla HTML Composer.

config/

Files required to configure & prepare Mozilla to be built.

content/

Not sure what this code is for. The important files seems to be the cpp files in content/base/src :

mozSanitizingSerializer.cpp nsAtomListUtils.cpp nsAttrAndChildArray.cpp nsAttrValue.cpp nsCommentNode.cpp nsContentAreaDragDrop.cpp nsContentIterator.cpp nsContentList.cpp nsContentPolicy.cpp nsContentSink.cpp nsContentUtils.cpp nsCopySupport.cpp nsDOMAttribute.cpp nsDOMAttributeMap.cpp nsDOMBuilder.cpp nsDOMDocumentType.cpp nsDOMLists.cpp nsDataDocumentContentPolicy.cpp nsDocument.cpp nsDocumentEncoder.cpp nsDocumentFragment.cpp nsFrameLoader.cpp nsGenConImageContent.cpp nsGeneratedIterator.cpp nsGenericDOMDataNode.cpp nsGenericDOMNodeList.cpp nsGenericElement.cpp nsHTMLContentSerializer.cpp nsImageLoadingContent.cpp nsMappedAttributes.cpp nsNameSpaceManager.cpp nsNodeInfo.cpp nsNodeInfoManager.cpp nsObjectLoadingContent.cpp nsParserUtils.cpp nsPlainTextSerializer.cpp nsPropertyTable.cpp nsRange.cpp nsScriptEventManager.cpp nsScriptLoader.cpp nsStubDocumentObserver.cpp nsStyleLinkElement.cpp nsSyncLoadService.cpp nsTextFragment.cpp nsTextNode.cpp nsTreeWalker.cpp nsXMLContentSerializer.cpp nsXMLNameSpaceMap.cpp

db/

mdb/Mork general-purpose database

db contains C++ code for the mdb/Mork database which is a low-level, general-purpose and cross-platform file library. It is used to store mail box data, news data and global history data.

dbm/

Source for this db in dbm/src/ and is still being occationally updated in 2005 to it must be used for something.

directory/

Contains things in the following directories: c-sdk/ java-sdk/ perldap/ tools/ xpcom/

docshell/

Probably the code to control how the entry text box works. Main files are: base/nsDocShell.cpp shistory/src/nsSHistory.cpp base/nsWebShell.cpp base/nsDocShell.h base/nsDefaultURIFixup.cpp

dom/

Contains many .idl files in public/idl/ and some source code in src/base/

editor/

The Mozilla HTML editor.

ef/

Electrical Fire is the code name for a multi-platform Just-In-Time Java compiler (JIT). For more information, see the Electrical Fire homepage (The homepage states this project was dropped in 1998).

embedding/

Contains projects related to embedding Mozilla projects into things. Includes things like the [Minimo Project] which is intended on minimizing the memory footprint of Mozilla.

expat/

Just an empty directory.

extensions/

Code for the various Mozilla extentions is in here. There are many! access-builtin auth cck chimera content-packs cookie ctl cview datetime editor finger gnomevfs help inspector interfaceinfo irc java jssh layout-debug lightning manticore mono negotiateauth p3p pageInfo permissions pgpmail pics pref preloader psm-glue python reporter schema-validation spatialnavigation spellcheck sql sroaming tasks transformiix tridentprofile typeaheadfind universalchardet venkman vixen wallet webdav webservices xforms xml-rpc xmlextras xmlprettyprinter xmlterm

gc/

Contains the boehm general purpose, garbage collecting storage allocator. Not sure of anything uses this or not. Original code in boehm/ is circa 1999 & 2000. boehm/leaksoup/ and boehm/xSYM/ were added in March 2002.

gconfig/

Files used to configure the build enviornment for the various platforms that Mozilla supports (or supported in the past) as targets: (AIX AIX3.2 AIX4.1 AIX4.2 AIX4.3 FreeBSD2 HP-UX HP-UXA.09.03 HP-UXA.09.07 HP-UXA.09 HP-UXB.10.01 HP-UXB.10.10 HP-UXB.10.20 HP-UXB.10.30 HP-UXB.10 HP-UXB.11.00 HP-UXB.11 IRIX IRIX5.2 IRIX5.3 IRIX5 IRIX6.2 IRIX6.3 IRIX6 Linux Linux2.0.34_x86 LinuxELF1.2 LinuxELF2.0 NCR3.0 NEC4.2 OSF1 OSF1V2.0 OSF1V3.0 OSF1V3.2 OSF1V4.0 OSF1V4.0B OSF1V4.0D ReliantUNIX ReliantUNIX5.4 SCOOS5.0 SCO_SV3.2 SunOS4.1.3_U1 SunOS5.3 SunOS5.4 SunOS5.4_i86pc SunOS5.5.1 SunOS5.5.1_i86pc SunOS5.5 SunOS5.6 SunOS5.6_i86pc SunOS5 UNIX UNIXWARE2.1 WIN16 WIN32 WIN954.0 WINNT3.51 WINNT4.0)

gfx/

Most of the files are in the cairo/ src/ and thebes/ directories.

gfx2/

Contains "GFX2: The widget/gfx redesign" from 2002 in proposal.html.

grendel/

This is Grendel -- a Java mail/news client.

htmlparser/

An empty directory.

include/

An empty directory.

intl/

Support code for the internationalization of Mozilla. The main directories are bidi/ chardet/ ctl/ locale/ lwbrk/ strres/ uconv/ and unicharutil/

ipc/

Contains the code to support InterProcess Communication between Mozilla's products in the directory ipcd/

java/

The Java Enhancers to the Mozilla web browser.

Currently, the only active sub-project is the Webclient Java API to the Mozilla web browser. This project also leverages the JavaDOM sub-project.

The JavaDOM sub-project directories contain Java sources, Java native methods implementation, native c++ code and Java DOM API tests respectively.

Read the build/README.* files for build instructions (blackconnect, blackwood, dom, pluglet and webclient).

jpeg/

The README for the source code in here starts with:

The Independent JPEG Group's JPEG software

README for release 6b of 27-Mar-1998

This distribution contains the sixth public release of the Independent JPEG Group's free JPEG software.

js/

This directory contains the code for the SpiderMonkey (JavaScript-C) Engine.

See the Spider Monkey pages for more information and Documentation.

js2/

The README file has "Build instructions for Epimetheus 10/12/2002" and some notes on how to build it on Linux & Windows. Not sure what it is, but it was probably intended on a code rewrite to the js/

l10n/

An empty directory.

layout/

The Gecko Layout components and classes.

Layout Documentation Overview

High Level Design Template

Detailed Design Template

lib/

All the directories are empty except for the mac/ directory. Most of the files in there are in mac/UserInterface/

mail/

Code for Mozilla based mail clients like Thunderbird.

mailnews/

More code for Thunderbird.

minimo/

Not sure what this is for, mostly just contains the directory chrome/

modules/

Contains a number of module directories: appfilelocprovider calendar coreincl edtplug files fullsoft ipc libbz2 libeclient libfont libhook libimg libjar libmar libnls libpr0n libpref libreg libtest libutil makefile.win mozinfo mpfilelocprovider oji plugin progress rdf schedulr security softupdt staticmod transactionmngr unicharutil xml zlib

mozilla/

An empty directory.

msgsdk/

The "Netscape Messaging Access SDK" which contains a bunch of code in a C/ and java/ directory.

mstone/

"MSTONE 4.2

Mstone is a mail server performance testing tool designed to simulate the different types and volume of mail traffic a mail server would experience during a peak activity period. Mstone was formerly known as Mailstone."

mzlu/

Another empty directory.

nav-java

Another empty directory.

netwerk/

This seems to be where the network support code is for mozilla.

network/

This directory is full of empty directories.

nglayout

nsprpub

nunet

other-licenses

parser

plugin

privacy

profile

rdf

registry

security

shell

silentdl

storage

string

suite

sun-java

themes

timer

toolkit

tools

tripledb

uriloader

view

wallet

webshell

webtools

widget

xpcom

xpcom_obsolete

xpfc

xpfe

xpinstall

xulrunner

zap

That's all folks!

Revision Source

<h3 name="Overview"> Overview </h3>
<p>The mozilla source code for all projects (<a href="en/Firefox">Firefox</a>, <a href="en/Thunderbird">Thunderbird</a>) is combined into a single tree. This tree contains all the source code for all the projects in the mozilla family and all the code required to build each project on the platforms each project supports (Linux, Windows, Mac OS, etc).
</p>
<h3 name="Getting_the_Source_Code"> Getting the Source Code </h3>
<p>You can download a compressed file of a snapshot of the sources or you can check out the current sources from cvs. <a href="en/Mozilla_Source_Code_Via_CVS">Mozilla Source Code Via CVS</a> or <a href="en/Download_Mozilla_Source_Code">Download Mozilla Source Code</a>
</p>
<h3 name="The_Source_Code_Directory_Structure"> The Source Code Directory Structure </h3>
<p>Here is a first attempt to explain what the top level directories in the mozilla cvs repository contain &amp; what they are for.
</p>
<h4 name="README.2F"> README/ </h4>
<p>Contains 2 readme files: mozilla/README.build &amp; mozilla/README.os2
</p>
<h4 name="accessible.2F"> accessible/ </h4>
<p>Provides the hooks to enable support for hearing and sight impaired users.
</p>
<h4 name="admin.2F"> admin/ </h4>
<p>Seemingly empty directory.
</p>
<h4 name="apache"> apache </h4>
<p>Contains apache/gzip/src/modules/do_gzip/mod_gzip_content.c
</p>
<h4 name="base.2F"> base/ </h4>
<p>An empty directory.
</p>
<h4 name="browser.2F"> browser/ </h4>
<p>Contains the source code for the Mozilla browser. This code is shared between all ports (Mozilla, Firefox, Camino, etc) and platforms (Linux,Windows,Mac OS, etc).
</p>
<h4 name="build.2F"> build/ </h4>
<p>The files needed to create packages (autoconf,rpm,deb,unix,wince,mac,etc).
</p>
<h4 name="calendar.2F"> calendar/ </h4>
<p>From the README in calandar/ :
</p>
<pre class="eval">resources/
        content/ - This directory contains all the XUL and JS files needed for the calendar.
              /test      - Test files for the calendar. These are not needed to run it.
        locale/  - Where the text for the calendar ends up, as well as definitions for dates and date formats.
           en-US/
        skin/    - Graphics and CSS files defining the look of the calendar.
           modern/
              ca-event-dialog/ - Graphics and CSS files for the dialog which adds and edits events.
           classic/
              ca-event-dialog/ - Graphics and CSS files for the dialog which adds and edits events.

libxpical/ - An XPCOM interface to the libical library. This is needed to retreive and write calendar information to a file.
</pre>
<h4 name="camino.2F"> camino/ </h4>
<p>Contains the code to build <a class="external" href="http://www.mozilla.org/projects/camino/homepage.html">camino</a> which is a mozilla based browser customized for the MacOS look &amp; feel.
</p>
<h4 name="caps.2F"> caps/ </h4>
<p>Capability-based web page security management
</p><p>caps contains C++ interfaces and code for determining the capabilities
of content based on the security settings or certificates (e.g. Verisign).
</p><p>Source in caps/src/ &amp; caps/include/
</p>
<h4 name="cck"> cck </h4>
<p>??
</p>
<h4 name="chimera.2F"> chimera/ </h4>
<p>Just an empty directory.
</p>
<h4 name="chrome.2F"> chrome/ </h4>
<p>The chrome look &amp; feel theme. (chrome/src)
</p>
<h4 name="cmd.2F"> cmd/ </h4>
<p>Another empty directory.
</p>
<h4 name="composer.2F"> composer/ </h4>
<p>The Mozilla HTML Composer.
</p>
<h4 name="config.2F"> config/ </h4>
<p>Files required to configure &amp; prepare Mozilla to be built.
</p>
<h4 name="content.2F"> content/ </h4>
<p>Not sure what this code is for. The important files seems to be the cpp files in content/base/src :
</p><p><a href="en/MozSanitizingSerializer.cpp">mozSanitizingSerializer.cpp</a> <a href="en/NsAtomListUtils.cpp">nsAtomListUtils.cpp</a> <a href="en/NsAttrAndChildArray.cpp">nsAttrAndChildArray.cpp</a> <a href="en/NsAttrValue.cpp">nsAttrValue.cpp</a> <a href="en/NsCommentNode.cpp">nsCommentNode.cpp</a> <a href="en/NsContentAreaDragDrop.cpp">nsContentAreaDragDrop.cpp</a> <a href="en/NsContentIterator.cpp">nsContentIterator.cpp</a> <a href="en/NsContentList.cpp">nsContentList.cpp</a> <a href="en/NsContentPolicy.cpp">nsContentPolicy.cpp</a> <a href="en/NsContentSink.cpp">nsContentSink.cpp</a> <a href="en/NsContentUtils.cpp">nsContentUtils.cpp</a> <a href="en/NsCopySupport.cpp">nsCopySupport.cpp</a> <a href="en/NsDOMAttribute.cpp">nsDOMAttribute.cpp</a> <a href="en/NsDOMAttributeMap.cpp">nsDOMAttributeMap.cpp</a> <a href="en/NsDOMBuilder.cpp">nsDOMBuilder.cpp</a> <a href="en/NsDOMDocumentType.cpp">nsDOMDocumentType.cpp</a> <a href="en/NsDOMLists.cpp">nsDOMLists.cpp</a> <a href="en/NsDataDocumentContentPolicy.cpp">nsDataDocumentContentPolicy.cpp</a> <a href="en/NsDocument.cpp">nsDocument.cpp</a> <a href="en/NsDocumentEncoder.cpp">nsDocumentEncoder.cpp</a> <a href="en/NsDocumentFragment.cpp">nsDocumentFragment.cpp</a> <a href="en/NsFrameLoader.cpp">nsFrameLoader.cpp</a> <a href="en/NsGenConImageContent.cpp">nsGenConImageContent.cpp</a> <a href="en/NsGeneratedIterator.cpp">nsGeneratedIterator.cpp</a> <a href="en/NsGenericDOMDataNode.cpp">nsGenericDOMDataNode.cpp</a> <a href="en/NsGenericDOMNodeList.cpp">nsGenericDOMNodeList.cpp</a> <a href="en/NsGenericElement.cpp">nsGenericElement.cpp</a> <a href="en/NsHTMLContentSerializer.cpp">nsHTMLContentSerializer.cpp</a> <a href="en/NsImageLoadingContent.cpp">nsImageLoadingContent.cpp</a> <a href="en/NsMappedAttributes.cpp">nsMappedAttributes.cpp</a> <a href="en/NsNameSpaceManager.cpp">nsNameSpaceManager.cpp</a> <a href="en/NsNodeInfo.cpp">nsNodeInfo.cpp</a> <a href="en/NsNodeInfoManager.cpp">nsNodeInfoManager.cpp</a> <a href="en/NsObjectLoadingContent.cpp">nsObjectLoadingContent.cpp</a> <a href="en/NsParserUtils.cpp">nsParserUtils.cpp</a> <a href="en/NsPlainTextSerializer.cpp">nsPlainTextSerializer.cpp</a> <a href="en/NsPropertyTable.cpp">nsPropertyTable.cpp</a> <a href="en/NsRange.cpp">nsRange.cpp</a> <a href="en/NsScriptEventManager.cpp">nsScriptEventManager.cpp</a> <a href="en/NsScriptLoader.cpp">nsScriptLoader.cpp</a> <a href="en/NsStubDocumentObserver.cpp">nsStubDocumentObserver.cpp</a> <a href="en/NsStyleLinkElement.cpp">nsStyleLinkElement.cpp</a> <a href="en/NsSyncLoadService.cpp">nsSyncLoadService.cpp</a> <a href="en/NsTextFragment.cpp">nsTextFragment.cpp</a> <a href="en/NsTextNode.cpp">nsTextNode.cpp</a> <a href="en/NsTreeWalker.cpp">nsTreeWalker.cpp</a> <a href="en/NsXMLContentSerializer.cpp">nsXMLContentSerializer.cpp</a> <a href="en/NsXMLNameSpaceMap.cpp">nsXMLNameSpaceMap.cpp</a>
</p>
<h4 name="db.2F"> db/ </h4>
mdb/Mork general-purpose database<p>

db contains C++ code for the mdb/Mork database which is a low-level,
general-purpose and cross-platform file library. It is used to store
mail box data, news data and global history data.

</p><h4 name="dbm.2F"> dbm/ </h4>
<p>Source for this db in dbm/src/ and is still being occationally updated in 2005 to it must be used for something.
</p>
<h4 name="directory.2F"> directory/ </h4>
<p>Contains things in the following directories: <a href="en/C-sdk">c-sdk/</a> <a href="en/Java-sdk">java-sdk/</a> <a href="en/Perldap">perldap/</a> <a href="en/Tools">tools/</a> <a href="en/Xpcom">xpcom/</a>
</p>
<h4 name="docshell.2F"> docshell/ </h4>
<p>Probably the code to control how the entry text box works. Main files are: <a href="en/Base%2f%2fnsDocShell.cpp">base/nsDocShell.cpp</a> <a href="en/Shistory%2f%2fsrc%2f%2fnsSHistory.cpp">shistory/src/nsSHistory.cpp</a> <a href="en/Base%2f%2fnsWebShell.cpp">base/nsWebShell.cpp</a> <a href="en/Base%2f%2fnsDocShell.h">base/nsDocShell.h</a> <a href="en/Base%2f%2fnsDefaultURIFixup.cpp">base/nsDefaultURIFixup.cpp</a>
</p>
<h4 name="dom.2F"> dom/ </h4>
<p>Contains many .idl files in public/idl/ and some source code in src/base/
</p>
<h4 name="editor.2F"> editor/ </h4>
<p>The Mozilla HTML editor.
</p>
<h4 name="ef.2F"> ef/ </h4>
<p>Electrical Fire is the code name for a multi-platform Just-In-Time Java
compiler (JIT). For more information, see the <a class="external" href="http://www.mozilla.org/projects/ef">Electrical Fire homepage</a> (The homepage states this project was dropped in 1998).
</p>
<h4 name="embedding.2F"> embedding/ </h4>
<p>Contains projects related to embedding Mozilla projects into things. Includes things like the [<a class="external" href="http://www.mozilla.org/projects/minimo/">Minimo Project</a>] which is intended on minimizing the memory footprint of Mozilla.
</p>
<h4 name="expat.2F"> expat/ </h4>
<p>Just an empty directory.
</p>
<h4 name="extensions.2F"> extensions/ </h4>
<p>Code for the various Mozilla extentions is in here. There are many! <a href="en/Access-builtin">access-builtin</a> <a href="en/Auth">auth</a> <a href="en/Cck">cck</a> <a href="en/Chimera">chimera</a> <a href="en/Content-packs">content-packs</a> <a href="en/Cookie">cookie</a> <a href="en/Ctl">ctl</a> <a href="en/Cview">cview</a> <a href="en/Datetime">datetime</a> <a href="en/Editor">editor</a> <a href="en/Finger">finger</a> <a href="en/Gnomevfs">gnomevfs</a> <a href="en/Help">help</a> <a href="en/Inspector">inspector</a> <a href="en/Interfaceinfo">interfaceinfo</a> <a href="en/Irc">irc</a> <a href="en/Java">java</a> <a href="en/Jssh">jssh</a> <a href="en/Layout-debug">layout-debug</a> <a href="en/Lightning">lightning</a> <a href="en/Manticore">manticore</a> <a href="en/Mono">mono</a> <a href="en/Negotiateauth">negotiateauth</a> <a href="en/P3p">p3p</a> <a href="en/PageInfo">pageInfo</a> <a href="en/Permissions">permissions</a> <a href="en/Pgpmail">pgpmail</a> <a href="en/Pics">pics</a> <a href="en/Pref">pref</a> <a href="en/Preloader">preloader</a> <a href="en/Psm-glue">psm-glue</a> <a href="en/Python">python</a> <a href="en/Reporter">reporter</a> <a href="en/Schema-validation">schema-validation</a> <a href="en/Spatialnavigation">spatialnavigation</a> <a href="en/Spellcheck">spellcheck</a> <a href="en/Sql">sql</a> <a href="en/Sroaming">sroaming</a> <a href="en/Tasks">tasks</a> <a href="en/Transformiix">transformiix</a> <a href="en/Tridentprofile">tridentprofile</a> <a href="en/Typeaheadfind">typeaheadfind</a> <a href="en/Universalchardet">universalchardet</a> <a href="en/Venkman">venkman</a> <a href="en/Vixen">vixen</a> <a href="en/Wallet">wallet</a> <a href="en/Webdav">webdav</a> <a href="en/Webservices">webservices</a> <a href="en/Xforms">xforms</a> <a href="en/Xml-rpc">xml-rpc</a> <a href="en/Xmlextras">xmlextras</a> <a href="en/Xmlprettyprinter">xmlprettyprinter</a> <a href="en/Xmlterm">xmlterm</a>
</p>
<h4 name="gc.2F"> gc/ </h4>
<p>Contains the boehm general purpose, garbage collecting storage
allocator. Not sure of anything uses this or not. Original code in boehm/ is circa 1999 &amp; 2000. boehm/leaksoup/ and boehm/xSYM/ were added in March 2002.
</p>
<h4 name="gconfig.2F"> gconfig/ </h4>
<p>Files used to configure the build enviornment for the various platforms that Mozilla supports (or supported in the past) as targets: (AIX AIX3.2 AIX4.1 AIX4.2 AIX4.3 FreeBSD2 HP-UX HP-UXA.09.03 HP-UXA.09.07 HP-UXA.09 HP-UXB.10.01 HP-UXB.10.10 HP-UXB.10.20 HP-UXB.10.30 HP-UXB.10 HP-UXB.11.00 HP-UXB.11 IRIX IRIX5.2 IRIX5.3 IRIX5 IRIX6.2 IRIX6.3 IRIX6 Linux Linux2.0.34_x86 LinuxELF1.2 LinuxELF2.0 NCR3.0 NEC4.2 OSF1 OSF1V2.0 OSF1V3.0 OSF1V3.2 OSF1V4.0 OSF1V4.0B OSF1V4.0D ReliantUNIX ReliantUNIX5.4 SCOOS5.0 SCO_SV3.2 SunOS4.1.3_U1 SunOS5.3 SunOS5.4 SunOS5.4_i86pc SunOS5.5.1 SunOS5.5.1_i86pc SunOS5.5 SunOS5.6 SunOS5.6_i86pc SunOS5 UNIX UNIXWARE2.1 WIN16 WIN32 WIN954.0 WINNT3.51 WINNT4.0)
</p>
<h4 name="gfx.2F"> gfx/ </h4>
<p>Most of the files are in the cairo/ src/ and thebes/ directories.
</p>
<h4 name="gfx2.2F"> gfx2/ </h4>
<p>Contains "GFX2: The widget/gfx redesign" from 2002 in proposal.html.
</p>
<h4 name="grendel.2F"> grendel/ </h4>
<p>This is <a class="external" href="http://www.mozilla.org/projects/grendel/">Grendel</a> -- a Java mail/news client.
</p>
<h4 name="htmlparser.2F"> htmlparser/ </h4>
<p>An empty directory.
</p>
<h4 name="include.2F"> include/ </h4>
<p>An empty directory.
</p>
<h4 name="intl.2F"> intl/ </h4>
<p>Support code for the internationalization of Mozilla. The main directories are bidi/ chardet/ ctl/ locale/ lwbrk/ strres/ uconv/ and unicharutil/
</p>
<h4 name="ipc.2F"> ipc/ </h4>
<p>Contains the code to support InterProcess Communication between Mozilla's products in the directory ipcd/
</p>
<h4 name="java.2F"> java/ </h4>
<p>The Java Enhancers to the Mozilla web browser.
</p><p>Currently, the only active sub-project is the Webclient Java API to the
Mozilla web browser.  This project also leverages the JavaDOM
sub-project.
</p><p>The JavaDOM sub-project directories contain Java sources, Java native methods implementation, native c++ code and Java DOM API tests respectively.
</p><p>Read the build/README.* files for build instructions (blackconnect, blackwood, dom, pluglet and webclient).
</p>
<h4 name="jpeg.2F"> jpeg/ </h4>
<p>The README for the source code in here starts with:
</p><p>The Independent JPEG Group's JPEG software
</p><p>README for release 6b of 27-Mar-1998
</p><p>This distribution contains the sixth public release of the Independent JPEG
Group's free JPEG software.
</p>
<h4 name="js.2F"> js/ </h4>
<p>This directory contains the code for the SpiderMonkey (JavaScript-C) Engine.
</p><p>See the <a class="external" href="http://www.mozilla.org/js/spidermonkey/">Spider Monkey</a> pages for more information and Documentation.
</p>
<h4 name="js2.2F"> js2/ </h4>
<p>The README file has "Build instructions for Epimetheus 10/12/2002" and some notes on how to build it on Linux &amp; Windows. Not sure what it is, but it was probably intended on a code rewrite to the js/
</p>
<h4 name="l10n.2F"> l10n/ </h4>
<p>An empty directory.
</p>
<h4 name="layout.2F"> layout/ </h4>
<p>The Gecko Layout components and classes. 
</p><p><a class="external" href="http://lxr.mozilla.org/seamonkey/source/layout/doc/overview.html">Layout Documentation Overview</a>
</p><p><a class="external" href="http://lxr.mozilla.org/seamonkey/source/layout/doc/hld-template.html">High Level Design Template</a>
</p><p><a class="external" href="http://lxr.mozilla.org/seamonkey/source/layout/doc/dd-template.html">Detailed Design Template</a>
</p>
<h4 name="lib.2F"> lib/ </h4>
<p>All the directories are empty except for the mac/ directory. Most of the files in there are in mac/UserInterface/
</p>
<h4 name="mail.2F"> mail/ </h4>
<p>Code for Mozilla based mail clients like <a class="external" href="http://www.mozilla.org/projects/thunderbird/">Thunderbird</a>.
</p>
<h4 name="mailnews.2F"> mailnews/ </h4>
<p>More code for Thunderbird.
</p>
<h4 name="minimo.2F"> minimo/ </h4>
<p>Not sure what this is for, mostly just contains the directory chrome/
</p>
<h4 name="modules.2F"> modules/ </h4>
<p>Contains a number of module directories: <a href="en/Appfilelocprovider">appfilelocprovider</a> <a href="en/Calendar">calendar</a> <a href="en/Coreincl">coreincl</a> <a href="en/Edtplug">edtplug</a> <a href="en/Files">files</a> <a href="en/Fullsoft">fullsoft</a> <a href="en/Ipc">ipc</a> <a href="en/Libbz2">libbz2</a> <a href="en/Libeclient">libeclient</a> <a href="en/Libfont">libfont</a> <a href="en/Libhook">libhook</a> <a href="en/Libimg">libimg</a> <a href="en/Libjar">libjar</a> <a href="en/Libmar">libmar</a> <a href="en/Libnls">libnls</a> <a href="en/Libpr0n">libpr0n</a> <a href="en/Libpref">libpref</a> <a href="en/Libreg">libreg</a> <a href="en/Libtest">libtest</a> <a href="en/Libutil">libutil</a> <a href="en/Makefile.win">makefile.win</a> <a href="en/Mozinfo">mozinfo</a> <a href="en/Mpfilelocprovider">mpfilelocprovider</a> <a href="en/Oji">oji</a> <a href="en/Plugin">plugin</a> <a href="en/Progress">progress</a> <a href="en/Rdf">rdf</a> <a href="en/Schedulr">schedulr</a> <a href="en/Security">security</a> <a href="en/Softupdt">softupdt</a> <a href="en/Staticmod">staticmod</a> <a href="en/Transactionmngr">transactionmngr</a> <a href="en/Unicharutil">unicharutil</a> <a href="en/Xml">xml</a> <a href="en/Zlib">zlib</a>
</p>
<h4 name="mozilla.2F"> mozilla/ </h4>
<p>An empty directory.
</p>
<h4 name="msgsdk.2F"> msgsdk/ </h4>
<p>The "Netscape Messaging Access SDK" which contains a bunch of code in a C/ and java/ directory.
</p>
<h4 name="mstone.2F"> mstone/ </h4>
<p>"MSTONE 4.2
</p><p>Mstone is a mail server performance testing tool designed to simulate
the different types and volume of mail traffic a mail server would
experience during a peak activity period.  Mstone was formerly known
as Mailstone."
</p>
<h4 name="mzlu.2F"> mzlu/ </h4>
<p>Another empty directory.
</p>
<h4 name="nav-java"> nav-java </h4>
<p>Another empty directory.
</p>
<h4 name="netwerk.2F"> netwerk/ </h4>
<p>This seems to be where the network support code is for mozilla.
</p>
<h4 name="network.2F"> network/ </h4>
<p>This directory is full of empty directories.
</p>
<h4 name="nglayout"> nglayout </h4>
<h4 name="nsprpub"> nsprpub </h4>
<h4 name="nunet"> nunet </h4>
<h4 name="other-licenses"> other-licenses </h4>
<h4 name="parser"> parser </h4>
<h4 name="plugin"> plugin </h4>
<h4 name="privacy"> privacy </h4>
<h4 name="profile"> profile </h4>
<h4 name="rdf"> rdf </h4>
<h4 name="registry"> registry </h4>
<h4 name="security"> security </h4>
<h4 name="shell"> shell </h4>
<h4 name="silentdl"> silentdl </h4>
<h4 name="storage"> storage </h4>
<h4 name="string"> string </h4>
<h4 name="suite"> suite </h4>
<h4 name="sun-java"> sun-java </h4>
<h4 name="themes"> themes </h4>
<h4 name="timer"> timer </h4>
<h4 name="toolkit"> toolkit </h4>
<h4 name="tools"> tools </h4>
<h4 name="tripledb"> tripledb </h4>
<h4 name="uriloader"> uriloader </h4>
<h4 name="view"> view </h4>
<h4 name="wallet"> wallet </h4>
<h4 name="webshell"> webshell </h4>
<h4 name="webtools"> webtools </h4>
<h4 name="widget"> widget </h4>
<h4 name="xpcom"> xpcom </h4>
<h4 name="xpcom_obsolete"> xpcom_obsolete </h4>
<h4 name="xpfc"> xpfc </h4>
<h4 name="xpfe"> xpfe </h4>
<h4 name="xpinstall"> xpinstall </h4>
<h4 name="xulrunner"> xulrunner </h4>
<h4 name="zap"> zap </h4>
That's all folks!
Revert to this revision