欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2/Agda, C++/Lisp/Haskell
Mozilla/developer
来自开放百科 - 灰狐
目录 |
平台
Firefox4 源码的目录是 firefox-4.0.source/mozilla-2.0
移动
- Firefox Mobile 开发者相关
- Boot to Gecko
扩展
安全
核心
- DocShell
- DOM
- Gecko
- JavaScript
- Localization
- Mac OS X Development
- MathML
- Networking (Necko)
- Binary Plugins (including NPAPI)
- MailNews
- Quality Assurance
- RDF
- Security
- SVG
- Toolkit
- XPCOM
- XBL
- XUL
- XULRunner
编译
需要安装的
- Microsoft Visual C++ Tools // VC7.1 (Visual Studio 2003), VC8 (Visual Studio 2005), VC9 (Visual Studio 2008)
- Microsoft Windows SDK(s)
- MozillaBuild
https://developer.mozilla.org/en/Windows_Build_Prerequisites
- http://developer.mozilla.org/en/docs/Build_Documentation
- http://developer.mozilla.org/en/docs/Creating_a_patch
安装好需要的软件后,进入c:\mozilla-build 目录:
- start-msvc8.bat or start-msvc8-x64.bat (VS 2005)
- start-msvc9.bat or start-msvc9-x64.bat (VS 2008)
- start-msvc10.bat or start-msvc10-x64.bat (VS 2010)
获得源码
配置Build选项
在 firefox-4.0.source/mozilla-2.0目录下创建:.mozconfig 文件,内容如下:
mk_add_options MOZ_CO_PROJECT=browser mk_add_options MOZ_MAKE_FLAGS="-j5" mk_add_options MOZ_CO_MODULE="mozilla/tools/update-packaging" mk_add_options MOZ_PACKAGE_NSIS=1 ac_add_options --enable-application=browser ac_add_options --enable-update-channel=nightly ac_add_options --enable-optimize ac_add_options --disable-debug ac_add_options --disable-tests ac_add_options --enable-update-packaging --with-windows-version=600 // Windows SDK 版本为 6.0A
创建目录
dist\bin dist\host\bin 在dist\bin目录下创建 xpidl.exe.manifest、xpt_link.exe.manifest
在dist\host\bin目录下创建 mkdepend.exe.manifest,内容如下:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity> </dependentAssembly> </dependency> </assembly>
或
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity> </dependentAssembly> </dependency> </assembly>
编译和安装
- 运行 start-msvc9.bat 并进入 mozilla-2.0 目录
- make -f client.mk build
- 编译成功后 mozilla-2.0\obj-i686-pc-mingw32\dist\bin 目录下会有firefox.exe生成,编译成功 :)
- 参考:Build and Install
技巧
- 在地址栏输入:chrome://browser/content/browser.xul
- 在Firefox中使用远程的Socks代理的DNS,在地址 about:config 搜索dns,把remote dns改为True
图集
链接
- Mozilla开发者网络
- Mozilla Hacks
- Mozilla Developer Guide
- Mozilla @ GitHub
- mozdev.org
- Creating Applications with Mozilla
- Welcome to Software Development the Mozilla Way
- XUL Tutorial
- XUL Element Reference
- http://developer.mozilla.org/en/docs/Developing_Mozilla
- Hacking Firefox - http://developer.mozilla.org/en/docs/Hacking_Firefox
- Mozilla Firefox: Development Specifics
- Mozilla Source Code Directory Structure
- Mozilla Coding Style
- 详解Firefox快速发布周期和模式
<discussion>characters_max=300</discussion>
分享您的观点