The Mozilla
Organization
Our Mission
Who We Are
Getting Involved
Community
Editorials
What's New
Newsbot
Development
Roadmap
Module Owners
Blue Sky
Projects
Status
Tools
Products
Source Code
Binaries
Documentation
License Terms
Bug Reports
Quality
Search
Feedback


Unix Build Instructions

Daniel Nunes, leaf@mozilla.org
Last modified: Fri May 14 16:44:42 PDT 1999
  1. Introduction
  2. Other Unix Build pages
  3. Requirements
  4. Get the Code
  5. Build the Lizard
  6. After the Build

1. Introduction

This document is a guide to building the Mozilla application. This includes:

  1. A list of the required development tools.
  2. A sample set of commands to build Mozilla using the Autoconf build system.

If you're looking for documentation on developing features or fixing bugs, look at the Mozilla Technical Documents or Mozilla Library. If you would like a general jumping off point for Unix issues, look at the Mozilla Unix page.

2. Other Unix Build pages

3. Requirements

Your hardware should be equal to, or better than:
    32 MB RAM, 128 MB swap (64 MB RAM recommended)

The following software should be installed. (You can download gcc, gmake and autoconf from prep.ai.mit.edu.)

  • If you're using a glibc 2.07 system, you need this patch
  • egcs 1.0.3 (or higher), or gcc 2.7.2.x (2.8.x still has some bugs),
    or your platform's native C/C++ compiler. egcs is recommended (because it is more lenient, and therefore, more likely to work).
  • Perl 5
  • GNU make 3.74 (or higher except 3.77).
    GNU make 3.77 shipped with a that breaks the NSPR build. Revert to 3.76.1 until this is fixed.
  • CVS 1.9 (or higher). To get started:
    1. setenv CVSROOT :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
    2. cvs login (password: anonymous) (You only need to do the login once.)
  • GTK+ / GLib 1.2.0 (or higher).
  • libIDL 6.3 (or higher).
    Source snapshots are available from Mozilla via ftp. If you're running Red Hat, download the libIDL and libIDL-devel RPMs and install them as above.

    OPTIONAL

    • Autoconf 2.12 (which requires GNU m4), is necessary if you want to hack on configure.in. If you have no idea what this means, then don't worry about it. It's optional.

4. Get the Code

There are two ways to get the code:

  • ftp: Drops are generally produced at least once per month, and are known to compile and even run on a few platforms.
  • CVS: Provides the most current code, but is slower than ftp.
      setenv CVSROOT :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
      cvs co SeaMonkeyAll
    The SeaMonkeyAll module pulls the right source for building the viewer and apprunner.

5. Build the Lizard

5.1 Manually drive the build

  1. cd mozilla
  2. ./configure
      This is an example configure command. Your options may vary.
      For configure options, run "./configure --help", or use the Unix Build Configurator.
  3. gmake

Once you have configured, you only have to run configure if you add or remove Makefile.in files (cvs update can do this. Beware!). The list of makefiles is in mozilla/allmakefiles.sh

For build system hackers: If you change configure.in, cd to mozilla, and run autoconf. This generates a new configure script. (When you checkin configure.in, cvs will run autoconf and check in a new configure script for you).

5.2 Automated build (client.mk)

  1. Save the script from Unix Build Configurator as ~/.mozconfig.
  2. cvs co -f mozilla/client.mk
  3. cd mozilla
  4. gmake -f client.mk
If you want to build without pulling the tree (as in, you already have the source lying around),
    gmake -f client.mk build
If you just want to pull the tree,
    gmake -f client.mk checkout

6. After the build

  • cd dist/bin and you should see links to the scripts to run the executables: mozilla-viewer.sh and mozilla-apprunner.sh.
  • If the scripts do not work, set LD_LIBRARY_PATH and run viewer and apprunner directly. Set LD_LIBRARY_PATH to include dist/bin, and the NSPR and GTK libraries. (For example, you might set it to .:../../nspr/lib).
    • On HP-UX, the equivalent environment variable is SHLIB_PATH.
    • On AIX, the equivalent environment variable is LIBPATH.
  • If you run the executables from anywhere other than dist/bin, you must set the environment variable MOZILLA_FIVE_HOME to point to the absolute path of the dist/bin directory.
  • Update your tree by re-checking out the source, e.g. repeating the initial checkout process.



Copyright © 1998 The Mozilla Organization.