Changes

Jump to: navigation, search

User:Jamesboston

1,587 bytes added, 16:55, 2 March 2010
m
Building Firefox
[http://jamesboston.ca jamesboston.ca]
ContactEmail: <br />Email james mozilla [at the domain that has my name or look for me on irc] jamesboston [dot] ca<br /> IRC:<br />
'''jboston''' on irc://irc.mozilla.org/seneca
The API in Firefox for managing external processes has never been fully implemented. This project aims to implement the existing API and extend the API to include inter-process communication.
 
=== The Canvas 3D JS Libary (C3DL) ===
 
Project page: [[Canvas3D_JS_Library | C3DL]]
 
C3DL is a JavaScript library that will make it easier to write 3D applications using <del>canvas 3d</del> WebGL. (''Mozilla's Canvas 3D project has been superseded by the new WebGL standard that will also by used by WebKit.'') It will provide a set of math, scene, and 3d object classes to make the canvas more accessible for developers that want to develop 3D content in browser.
=== Mozilla Developer Resource Kit ===
Creating a package that contains everything a developer needs, including documentation, to get started with Firefox. The plan is to make it available as a live Fedora DVD for developers in countries where bandwidth is scarce.
 
'''This project is of uncertain status. It's a multi-semester project that is worked on by a new student group each semester, but it doesn't appear to be under development at this time.'''
=== Portable DXR ===
Project page: [[Portable_DXR|Portable DXR]]
 
This is closely related to the MDRK. The aim is to package the Mozilla developer documentation and the DXR source browsing tool in an extension that can be easily distributed/installed mostly likely as a XUL/Prism application. As an added bonus, this is a group project where the team members are experimenting with using traditional project planning tools and open source development methods.
 
'''This project is defunct. It was a group project for school and some members have graduated. Plus, the nominal client in not interested in completion.'''
= Software =
= Building Firefox =
== Building on Install prerequisites == === Windows Vista ===
Install Visual Studio:
(The express version will work.)
http://msdn2.microsoft.com/en-us/vstudio/aa700736.aspx
Get Microsoft Windows Software Development Kit Update for Windows Vista:''(The Visual C++ 2008 Express version will work.)'' http://www.microsoft.com/downloadsexpress/download/details.aspx?FamilyID=4377f86d-c913-4b5c-b87e-ef72e5b4e065&DisplayLang=en
Download and install Mozilla Build, a package If you paid for the Professional version of software prereqs:(If Visual Studio you get a message saying can skip this application did not install properly then step. But if you should see a windows dialog giving are using an express version, you the option need to re-installwith the 'correct settings'Windows Server 2003 Platform SDK in order to get some headers (atlbase. After that all should h to be well.specific)included in the Professional version: http://ftpwww.mozillamicrosoft.orgcom/pubdownloads/mozilladetails.org/mozilla/libraries/win32/MozillaBuildSetupaspx?FamilyId=0BAF2B35-C656-4969-ACE8-1.3.exeE4C0C0716ADB&displaylang=en
Open a shell window by right clicking and using admin privileges:(The example here is for Visual Studio 2005''On the above page, DO NOT click the web install link. The name Scroll further down the page to see a list of the bat file you use should match the directory that Visual Studio is installed indownload options. You probably want PDSK-x86.exe for a 32-bit machine.)'' c:\mozilla-build\start-msvc8[[Image:Windowsserversdkchoices.batGIF]]
If Install the Microsoft Windows Software Development Kit Update for Windows 7 (even if you are attempting to build Firefox 3.1 you can checkout the source using mercurial as described below. When creating a working directory and checking out the source it doesn't really matter where you put it, but avoid paths that contain spaces. If your user name doesn't have space you can checkout the source to your home directory like thisVista or Visual Studio Professional): cd mkdir mozilla cd mozilla hg clone http://hgwww.mozillamicrosoft.orgcom/mozilladownloads/details.aspx?familyid=C17BA869-central/ src9671-4330-A63E-1FD44E0E2505&displaylang=en
It is still possible to checkout older versions If you had a previous version of Firefox using cvs the SDK installed (such as described below but Mercurial is preferred: cd cvs the Vista SDK) open the CMD shell (Start-d :pserver:anonymous@cvs> All Programs-mirror> Microsoft SDK v7.mozilla.org0-> CMD) and make sure the new version is set as default by entering:/cvsroot co mozilla/client.mk cd ~/mozilla make WindowsSdkVer.exe -f clientversion:v7.mk checkout MOZ_CO_PROJECT=browser0
Create Download and open install Mozilla Build, a hidden file called .mozconfig in your home directorypackage of software prerequisites: notepad.exe ~/.mozconfig
Add ''(If you get a message saying this application did not install properly then you should see a windows dialog giving you the following lines option to re-install with the 'correct settings'.mozconfigAfter that all should be well.)'' # My first http://ftp.mozilla.org/pub/mozilla config . $topsrcdirorg/browsermozilla/configlibraries/mozconfig mk_add_options MOZ_OBJDIR=@TOPSRCDIR@win32/objMozillaBuildSetup-@CONFIG_GUESS@ ac_add_options --disable-optimize ac_add_options --enable-debug ac_add_options --disable-static --enable-shared1.4.exe
If you are using To open a multi-core computer for building, you can try adding a flag to speed up compile times. Use a value of ''((# of cores)*2)+1'' (ie. five for two cores)shell window click: mk_add_options MOZ_MAKE_FLAGS=c:\mozilla-build\start-j5msvc9.bat
Visual Studio 2008 users may also need to add one or more If everything worked correctly, you should see a list of the following to required headers:[[Image:Mozilla_sdk_shell_Capture.mozconfig ac_add_options --disable-xpconnect-idispatch ac_add_options --disable-activex ac_add_options --disable-activex-scripting ac_add_options --disable-accessibility ac_add_options --disable-parental-controlsGIF]]
Start ''(The example above is for Visual C++ 2008 Express. The name of the build: cd ~/mozilla/src make bat file you use should match the directory that Visual Studio is installed in. For instance, VS2005 uses start-f clientmsvc8.mk buildbat)''
Once the build is finished ''Special note: You might get an error saying you should set are targeting the following environment variable to turnwrong SDK. Try deleting your obj-off assertion dialogs: export XPCOM_DEBUG_BREAK=warnff directory if you have one.''
When you run Firefox === Linux ======= Fedora ====Install build pre-requisites for the first time, create and select a new profile called Fedora: su -c "developmentyum groupinstall 'Development Tools' 'Development Libraries' 'GNOME Software Development'" (or any name of your choice) to avoid corrupting your current profile. You can do this while running your current version of Firefox using these command line options: ~/mozilla/src/obj*/dist/bin/firefox su -Profilemanager -no-remotec "yum install mercurial autoconf213"
The finished build can be found in the ~/mozilla/src/obj*/dist/bin directory.Additional Fedora 11 pre-requisites: su -c 'yum install libnotify-devel'
Run the file "mozilla" or "firefox", not the binary "mozillaAdditional Fedora 10 pre-bin" or "firefoxrequisites: su -bin".c 'yum install libXt-devel'
For more detailed info about the windows ==== Ubuntu ====Install Firefox 3 build requirements visit [http://developerpre-requisites for Ubuntu 8.mozilla.org/en/docs/Windows_Build_Prerequisites#Microsoft_Visual_C.2B.2B_and_Windows_SDK Mozilla Developer Center]10 and 9.04: sudo apt-get install build-essential sudo apt-get build-dep firefox sudo apt-get install mercurial libasound2 libasound2-dev curl libcurl4-gnutls-dev libnotify-dev
For more detailed information about Mozilla building visit [http://zenit.senecac.on.ca/wiki/index.php/Real_World_Mozilla_Build_Mozilla_Lab Real World Mozilla Build Lab].=== OS X ===
For more info about Visual Studio 2008 problems see You should have [http://crashopensourcedeveloper.blogspotapple.com/2008TOOLS/05Xcode/vista-building-with-vc9Xcode] installed.html Lukas BlakkYou don's blog]t need to use Xcode for editing source files, but you will need the developer SDK that comes with it.
For more information on using Mercurial In order to checkout Mozilla code see [build Firefox you will need something called MacPorts which can be downloaded from here: http://developerwww.mozillamacports.org/en/Mozilla_Source_Code_(Mercurial) Mozilla Source Code]install.php
== Building on Windows XP ==After downloading and installing MacPorts you can then install the pre-requisites: sudo port sync sudo port install mercurial libidl autoconf213
=== autoconf notes ===The instructions are the same as for Windows Vistabuild system should know to use autoconf 2. For Firefox 313 instead of later versions automatically, the Vista SDK is also required. However, try adding the following additional line but on some *nix systems it may be necessary to your .mozconfig file firstspecify it manually: ac_add_options --disable-vista-sdk-requirementsexport AUTOCONF=autoconf213
Another problem is that Or on some systems you may not be able need to use your home directory because the path almost certainly has spaces. If that is the case, just put the mozilla directory in your root (ie. Cset AUTOCONF this way instead:\mozilla) and put the .mozconfig file in that directory export AUTOCONF=autoconf2.13
== Building on Ubuntu and Fedora Configuration ==
Install You need to create a hidden file for the build pre-requisites for Fedora users: su -c "yum groupinstall 'Development Tools' 'Development Libraries' 'GNOME Software Development'" su -c "yum install mercurial"system that contains instructions on how you want your build completed.
Install Firefox 3 build re-requisites for Ubuntu 8.04 users: sudo apt-get install build-essential sudo apt-get build-dep firefox-3.0 sudo apt-get install mercurial libasound2 libasound2-dev curl libcurl4-gnutls-dev Checkout the source: mkdir ~/mozilla cd ~/mozilla hg clone http://hg.mozilla.org/mozilla-central/ src Create and open a hidden file called .mozconfig in your home directoryusing notepad or gedit or vim: gedit notepad.exe ~/.mozconfig
Add the following lines to .mozconfig
. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@
# Comment the next 2 lines for non-debug builds
ac_add_options --disable-optimize
ac_add_options --enable-debug
ac_add_options --disable-static --enable-shared
See the Windows Vista notes above about If you are using a multi-core computer for building, you can try adding a flag to .mozconfig to speed up the compiletimes. Use a value of ''((# of cores)*2)+1'' (ie.five for two cores): mk_add_options MOZ_MAKE_FLAGS=-j5 For OS X (Leopard) add: ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.5.sdk == Getting the source ==
Start If you are attempting to build Firefox 3.1 or greater you can checkout the source using mercurial as described below. When creating a working directory and checking out the source it doesn't really matter where you put it, but avoid paths that contain spaces. Spaces in the path name will cause the buildto fail. For Windows XP users, your home directory path almost certainly has spaces. If that is the case, just put the mozilla directory in your root (ie. C:\mozilla) and put the .mozconfig file in that directory. If your user name doesn't have space you can checkout the source to your home directory like this: cd mkdir mozilla cd mozilla hg clone http://hg.mozilla.org/mozilla-central/ src It is still possible to checkout older versions of Firefox using cvs: cd cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/client.mk cd ~/mozilla make -f client.mk checkout MOZ_CO_PROJECT=browser == Starting the build == You need to change to the directory that contains the source code and then run the make command:
cd ~/mozilla/src
time make -f client.mk build === Special Fedora 11 note === You may need to patch the source before building because of a bug in Breakpad that shows up with the latest version of gcc (which F11 uses). Patch and details here:https://bugzilla.mozilla.org/show_bug.cgi?id=485019
Here is a log of == Running the output from building Firefox 3.1 on Ubuntu 8.04: http://zenit.senecac.on.ca/wiki/imgs/Build_output.txt.zipbuild ==
Once the build is finished you should set the following environment variable to turn-off assertion dialogs:
export XPCOM_DEBUG_BREAK=warn
When you run Firefox your build for the first time, create and select a new profile called "development" (or any name of your choice) to avoid corrupting your current profile. You can do this while running your current version of Firefox using these command line options: ~/mozilla/src/obj*/dist/bin/firefox -Profilemanager -no-remote
The finished build can be found in the Windows and Linux: ~/mozilla/src/obj*/dist/bin directory/firefox -profilemanager OS X: ~/mozilla/src/obj*/dist/MinefieldDebug.app/Contents/MacOS/firefox == Updating a build == If you need to refresh the source code: cd ~/mozilla/src hg pull -u
Run == Rebuilding the file "mozilla" or "firefox", not the binary "mozilla-bin" or "firefox-bin"browser ==
For more detailed information visit [[Real_World_Mozilla_Build_Mozilla_Lab|Real World Mozilla Build Lab]]If you want to rebuild the entire browser just repeat the instructions for starting the build above. However, it is possible to do incremental builds where only the source code you have changed is compiled.
== Building on OS X ==For instance, to rebuild after a change in the xpcom module try: make -C ~/mozilla/src/obj*/xpcom
Build preOr as a more general form: make -requisites and instructions for OS X can also be found at C [the [http://developer.mozilla.org/en/docs/Mac_OS_X_Build_Prerequisites#Firefox_Quick_Start Mozilla Developer Center.object directory corresponding to the source directory that has changed]
If In most cases this will relink the changes and create a new browser binary. But there's no hard and fast rule about when you can successfully do an incremental build. Sometimes you have built Firefox in your home directory can burrow a few levels into the object tree and are trying sometime you need to start it build from the command line try these steps: cd ~/mozilla/src/obj*/dist/MinefieldDebugvery top.app/Contents/MacOS It may take a bit of trial and error to discover what works./firefox -Profilemanager -no-remote
= Tunneling a VNC session =
[[Tunnel_VNC_through_SSH|Instruction page]]
One Some of the Mac minis in the ORI area is at Seneca are configured to accept VNC connections, but without an SSH tunnel it's are too slow to be useful. These instructions will help you get setup.

Navigation menu