How to set up a SeaMonkey tinderbox with Microsoft Visual C++ 6.0

by Robert Kaiser <kairo@kairo.at>

This document tries to describe all I have done to build the tpol tinderbox (as seen in the Mozilla1.8-SeaMonkey tree). I hope I didn't forget anything important in this doc...

  1. Install Windows XP Professional SP2 and all available updates
  2. Install Visual C++ 6.0 ("VC6")
  3. Install Visual C++ Service Pack 5 and Visual C++ Processor Pack
  4. Install the Microsoft Platform SDK ("PSDK") with the following components:
  5. Install MSASM32.
  6. Install moztools ("Netscape wintools"):
  7. Install Blat (needed by tinderbox):
  8. Install Cygwin: NOTE: You may use ActiveState perl instead of the perl package in cygwin if you prefer, but I had problems getting tinderbox to run with that, so I went back to cygwin perl.
  9. In a new C:\moz directory, create a buildsetup.bat with the following content:
    @ECHO OFF
    SET MOZ_TOOLS=C:\moztools
    SET MASM=C:\masm32
    SET VSTUDIO=%ProgramFiles%\Microsoft Visual Studio
    SET VCPATH=%VSTUDIO%\VC98
    SET PSDK=%ProgramFiles%\Microsoft Platform SDK
    
    SET PATH=%VCPATH%\Bin;%PSDK%\Bin
    SET PATH=%PATH%;%VSTUDIO%\Common\MSDev98\Bin
    SET PATH=%PATH%;%VSTUDIO%\Common\Tools
    SET PATH=%PATH%;%MOZ_TOOLS%\bin;C:\cygwin\bin
    SET PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\wbem
    SET PATH=%PATH%;%MASM%\BIN
    
    SET LIB=%VCPATH%\Lib;%PSDK%\Lib
    SET LIB=%LIB%;%VCPATH%\MFC\Lib
    SET LIB=%LIB%;%MASM%\LIB
    
    SET INCLUDE=%VCPATH%\include;%PSDK%\Include
    SET INCLUDE=%INCLUDE%;%VCPATH%\ATL\Include
    SET INCLUDE=%INCLUDE%;%VCPATH%\MFC\Include
    SET INCLUDE=%INCLUDE%;%MASM%\INCLUDE
    
    SET CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
    SET HOME=C:\moz
    SET CVS_RSH=ssh
    SET MOZILLA_OFFICIAL=1
    SET BUILD_OFFICIAL=1
    ECHO Installation environment variables set!
    @ECHO ON
  10. Install tinderbox in C:\tinderbox\SeaMonkey and set up a fitting tinder-config.pl there:
  11. Create a mozconfig in C:\tinderbox\SeaMonkey with the following content:
    # tpol tinderbox config
    mk_add_options MOZ_OBJDIR=../build
    
    mk_add_options MOZ_CO_PROJECT=suite
    ac_add_options --enable-application=suite
    
    # these are done in tinder-config.pl since this doesn't seem to work:
    export MOZILLA_OFFICIAL=1
    mk_add_options MOZILLA_OFFICIAL=1
    export BUILD_OFFICIAL=1
    mk_add_options BUILD_OFFICIAL=1
    
    ac_add_options --disable-tests
    ac_add_options --without-system-jpg
    ac_add_options --without-system-zlib
    ac_add_options --enable-extensions=default,tasks
    ac_add_options --enable-crypto
    ac_add_options --disable-debug
    ac_add_options --enable-optimize
    
    # SVG and canvas
    ac_add_options --enable-svg
    ac_add_options --enable-canvas
  12. Run tinderbox: Go to C:\tinderbox\SeaMonkey in a command prompt and run
    c:\moz\buildsetup.bat
    perl build-seamonkey.pl --depend --mozconfig mozconfig
    NOTE: Instead of the perl command, you can also use the tinderbox start script to run it, which needs to be run through bash, but completely runs tinderbox in the background. For this, run the following command after loading buildsetup.bat:
      bash -c "./tinderbox depend start"

Redistributable builds

Sources, acknowledgements and further reading tips: