25 个版本
使用旧的 Rust 2015
0.67.1 | 2019年9月24日 |
---|---|
0.61.13 | 2019年5月4日 |
0.61.12 | 2019年4月25日 |
0.61.8 | 2019年3月25日 |
0.1.0 | 2015年11月30日 |
23 在 #servo
39 每月下载量
用于 4 个 crate(通过 mozjs)
74MB
1.5M SLoC
包含 (Python 包,1.5MB) pip-9.0.3-py2.py3-none-any.whl,(autotools 加密代码,665KB) mozjs/js/src/ctypes/libffi/configure,(Python 包,570KB) setuptools-39.0.1-py2.py3-none-any.whl,(autotools 加密代码,270KB) mozjs/intl/icu/source/configure,(autotools 加密代码,275KB) mozjs/nsprpub/configure,(Python 包,485KB) setuptools-36.8.0-py2.py3-none-any.whl 等26个更多.
此仓库包含用于与 SpiderMonkey 一起使用的 Servo 的 Rust 绑定。
绑定直接面向原始 SpiderMonkey API,更高级别的绑定在 rust-mozjs 仓库 中。
构建
在 Linux 下
安装 Clang(至少版本 3.9)和 autoconf v 2.13,例如在基于 Debian 的 Linux 上
sudo apt-get install clang-6.0 autoconf2.13
如果您安装了多个版本的 Clang,您可以设置 LIBCLANG_PATH
环境变量,例如
export LIBCLANG_PATH=/usr/lib/clang/4.0/lib
在 Windows 下
-
遵循 https://mdn.org.cn/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Windows_Prerequisites 中的说明
-
打开配置为使用Visual Studio的shell。这可能包括Visual Studio自带的(例如Visual Studio 2017 / X64 Native Tools Command Prompt for VS 2017)或你在其中运行过的shell
"c:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
- 将环境变量
MOZTOOLS_PATH
设置为指向Mozilla Build Package中的工具
set MOZTOOLS_PATH=C:\mozilla-build\msys\bin;C:\mozilla-build\bin
- 从https://releases.llvm.org/download.html下载并安装Windows(64位)的Clang,并将环境变量
LIBCLANG_PATH
设置为它的lib
目录
set LIBCLANG_PATH=C:\Program Files\LLVM\lib
- 设置环境变量,以便构建脚本可以找到Python 2.7和Autoconf 2.13
set AUTOCONF=C:\mozilla-build\msys\local\bin\autoconf-2.13
set NATIVE_WIN32_PYTHON=C:\mozilla-build\python\python2.7.exe
现在你可以使用cargo构建和测试crate了
cargo build
cargo test
cargo build --features debugmozjs
cargo test --features debugmozjs
升级
为了升级到SpiderMonkey的新版本
-
在https://treeherder.mozilla.org/#/jobs?repo=mozilla-release&filter-searchStr=spidermonkey%20pkg中找到SpiderMonkey所需版本的mozilla-release提交。你正在寻找标记为FIREFOX_RELEASE的SM(pkg)。注意左侧的提交号(如ac4fbb7aaca0这样的十六进制数)。
-
点击SM(pkg)链接,将打开一个包含提交详细信息的面板,包括一个形式为mozjs-version.tar.bz2的已上传工件链接。下载它并保存在本地。
-
查看
etc/patches/*.patch
中的补丁,并删除不再适用的补丁(如果幸运的话,这将是所有补丁)。 -
运行
python3 ./etc/update.py path/to/tarball
。 -
使用提交号更新
etc/COMMIT
。 -
像上面一样构建和测试绑定,然后提交PR!
依赖关系
~0.8–3.5MB
~58K SLoC