Building Mozilla with the free Microsoft VS.NET 2003 Optimising Compiler

Firstly, this is only my experiences of this - you may encounter other problems that I didn't.

Setup

  1. Get the free compiler from Microsoft, and install it.
  2. Open Internet Explorer (yes, I mean it) and load the Platform SDK update page: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/.
    1. Select Downloads > Install from the blue menu.
    2. Tick the boxes for the following:
      • Build enviroment, in Core SDK
      • Build enviroment (Intel 64-bit), in Core SDK  [yes, include this one!]
      • Build enviroment, in Internet SDK
      • Build enviroment, in Microsoft Data Access Components
    3. Start the installation, and go make some coffee or something while it downloads (takes a good few clicks, make sure it's going before you leave).
  3. Get the .NET 1.1 SDK and install it.
  4. Set up a .mozconfig file with the following in it:

    ac_add_options --disable-activex
    ac_add_options --disable-activex-scripting
    ac_add_options --disable-debug
    ac_add_options --disable-tests
    ac_add_options --enable-optimize
    ac_add_options --enable-strip
    ac_add_options --enable-strip-libs
    ac_add_options --enable-extensions=all
    ac_add_options --enable-crypto

    You can change/add options if you like particularily the |enable-extensions| one the important ones the ActiveX ones (I couldn't get it to build).

  5. You will need to edit one of the Makefile.in files to stop it trying to build the MFC Embed code.
    1. Find the file Makefile.in in the root of the source tree.
    2. Locate the following lines:

      # winembed, mfcembed
      ifeq ($(OS_ARCH),WINNT)
      ifneq (,$(ENABLE_TESTS)$(MOZILLA_OFFICIAL))
      tier_99_dirs += embedding/tests
      endif
      endif

    3. Insert a "#" character at the start of the line begining tier_99_dirs.

    NOTE: This is not nessessary if you don't plan on making an "official" build. Official builds

Powered by the Content Parser System, copyright 2002 - 2007 James G. Ross.