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
The Source Code Directory Structure
The top level directories in the mozilla cvs repository are:
Contains 2 readme files: mozilla/README.build & mozilla/README.os2
Provides the hooks to enable support for hearing and sight impaired users.
Seemingly empty directory.
An empty directory.
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).
The files needed to create packages (autoconf,rpm,deb,unix,wince,mac,etc).
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.
Contains the code to build camino which is a mozilla based browser customized for the MacOS look & feel.
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/
Just an empty directory.
The chrome look & feel theme. (chrome/src)
Another empty directory.
The Mozilla HTML Composer.
Files required to configure & prepare Mozilla to be built.
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.
Source for this db in dbm/src/ and is still being occationally updated in 2005 to it must be used for something.
Contains many .idl files in public/idl/ and some source code in src/base/
The Mozilla HTML editor.
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).
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.
Just an empty directory.