Visual Studio 2017 编译Firefox63.0

1、平台

Win10 64bit

Visual studio 2017 update8

至少4G RAM,建议8G,当然越多越好。40G硬盘空间。

 

2、源码

firefox-63.0.source.tar.xz。解压至:d:\firefox63

 

3、前言

大多数windows机器上并没有安装Mozilla编译过程需要的众多工具。除Visual Studio外,你必须安装MozillaBuild,该工具是一系列软件的合集,包括正确版本的bash, GNU make, autoconf, Mercurial和其它许多的软件。

https://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe

 

4、准备工作

4.1 Visual Studio

版本最低要求为Visual Studio 2017 Update 6(15.6)。本文使用版本15.8。

注:由于Visual Studio 2017 Update 7(15.7)存在bug,所以需要版本15.6或版本15.8。

安装时选择:

  1. 使用C++的桌面开发
  2. 使用C++的游戏开发

同时需要添加组件:

  1. Windows 10 SDK (10.0.10240.0)
  2. Windows 10 SDK (最新版,最低支持10.0.15063.0)
  3. Visual C++ ATL support

 

特别说明:Clang-cl不支持10.0.16299.0。

安装完成后,要运行一次VS 2017 IDE,以让程序执行首次安装的任务,以完成初始化。

4.2 安装MozillaBuild

MozillaBuildSetup-3.2.exe。

将C:\mozilla-build,加入到系统环境变量中,并上移到最前。

需要注意的是如果路径中有空格、加号、引号等字符,Mozilla将不能编译,故强烈建议接受默认的安装设置。但Visual Studio tools和SDKs例外,这些工具安装的路径可能有空格。

建议在桌面创建C:\mozilla-build\start-shell.bat的快捷方式,这样可以节省很多时间。

4.3安装rust

Source\Rust\rust-1.30.0-i686-pc-windows-msvc.msi,根据不同的平台选择。路径选择:C:\rust。

注:编译32位用i686-pc-windows-msvc;编译64位用x86_64-pc-windows-msvc。

  1. 检查PATH

  1. cmd,查看版本:

输入rustc -V

输入cargo -V

4.4 安装LLVM and Clang

安装LLVM and Clang,地址如下:

http://releases.llvm.org/download.html

A、先安装32位的LLVM

若编译64位的firefox则不需要。

Source\LLVM\7.0.0\LLVM-7.0.0-win32.exe。

假定安装目录为:C:\LLVM32

提供32位的libclang.dll供使用。否则直接用64位的libclang.dll时会提示无效64位的dll。

B、然后安装64位的LLVM

Source\LLVM\7.0.0\LLVM-7.0.0-win64.exe。

32位的会错:LLVM ERROR: out of memory

假定安装目录为:C:\LLVM64

设置路径。

注:32位和64位安装顺序不能搞混,否则会错误调用32位lld-link.exe,出现out of memory错误。

4.5 添加rust包

  1. Cbindgen

命令:cargo install cbindgen

否则会有如下错误:

 

5、编译

5.1 修改mozilla-build查询路径

用记事本打开C:\mozilla-build\start-shell.bat,修改如下:

SET PATH=C:\mozilla-build;C:\rust\bin;%SystemRoot%\System32;%SystemRoot%;%SystemRoot%\System32\Wbem

start-shell.bat,查看版本:

输入rustc -V

输入cargo -V

5.2 mozconfig

开启编译stylo。

在源代码目录中新建文本文件“mozconfig”,内容如下:

# mozilla config stylo

#ac_add_options --with-libclang-path="C:/LLVM/lib"

ac_add_options --with-clang-path="C:/LLVM64/bin/clang.exe"

ac_add_options --with-libclang-path="C:/LLVM32/bin"

5.3 配置使用clang-cl编译(可选)

若采用clang-cl替代MSVC's cl.exe,采用lld-link替代MSVC's link.exe,则在mozconfig,添加如下内容:

export CC="clang-cl.exe"

export CXX="clang-cl.exe"

export LINKER="lld-link.exe"

5.4 执行编译

运行start-shell.bat,这样会启动GNU BASH。

cd /d/firefox63

./mach build

全程一个多小时后即可获得,在obj-i686-pc-mingw32\dist\bin获得编译结果。

 

6. 中文包

在FireFox地址栏里输入"about:config" 回车,输入general.useragent.locale,双击该项然后再弹出的对话框里输入"zh-CN",确定。

重启浏览器后FireFox就变为中文版的了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值