-
Notifications
You must be signed in to change notification settings - Fork 28
DeveloperTips
alagenchev edited this page Feb 3, 2013
·
7 revisions
Navigating the vast amount of Mozilla documentation can be daunting at times. Here, we've tried to collect the most relevant bits of information to get you started as fast as possible.
Build Instructions - Linux
On Ubuntu12LTS:
- install git - sudo apt-get install git
- check out the repository - git clone git://github.com/wisec/DOMinator.git dominator && cd dominator
- install prerequisites following the instructions on https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions/Linux_Prerequisites#Ubuntu
- additionally, install: sudo apt-get install libnotify-dev libidl-dev
- Firefox uses .mozconfig files to specify the type of build. You can find more instructions here: https://developer.mozilla.org/en-US/docs/Configuring_Build_Options. For our purposes, you can move/rename one of the .mzoconfig* files in the top directory to the default .mozconfig file and build:
- make -f client.mk build. More info can be found here: https://developer.mozilla.org/en-US/docs/Build_and_Install
- ccache is highly recommended to speed up the build instructions. More information can be found here: https://developer.mozilla.org/en-US/docs/ccache
- Consider also using parallel builds and the objDir approach(also highly recommended) :https://developer.mozilla.org/en-US/docs/Configuring_Build_Options#Building_with_an_Objdir
Here are some tips on setting up your development environment: https://github.com/wisec/DOMinator/wiki/Environment-Setup
Below is a list of files modified or added in the project compared to the starting point - the vanilla FF 8.0 source code (created by checking out the 3fb031fb4d and running: git diff --name-only master..HEAD):
- .mozconfig
- .mozconfigDBG_ok
- .mozconfigOPT
- .mozconfigOPT_Win
- .mozconfig_Vanilla
- README.txt
- browser/app/profile/firefox.js
- browser/branding/aurora/branding.nsi
- browser/installer/windows/nsis/installer.nsi
- browser/installer/windows/nsis/shared.nsh
- browser/installer/windows/nsis/uninstaller.nsi
- build/autoconf/mozconfig-find
- build/autoconf/mozconfig2client-mk
- build/autoconf/mozconfig2configure
- configure
- content/base/src/nsAttrValue.cpp
- content/base/src/nsAttrValue.h
- content/base/src/nsGenericElement.cpp
- content/html/content/src/nsGenericHTMLElement.cpp
- content/html/content/src/nsHTMLInputElement.cpp
- content/html/content/src/nsHTMLInputElement.h
- dom/base/nsDOMClassInfo.cpp
- dom/base/nsJSUtils.h
- js/src/Makefile.in
- js/src/jsapi.cpp
- js/src/jsapi.h
- js/src/jsarray.cpp
- js/src/jsatom.cpp
- js/src/jsatom.h
- js/src/jscntxt.cpp
- js/src/jscntxt.h
- js/src/jsemit.cpp
- js/src/jsfun.cpp
- js/src/jsinterp.cpp
- js/src/jsinterp.h
- js/src/jsobj.cpp
- js/src/json.cpp
- js/src/jsopcode.cpp
- js/src/jsregexp.cpp
- js/src/jsregexpinlines.h
- js/src/jsscope.cpp
- js/src/jsscope.h
- js/src/jsstr.cpp
- js/src/jsstr.h
- js/src/taint.cpp
- js/src/taint.h
- js/src/vm/String-inl.h
- js/src/vm/String.cpp
- js/src/vm/String.h
- js/src/xpconnect/src/xpccomponents.cpp
- js/src/xpconnect/src/xpcconvert.cpp
- js/src/xpconnect/src/xpcjsruntime.cpp
- js/src/xpconnect/src/xpcquickstubs.cpp
- js/src/xpconnect/src/xpcquickstubs.h
- tainttests/UnitTest.js
- tainttests/unit_tests.js
- xpcom/string/public/nsString.h
- xpcom/string/public/nsTDependentString.h
- xpcom/string/public/nsTString.h
- xpcom/string/public/nsTSubstring.h
- xpcom/string/public/nsXPCOMStrings.h
- xpcom/string/src/nsReadableUtils.cpp
- xpcom/string/src/nsTSubstring.cpp