Mozilla/developer

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(编译)
(链接)
 
(未显示1个用户的41个中间版本)
第3行: 第3行:
  
 
[[Image:Animated-Firefox-Snow-Globe-125x125.png|right]]
 
[[Image:Animated-Firefox-Snow-Globe-125x125.png|right]]
 +
 +
==平台==
 +
[[Firefox/4|Firefox4]] 源码的目录是 firefox-4.0.source/mozilla-2.0
 +
*[https://wiki.mozilla.org/Mozilla_2 Mozilla 2]
 +
*[https://wiki.mozilla.org/Platform Mozilla Platform]
 +
*[https://wiki.mozilla.org/Roadmaps Mozilla 产品路线图]
 +
 +
==移动==
 +
*[[Firefox/mobile|Firefox Mobile]] 开发者相关
 +
*[[Boot to Gecko]]
 +
 +
==扩展==
 +
[[Mozilla/extensions|Mozilla/Firefox 扩展开发]]
 +
 +
==安全==
 +
[[mozilla/security|Mozilla/Firefox 安全]]
 +
 +
==核心==
 +
*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]]
  
 
==编译==
 
==编译==
Requirements
+
需要安装的
 
* Microsoft Visual C++ Tools // VC7.1 (Visual Studio 2003), VC8 (Visual Studio 2005), VC9 (Visual Studio 2008)
 
* Microsoft Visual C++ Tools // VC7.1 (Visual Studio 2003), VC8 (Visual Studio 2005), VC9 (Visual Studio 2008)
* Microsoft Windows SDK(s) // Microsoft Windows Server 2003 R2 Platform SDK
+
* Microsoft Windows SDK(s)  
 
* MozillaBuild
 
* MozillaBuild
 
https://developer.mozilla.org/en/Windows_Build_Prerequisites
 
https://developer.mozilla.org/en/Windows_Build_Prerequisites
 
*http://developer.mozilla.org/en/docs/Build_Documentation
 
*http://developer.mozilla.org/en/docs/Build_Documentation
 
*http://developer.mozilla.org/en/docs/Creating_a_patch
 
*http://developer.mozilla.org/en/docs/Creating_a_patch
安装好需要的软件后,进入c:\mozilla-build 目录,开始编译:
+
安装好需要的软件后,进入c:\mozilla-build 目录:
*start-msvc8.bat (VS 2005)
+
*start-msvc8.bat or start-msvc8-x64.bat (VS 2005)
*start-msvc9.bat (VS 2008)
+
*start-msvc9.bat or start-msvc9-x64.bat (VS 2008)
*start-msvc10.bat (VS 2010)
+
*start-msvc10.bat or start-msvc10-x64.bat (VS 2010)
 +
获得源码
 +
*[http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest/source/ 下载源代码]
 +
*[https://developer.mozilla.org/En/Developer_Guide/Source_Code/Mercurial Using Mercurial]
 +
配置Build选项
 +
*[https://developer.mozilla.org/en/Configuring_Build_Options Configuring Build Options]
 +
在 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生成,编译成功 :)
 +
*参考:[https://developer.mozilla.org/en/Build_and_Install Build and Install]
 +
 
 +
==技巧==
 +
*在地址栏输入:chrome://browser/content/browser.xul
 +
*在Firefox中使用远程的Socks代理的DNS,在地址 about:config 搜索dns,把remote dns改为True
  
 
==图集==
 
==图集==
 
<gallery widths=100px heights=100px perrow=6>
 
<gallery widths=100px heights=100px perrow=6>
 +
Image:mozilla-platform.png|Mozilla Platform
 +
Image:mozilla-architecture-and-concepts.png|Mozilla架构和概念
 
Image:mozilla-app-architecture-diagram.png|Mozilla应用架构
 
Image:mozilla-app-architecture-diagram.png|Mozilla应用架构
 
Image:mozilla-submitting-patch-workflow.png|Patch流程
 
Image:mozilla-submitting-patch-workflow.png|Patch流程
第24行: 第110行:
 
Image:scripting-in-mozilla.png|Mozilla的脚本
 
Image:scripting-in-mozilla.png|Mozilla的脚本
 
Image:event-capturing-in-xul.png|XUL中的事件捕获
 
Image:event-capturing-in-xul.png|XUL中的事件捕获
 +
Image:XUL-MVC.png|MVC in XUL
 
Image:xpconnect-javascript-xul-app.png|XPConnect绑定JS和XUL到应用中
 
Image:xpconnect-javascript-xul-app.png|XPConnect绑定JS和XUL到应用中
 
Image:mozilla-packaging-components.png|Mozilla应用包组件
 
Image:mozilla-packaging-components.png|Mozilla应用包组件
第34行: 第121行:
 
Image:netscape-object-signing-certificate-chain.png|对象签名证书链
 
Image:netscape-object-signing-certificate-chain.png|对象签名证书链
 
Image:mozilla-signed-remote-applications.png|签名远程应用
 
Image:mozilla-signed-remote-applications.png|签名远程应用
 +
Image:Firefox-Main-Repositories.png|Main Repositories
 +
Image:Necko-Architecture.jpg|Necko架构
 +
Image:renderer-plugin-architecture.png|渲染插件体系
 +
Image:Gecko-SVG-Architecture.png|Gecko SVG
 +
Image:Mozilla-and-Java.png|Mozilla和Java
 +
Image:mozilla-build-system.png|Mozilla构建系统
 +
Image:Mozilla-Build-Run-Life-Cycle.png|Mozilla构建生命周期
 +
Image:mozilla-build-system-mac-minis.jpg|Mac Minis
 
</gallery>
 
</gallery>
  
第40行: 第135行:
 
*[https://hacks.mozilla.org/ Mozilla Hacks]
 
*[https://hacks.mozilla.org/ Mozilla Hacks]
 
*[https://developer.mozilla.org/En/Developer_Guide Mozilla Developer Guide]
 
*[https://developer.mozilla.org/En/Developer_Guide Mozilla Developer Guide]
 +
*[https://github.com/mozilla Mozilla @ GitHub]
 +
*[http://www.mozdev.org/ mozdev.org]
 
*[http://book.huihoo.com/creating-applications-with-mozilla/ Creating Applications with Mozilla]
 
*[http://book.huihoo.com/creating-applications-with-mozilla/ Creating Applications with Mozilla]
 +
*[http://mb.eschew.org/intro Welcome to Software Development the Mozilla Way]
 
*[http://docs.huihoo.com/mozilla/xul/xultu/index.html XUL Tutorial]
 
*[http://docs.huihoo.com/mozilla/xul/xultu/index.html XUL Tutorial]
 
*[http://docs.huihoo.com/mozilla/xul/elemref/index.html XUL Element Reference]
 
*[http://docs.huihoo.com/mozilla/xul/elemref/index.html XUL Element Reference]
 
*http://developer.mozilla.org/en/docs/Developing_Mozilla
 
*http://developer.mozilla.org/en/docs/Developing_Mozilla
 
*[[Hacking Firefox]] - http://developer.mozilla.org/en/docs/Hacking_Firefox
 
*[[Hacking Firefox]] - http://developer.mozilla.org/en/docs/Hacking_Firefox
 +
*[http://mozilla.github.com/process-releases/draft/development_specifics/ Mozilla Firefox: Development Specifics]
 +
*[https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure Mozilla Source Code Directory Structure]
 +
*[https://developer.mozilla.org/en/Mozilla_Coding_Style_Guide Mozilla Coding Style]
 +
*[http://mozilla.com.cn/blog/2011/7/28/156/ 详解Firefox快速发布周期和模式]
  
 
{{comment}}
 
{{comment}}
  
[[Category:Mozilla]]
+
[[category:developer]]
[[Category:Firefox]]
+
[[category:mozilla]]
 +
[[category:firefox]]

2013年2月21日 (四) 14:27的最后版本

MDN.png

MozillaFirefox 开发者相关

Animated-Firefox-Snow-Globe-125x125.png

目录

[编辑] 平台

Firefox4 源码的目录是 firefox-4.0.source/mozilla-2.0

[编辑] 移动

[编辑] 扩展

Mozilla/Firefox 扩展开发

[编辑] 安全

Mozilla/Firefox 安全

[编辑] 核心

[编辑] 编译

需要安装的

  • 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

安装好需要的软件后,进入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

[编辑] 图集

[编辑] 链接

Comment-32x32.png

<discussion>characters_max=300</discussion>

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱