You can get the SpiderMonkey source code in gzipped form or directly from the Mercurial repository.
Downloading gzipped SpiderMonkey source code
You can download gzipped SpiderMonkey source code from the following URL:
https://archive.mozilla.org/pub/mozilla.org/js/
Here is a command-line example of downloading and unzipping SpiderMonkey source code version 24.2:
mkdir mozilla cd mozilla wget https://archive.mozilla.org/pub/mozilla.org/js/mozjs-24.2.0.tar.bz2 tar xjf mozjs-24.2.0.tar.bz2
These commands should work on most platforms including Windows, as long as on Windows you are using the MozillaBuild bash shell.
Getting the latest SpiderMonkey source code from Mercurial
The Mercurial repository at https://hg.mozilla.org/mozilla-central/ hosts the latest SpiderMonkey sources. Mercurial is also known as hg.
The following command line downloads the entire Mozilla repository, including the full change history and a lot of Gecko and Firefox source code that isn't part of SpiderMonkey. It also changes to the SpiderMonkey directory (js/src).
hg clone https://hg.mozilla.org/mozilla-central/
cd js/src
To avoid getting the full change history, click the zip
or gz
links at https://hg.mozilla.org/index.cgi/mozilla-central/file/tip. This fetches a snapshot of the current Mozilla tree.
If you have problems with the instructions above, you can read the full details of using Mercurial to get Mozilla code here. That page also contains links to several bundles, which can be useful if you have a poor network connection.
Getting the latest SpiderMonkey source code from Git
The following command line downloads the entire Mozilla repository, including the full change history and a lot of Gecko and Firefox source code that isn't part of SpiderMonkey. It also changes to the SpiderMonkey directory (js/src).
git clone https://github.com/mozilla/gecko-dev.git cd gecko-dev/js/src
If you want a faster (about 5 times as of January 2015) download, try doing a shallow clone (no version control history).
git clone --depth 1 https://github.com/mozilla/gecko-dev.git
If you have any problems check the https://wiki.mozilla.org/Github page.
Getting older SpiderMonkey sources from CVS
Just like when you're fetching any other Mozilla project from CVS, you need to log into the CVS server first. To do this, cd
into the base directory you'd like to check out the code into, then enter the following command at your command line:
cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot login
When prompted, enter the password anonymous
.
Once you've logged in, cd
into the root of your CVS tree and enter the following command:
cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -l mozilla/js/src mozilla/js/src/config mozilla/js/src/editline mozilla/js/src/fdlibm
This checks out all the files needed in order to build the JavaScript shell.
If you also want the regression tests, add this command:
cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/js/tests
Getting older branch versions of SpiderMonkey
If you want to experiment with a specific branch's version of SpiderMonkey, you need to check out js/src from branch but check out editline
and config
from trunk:
cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -l -r BRANCH_NAME mozilla/js/src mozilla/js/src/fdlibm cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -l mozilla/js/src/config mozilla/js/src/editline
Change BRANCH_NAME
to the name of the branch you want to check out. You can use a JavaScript branch name (e.g. JS_1_7_ALPHA_BRANCH
) or a Mozilla branch name (e.g. MOZILLA_1_8_BRANCH
).