Difference between revisions of "Assignment 1 (yshen6)"

From CDOT Wiki
Jump to: navigation, search
(Problems)
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Assignment 1 - build firefox =
+
= build firefox on Windows =
 +
 
 +
== Authors ==
 +
 
 +
Yi Shen
  
 
== Introduction ==
 
== Introduction ==
 
+
In order to build firefox on windows, my first step was search “how to build firefox on Windows” on Google. Then I followed the instructions on David Humphrey's website.
My first step is search “how to build firefox on Windows” on Google. Then I followed the instructions on David Humphrey's website.
 
  
 
== Software Installed ==
 
== Software Installed ==
Line 62: Line 65:
 
</pre>
 
</pre>
  
Run Cygwin and move into c:\proj directory Problem1 – I have no idea how to move my current directory to c:\proj in Cygwin
+
Run Cygwin and move into c:\proj directory<br/>
 +
'''Problem1''' – I have no idea how to move my current directory to c:\proj in Cygwin
 +
 
 
<pre>
 
<pre>
 
$ cd ../..
 
$ cd ../..
Line 79: Line 84:
 
Log into the mozilla CVS by anonymous<br/>
 
Log into the mozilla CVS by anonymous<br/>
  
Problem2 – failed: connection refused (only at school’s computer)<br/>
+
'''Problem2''' – failed: connection refused (only at school’s computer)<br/>
 
After handled problem2 run Cygwin again and login CVS by anonymous
 
After handled problem2 run Cygwin again and login CVS by anonymous
  
Line 141: Line 146:
  
 
== Problems ==
 
== Problems ==
Problem1:
+
Problem1 - I have no idea how to move my current directory to c:\proj in Cygwin.
I have no idea how to move my current directory to c:\proj in Cygwin.
 
 
Mark helped me move the current directory to c:\proj and create the .mozconfig by touch command.
 
Mark helped me move the current directory to c:\proj and create the .mozconfig by touch command.
  
Problem2:
+
Problem2 - I wasn’t able to log into cvs at school computer.
I wasn’t able to log into cvs at school computer.
 
 
Mark told me to use Putty to tunnel out the school firewall through matix
 
Mark told me to use Putty to tunnel out the school firewall through matix
  
Line 159: Line 162:
  
 
== Resources ==
 
== Resources ==
David humphrey’s website
+
[http://cs.senecac.on.ca/~david.humphrey/writing/firefox-win32-build.html David humphrey’s website]<br/>
Mark Paruzel
+
[[User:RealMarkP|Mark Paruzel]]
 +
 
 +
== Conclusions ==
 +
By the instruction on David’s website and mark’s help I build firefox on my first try. But I wasn’t understand clearly about the steps of building it and why it worked that way, at least I didn’t figure out the problem by myself. So I format my hard drive and redo everything by memory and it worked again. All the steps are not too hard to follow, but the building took too long time. Now I am familiar with building firefox on windows.
 +
 
 +
== Screenshot of the Build Number ==
 +
[[Image:Yishen_a1.jpg]]

Latest revision as of 18:25, 8 March 2007

build firefox on Windows

Authors

Yi Shen

Introduction

In order to build firefox on windows, my first step was search “how to build firefox on Windows” on Google. Then I followed the instructions on David Humphrey's website.

Software Installed

Install the compiler - Visual Studio.NET 2005
Install Cygwin with all packages required for building Mozilla:

  ash
  coreutils
  cvs
  diffutils
  findutils
  gawk
  grep
  libiconv
  make 3.80
  patchutils
  perl
  sed
  unzip
  zip

Create a directory c:\proj
Download and Extract Moztools to C:\proj\moztools

Steps to Complete the build

Setup environment variables and paths by creating a setup file: c:\proj\buildsetup.bat Copy and paste the given code(from David's website) to c:\proj\buildsetup.bat

@echo off

rem --- CVS Setup
SET CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
SET CVS_RSH=ssh

rem --- Setup the paths to the moztools build libraries
set MOZ_TOOLS=C:\proj\moztools
set GLIB_PREFIX=%MOZ_TOOLS%
set LIBIDL_PREFIX=%MOZ_TOOLS%

rem --- Scrub these variables first
SET INCLUDE=
SET LIB=
SET PATH=C:\;C:\windows\system32;C:\windows\system32\wbem

rem --- Prepend cygwin
SET PATH=C:\cygwin\bin;%PATH%

rem --- Setup VC8 compiler environment vars
CALL "C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86

rem --- Add glib/libidl to build environment
SET PATH=%PATH%;%GLIB_PREFIX%;%GLIB_PREFIX%\bin
SET INCLUDE=%GLIB_PREFIX%\include;%INCLUDE%
SET LIB=%GLIB_PREFIX%\lib;%LIB%

rem --- moztools comes last after glib/libIDL
SET PATH=%PATH%;%MOZ_TOOLS%\bin

Run Cygwin and move into c:\proj directory
Problem1 – I have no idea how to move my current directory to c:\proj in Cygwin

$ cd ../..
$ cd cygdrive/
$ cd c
$ cd proj

Setup environment and paths

$ cmd Buildsetup.bat
c:\proj> buildsetup.bat

Log into the mozilla CVS by anonymous

Problem2 – failed: connection refused (only at school’s computer)
After handled problem2 run Cygwin again and login CVS by anonymous

C:\proj> cvs login
CVS password: anonymous

Checkout the build script:

C:\proj> cvs co mozilla/browser/config mozilla/client.mk

Cvs checkout: Updating mozilla/browser/config
U mozilla/client.mk

This create some files in C:\proj\mozilla

Move into mozilla directory and create a file .mozconfig

c:\proj\mozilla> touch .mozconfig

open .mozconfig, copy and paste the given code(from David's website).

# Building Firefox Trunk with Debugging
. $topsrcdir/browser/config/mozconfig

# Put all obj files in one place, not in src tree
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-objdir
ac_add_options --disable-static
ac_add_options --enable-shared
	
# Debug Build Setup Options
ac_add_options --disable-optimize
ac_add_options --enable-debug

# I'm using Canvas for my work
ac_add_options --enable-canvas

now we can get the full source from cvs:

c:\proj\mozilla> make -f client.mk checkout

This will take a little while, then we will see a bunch of files create in c:\proj\mozilla

Now we can build it:

C:\proj\mozilla> make -f client.mk build

After more than half an hour of building, you will find firefox3.0a1 in C:\proj\mozilla\firefox-objdir\dist\bin

Problems

Problem1 - I have no idea how to move my current directory to c:\proj in Cygwin. Mark helped me move the current directory to c:\proj and create the .mozconfig by touch command.

Problem2 - I wasn’t able to log into cvs at school computer. Mark told me to use Putty to tunnel out the school firewall through matix

host Name(or IP address): matix.senecac.on.ca
Source Port: 2401
Destination: cvs-mirror.mozilla.org:2401

Login matix
Then Change cvs-mirror.mozilla.org in c:\proj\buildsetup.bat to localhost

Resources

David humphrey’s website
Mark Paruzel

Conclusions

By the instruction on David’s website and mark’s help I build firefox on my first try. But I wasn’t understand clearly about the steps of building it and why it worked that way, at least I didn’t figure out the problem by myself. So I format my hard drive and redo everything by memory and it worked again. All the steps are not too hard to follow, but the building took too long time. Now I am familiar with building firefox on windows.

Screenshot of the Build Number

Yishen a1.jpg