Main Page

News

Download

Developers' Inn

Links

Setup of a build environment

Before you can actually compile any part of the Warpzilla source code, you need to carefully setup your environment. Mozilla's birth was on the Un*x platform and so its source code relies on many tools that are only common in the Un*x world.

Compiler

The first thing you need is a compiler. The Warpzilla team decided to maintain the port for two popular compilers. On the one hand is the leading commercial product IBM Visual Age for C++ Version 3.0 and on the other hand the free GNU gcc powered by EMX.

Both compilers can be used to compile the sources, so there is no recommendation which product to use. If you decide to use the IBM compiler, be sure to apply the latest set of product fixes (FixPak 8 which is already included if you buy the now available version 3.08). Without the fixes, it cannot access the object files generated by Un*x style tools.

  • IBM VisualAge for C++ Version 3.0

    Available from your favourite IBM Dealer. For more information, take a look at the web site.

    The required fixes can be obtained from the IBM FTP Server.

  • emx/gcc version 0.9c

    You can download this compiler either from Hobbes (USA) or LEO (Germany).

GNU Tools for OS/2

Even if you don't use the GNU compiler, you still need a set of GNU tools because the Warpzilla makefiles rely on Un*x-like tools.

  • GNU Make Utility

    This is used to build Warpzilla. Even if you own Visual Age C++, you have to use GMAKE.
    New: Note that there are currently problems with GMAKE 3.76.1 so be sure to use the older version 3.75 until the issues have been cleared!

  • GNU Utilities

    Several GNU utilities that are invoked by the makefile.

  • GNU Bash

    The most popular Un*x shell (GNU Bourne Again Shell).

  • More GNU Utilities

    These Un*x utilities are needed by GBASH.

  • Even More GNU Utilities

    This package contains another required GNU utility.

  • GNU AWK

    The build process also requires awk.

  • GNU sed

    The GNU sed utility is used somewhere in the build process.

  • CVS

    This is used to to access the mozilla source repository at www.mozilla.org. You can also download the whole package (3meg).

Installation and Configuration

After you have installed one or both compilers and all required tools have been downloaded, you have to configure your build environment first. We assume that you install everything apart from the compilers into the directory X:\Warpzilla.
Create a directory X:\Warpzilla\tools that will hold all the required tools. Also, create a subdirectory X:\Warpzilla\tools\home that will hold some configuration files.
  • Extract make-os2.exe from the archive gnumake.zip into the tools directory and rename it to gmake.exe.
  • The archive gnusutil.zip contains a subdirectory exe from which you extract uname.exe and gnushu.dll to the tools directory.
  • The files bash.exe and termcap.datfrom bash-2.0-b264.zip should be copied to the tools directory and renamed to gbash.exe. Also, put .bashos2, .bashrc and .inputrc from the home-subdirectory of the bash archive into \tools\home.
  • From gnufutil.zip, copy mkdir.exe, rm.exe, cp.exe, mv.exe and chmod.exe to the tools directory.
  • From the archive gnuawk.zip, take the file gawk32.exe and extract it to the tools directory. Rename the file to awk.exe.
  • Copy cvs.exe to the tools subdirectory.
  • Extract cat.exe from gnututil.zip and place into to tools directory.
  • sed.exe from gnused.zip also has to reside in the tools subdirectory.
Now you have to create a command file that sets up some environment variable and adjusts the PATH and LIBPATH. Call it Warpzilla.cmd and put in into X:\Warpzilla. It may look like the following, if you have installed everything in X:\Warpzilla:

warpzilla.cmd

Now you have to create a command file that updates your source tree against the OS2_BRANCH of the www.mozilla.org CVS server:

checkout.cmd

Whenever you call this file and you have an internet connection established, your code directory will be updated with the latest changes from the official Warpzilla repository. Note that you cannot directly submit your changes to the code repository!