Skip to content
Permalink
Browse files
Remove support for Mozilla Spidermonkey 1.8.5
- CouchDB can still be built with 1.8.0x or 1.7.0 if required
  • Loading branch information
dch committed Dec 30, 2011
1 parent 71c993d commit ffa544f8fd14969d2e33a478eb6c0d70f1257471
Showing 4 changed files with 22 additions and 30 deletions.
@@ -211,41 +211,22 @@ via `setenv /release /x86` again

# Javascript
################################################################################
The Javascript engine used by CouchDB is Mozilla Spidermonkey. Prior to 1.8.5
[js185] there was no formal release for it, so you can build from anywhere on
trunk. The 1.8.x source below [js18x] is also used on the Mac OS X homebrew
build of CouchDB.
The Javascript engine used by CouchDB is Mozilla Spidermonkey v1.8.5 [js185].

* to build and install SpiderMonkey we use the mozilla tools chain.
* run `c:\mozilla-build\start-msvc9.bat` even if you are on a 64-bit platform.
* run `c:\mozilla-build\start-msvc10.bat` even if you are on a 64-bit platform.
* do a sanity check to confirm the MS build compilers are present via
`which cl link mc lc mt`
* you may need to fudge the path if `cl.exe` can't be found using `PATH=$PATH:/c/relax/VC/VC/bin/:/c/relax/SDK/bin:/c/relax/VC/Common7/IDE:/c/relax/VC/VC/bin/amd64/:/c/relax/VC/VC/bin/x86_ia64/`

* to build Spidermonkey JS 1.8.x [js18x]

cd /c/relax
tar xzf bits/57a6ad20eae9.tar.gz
cd ./tracemonkey-57a6ad20eae9/js/src
autoconf-2.13
./configure --enable-static --enable-shared-js
make


* alternatively to build Spidermonkey JS 1.8.5 [js185]

cd /c/relax
tar xzf bits/js185-1.0.0.tar.gz
cd ./js-1.8.5/js/src
autoconf-2.13
./configure --enable-static --enable-shared-js
make

The CouchDB configure script is used later on to select which version of
Spidermonkey is used.

[js185]: http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz
[js18x]: http://hg.mozilla.org/tracemonkey/archive/57a6ad20eae9.tar.gz

# Building CouchDB
################################################################################
@@ -255,14 +236,12 @@ Finally we are going to build Apache CouchDB... whew! Recapping, we should have:
* erlang in `/relax/otp_src_R14B03/release/win32` with a copy stashed nearby
* openssl in `/relax/openssl/lib/{lib,ssl}eay32.lib`
* libcurl in `/relax/curl/lib/libcurl.lib`
* two js libraries in `/relax/js-1.8.5/js/src/dist/{bin,lib}/mozjs185-1.0.*` and
`/relax/tracemonkey-57a6ad20eae9/js/src/dist/{bin,lib}/mozjs.*`
* js library in `/relax/js-1.8.5/js/src/dist/{bin,lib}/mozjs185-1.0.*`
* icu in `/relax/icu/bin/icu*.dll`

There are three relevant scripts for building CouchDB:
There are two relevant scripts for building CouchDB:

* `couchdb_config_js180.sh` for CouchDB 1.1.0 or older, using js180
* `couchdb_config_js185.sh` for CouchDB 1.1.1 or newer, supporting js185
* `couchdb_config.sh` for CouchDB 1.1.1 or newer, supporting js185 only
* `couchdb_build.sh` which compiles, and packages, CouchDB

There are still some patches required against both released and trunk versions.
@@ -286,7 +265,6 @@ assuming that help2man will be useful on Windows.
mv /usr/bin/curl-config /usr/bin/curl-config.dist
mv /usr/bin/help2man /usr/bin/help2man.dist
./bootstrap
/relax/bin/couchdb_config_js185.sh
/relax/bin/couchdb_build.sh


@@ -0,0 +1,17 @@
#!/bin/sh
COUCH_TOP=`pwd`
export COUCH_TOP

./configure \
--prefix=$ERL_TOP/release/win32 \
--with-erlang=$ERL_TOP/release/win32/usr/include \
--with-win32-icu-binaries=/relax/icu \
--without-win32-curl \
--with-openssl-bin-dir=/relax/openssl/bin \
--with-msvc-redist-dir=/relax \
--with-js-lib=/relax/js-1.8.5/js/src/dist/lib \
--with-js-include=/relax/js-1.8.5/js/src/dist/include \
2>&1 | tee $COUCH_TOP/build_configure.txt
### --enable-static \

echo DONE. | tee -a $COUCH_TOP/build_configure.txt
@@ -13,7 +13,6 @@ dd6c2a4807551b4a8a536067bde31d73 *otp_src_R15B.tar.gz
6f819070a9461ff442c708312c919aa5 *setup.exe
41881cc6a7503748c9ea2b1580af2fd0 *strawberry-perl-5.12.2.0-portable.zip
5b39aa309baf8633b475f25e23b75677 *tcltk85_win32_bin.tar.gz
0f2490f78d880ec184d9233df97ab83d *tracemonkey-57a6ad20eae9.tar.gz
1801436936e64598bab5b87b37dc7f87 *vcredist_x86.exe
acda3682dd57e13fcb09da2de0a288be *winsdk_web.exe
b6f4be9dd32090c42994765ff0a832cb *wxMSW-2.8.12.zip
@@ -45,8 +45,6 @@ http://www.erlang.org/download/tcltk85_win32_bin.tar.gz
http://download.icu-project.org/files/icu4c/4.6.1/icu4c-4_6_1-src.zip
### inno5_setup isetup-5.4.2-unicode.exe
http://www.jrsoftware.org/download.php/is-unicode.exe
### spidermonkey 57a6ad20eae9.tar.gz
http://hg.mozilla.org/tracemonkey/archive/57a6ad20eae9.tar.gz
### spidermonkey js185-1.0.0.tar.gz
http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz

0 comments on commit ffa544f

Please sign in to comment.