Difference between revisions of "User:Mdsouza/Assignment 01: Build the Fox"
(→Overview) |
|||
Line 1: | Line 1: | ||
=Overview= | =Overview= | ||
− | The way I decided to proceed with this assignment was to read all the information out there about how the build process works before trying anything out. I did this to decrease my chances that I do not fall into a "try, fail, try again" scenario. | + | The way I decided to proceed with this assignment was to read all the information out there about how the build process works before trying anything out. I did this to decrease my chances that I do not fall into a "try, fail, try again" scenario. However, as it came to be, finding a bug is inevitable. :( |
− | + | In this report below I mentioned the tools one needs, steps I took, and problems that I tackled to get me through the processing of building firefox 1.5.0.7 without using CVS! | |
=Computer Specs= | =Computer Specs= | ||
Line 24: | Line 24: | ||
*[http://developer.mozilla.org/en/docs/Mozilla_Build_FAQ Mozilla Build FAQ] | *[http://developer.mozilla.org/en/docs/Mozilla_Build_FAQ Mozilla Build FAQ] | ||
*[http://cs.nyu.edu/rgrimm/teaching/fa05-oop/windows-make.html Getting Make to place nice with Cygwin] | *[http://cs.nyu.edu/rgrimm/teaching/fa05-oop/windows-make.html Getting Make to place nice with Cygwin] | ||
− | * [http://forums.mozillazine.org/viewforum.php?f=23 Firefox Build Forum @ MozillaZine] | + | *[http://forums.mozillazine.org/viewforum.php?f=23 Firefox Build Forum @ MozillaZine] |
+ | *[http://cs1.senecac.on.ca/wiki/index.php/Assignment_1_List Other Student's Assignments] | ||
==Downloaded And Installed The Tools== | ==Downloaded And Installed The Tools== | ||
Line 30: | Line 31: | ||
*Microsoft® Visual Studio .NET 2003® (C++ module is needed mainly). It's available from [http://acs.senecac.on.ca/pages/download.php ACS] -- [http://sonic.senecac.on.ca/download/getfile.php?username=sfernan2&filename=MSDN/2072.2.ISO Pre-requesite Disc)], [http://sonic.senecac.on.ca/download/getfile.php?username=sfernan2&filename=MSDN/2070.ISO Disc 1], [http://sonic.senecac.on.ca/download/getfile.php?username=sfernan2&filename=MSDN/2071.ISO Disc 2] | *Microsoft® Visual Studio .NET 2003® (C++ module is needed mainly). It's available from [http://acs.senecac.on.ca/pages/download.php ACS] -- [http://sonic.senecac.on.ca/download/getfile.php?username=sfernan2&filename=MSDN/2072.2.ISO Pre-requesite Disc)], [http://sonic.senecac.on.ca/download/getfile.php?username=sfernan2&filename=MSDN/2070.ISO Disc 1], [http://sonic.senecac.on.ca/download/getfile.php?username=sfernan2&filename=MSDN/2071.ISO Disc 2] | ||
*[http://www.rarlabs.com WinRar] to extract several files | *[http://www.rarlabs.com WinRar] to extract several files | ||
− | *[ftp://ftp.cygwin.com/pub/cygwin/setup.exe Cygwin] | [http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites#GNU_Tools_for_Microsoft_Windows_.28Cygwin.29 More Info] | [http://www.cygwin.com | + | *[ftp://ftp.cygwin.com/pub/cygwin/setup.exe Cygwin] | [http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites#GNU_Tools_for_Microsoft_Windows_.28Cygwin.29 More Info] | [http://www.cygwin.com Cygwin Main Website] |
+ | |||
+ | When installing Cygwin the following packages need to be selected: | ||
+ | |||
+ | <pre> | ||
+ | * ash -- UNIX-like command line interpreter shell (Base category) | ||
+ | * coreutils -- GNU core utilities (includes fileutils, install, sh-utils, and textutils) (Base category) | ||
+ | * cvs -- concurrent versions system (Devel category) | ||
+ | * diffutils -- file comparison utility (Base category) | ||
+ | * findutils (Base category) | ||
+ | * gawk -- pattern matching language (Base and Interpretors categories) | ||
+ | * grep -- text search tool (Base category) | ||
+ | * libiconv -- character set conversion (Devel category) | ||
+ | * make -- dependency analyzer for software builds (Devel category) (not mandatory if the version is 3.81) | ||
+ | * patchutils -- a small collection of programs that operate on patch files (Devel category) | ||
+ | * perl -- a scripting language used to control parts of the build (Interpreters category) | ||
+ | * sed -- a search and replace language (Base category) | ||
+ | * unzip -- zip file extraction (Archive category) | ||
+ | * zip -- zip file creation (Archive category) | ||
+ | </pre> | ||
+ | |||
*[http://cygwin.paracoda.com/release/make/make-3.80-1.tar.bz2 Make 3.80] (to overwrite the 3.81 version from the Cygwin install) | *[http://cygwin.paracoda.com/release/make/make-3.80-1.tar.bz2 Make 3.80] (to overwrite the 3.81 version from the Cygwin install) | ||
− | *[http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/moztools-static.zip MozTools] | [http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites#moztools | + | |
+ | Once MAKE is downloaded and saved on your hard drive: | ||
+ | |||
+ | <pre> | ||
+ | 1. Use WinRAR to extract the file to any folder of your choosing. | ||
+ | 2. Copy the make.exe file located within the usr/bin folder and overwrite the make.exe located in C:\cygwin\bin | ||
+ | </pre> | ||
+ | |||
+ | *[http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/moztools-static.zip MozTools] | [http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites#moztools More Info] | ||
+ | |||
+ | Once downloaded, extrcat the contents to any location. Remember the location though as you will need to edit your batch file with this location. | ||
+ | |||
*[http://www.microsoft.com/downloads/details.aspx?FamilyID=0baf2b35-c656-4969-ace8-e4c0c0716adb&DisplayLang=en Microsoft ® Windows Server® 2003 R2 Platform SDK] | [http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites#Platform_SDK More Info] | *[http://www.microsoft.com/downloads/details.aspx?FamilyID=0baf2b35-c656-4969-ace8-e4c0c0716adb&DisplayLang=en Microsoft ® Windows Server® 2003 R2 Platform SDK] | [http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites#Platform_SDK More Info] | ||
− | |||
==The Build Begins== | ==The Build Begins== | ||
Line 42: | Line 73: | ||
==Problems And Solutions== | ==Problems And Solutions== | ||
+ | ===Problem 1=== | ||
+ | |||
+ | |||
+ | ===Problem 2=== | ||
+ | |||
+ | |||
+ | ===Problem 3=== | ||
+ | |||
+ | |||
+ | ==Apendix== | ||
+ | |||
+ | |||
+ | ===Batch File=== | ||
+ | |||
+ | |||
+ | ===.mozconfig File=== | ||
Revision as of 22:00, 18 September 2006
Contents
Overview
The way I decided to proceed with this assignment was to read all the information out there about how the build process works before trying anything out. I did this to decrease my chances that I do not fall into a "try, fail, try again" scenario. However, as it came to be, finding a bug is inevitable. :(
In this report below I mentioned the tools one needs, steps I took, and problems that I tackled to get me through the processing of building firefox 1.5.0.7 without using CVS!
Computer Specs
- Intel Pentium IV 1.7 GHz
- 1GB of RAM
- 40GB Hard Drive
- Windows XP Professional
Steps Took To Build the Fox
Did The Boring Stuff
Here are some of the sites I spent the most time reading:
- Windows Build Prerequisites
- Windows Build Documentation
- David Humphrey's Guide to Building Firefox (and the links from there)
- Mozilla Build FAQ
- Getting Make to place nice with Cygwin
- Firefox Build Forum @ MozillaZine
- Other Student's Assignments
Downloaded And Installed The Tools
- Microsoft® Visual Studio .NET 2003® (C++ module is needed mainly). It's available from ACS -- Pre-requesite Disc), Disc 1, Disc 2
- WinRar to extract several files
- Cygwin | More Info | Cygwin Main Website
When installing Cygwin the following packages need to be selected:
* ash -- UNIX-like command line interpreter shell (Base category) * coreutils -- GNU core utilities (includes fileutils, install, sh-utils, and textutils) (Base category) * cvs -- concurrent versions system (Devel category) * diffutils -- file comparison utility (Base category) * findutils (Base category) * gawk -- pattern matching language (Base and Interpretors categories) * grep -- text search tool (Base category) * libiconv -- character set conversion (Devel category) * make -- dependency analyzer for software builds (Devel category) (not mandatory if the version is 3.81) * patchutils -- a small collection of programs that operate on patch files (Devel category) * perl -- a scripting language used to control parts of the build (Interpreters category) * sed -- a search and replace language (Base category) * unzip -- zip file extraction (Archive category) * zip -- zip file creation (Archive category)
- Make 3.80 (to overwrite the 3.81 version from the Cygwin install)
Once MAKE is downloaded and saved on your hard drive:
1. Use WinRAR to extract the file to any folder of your choosing. 2. Copy the make.exe file located within the usr/bin folder and overwrite the make.exe located in C:\cygwin\bin
Once downloaded, extrcat the contents to any location. Remember the location though as you will need to edit your batch file with this location.