/ateles-cpp

SpiderMonkey gRPC Server

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Ateles

The new javascript worker runtime for CouchDB on FDB.

Building

Once all dependencies are installed (see below) building ateles is as simple as:

  make

Dependencies

macOS

  brew install cmake
  brew install grpc

Installing spidermonkey

macOS

  brew install autoconf@2.13
  brew install yasm
  mkdir ~/tmp/spidermonkey && cd ~/tmp/spidermonkey
  wget http://ftp.mozilla.org/pub/spidermonkey/prereleases/52/pre1/mozjs-52.9.1pre1.tar.bz2
  tar -xvjf mozjs-52.9.1pre1.tar.bz2
  cd mozjs-52.9.1pre1/js/src
  mkdir obj
  cd obj
  CXXFLAGS=-stdlib=libc++ ../configure
  make -j4
  make install
  cp ./mozglue/build/libmozglue.dylib /usr/local/lib/

Linux

  sudo apt-get install autoconf2.13
  sudo apt-get install yasm
  mkdir ~/tmp/spidermonkey && cd ~/tmp/spidermonkey
  wget http://ftp.mozilla.org/pub/spidermonkey/prereleases/52/pre1/mozjs-52.9.1pre1.tar.bz2
  tar -xvjf mozjs-52.9.1pre1.tar.bz2
  cd mozjs-52.9.1pre1/js/src
  mkdir obj
  cd obj
  ../configure
  make -j4
  make install
  cp ./mozglue/build/libmozglue.dylib /usr/local/lib/

Generating Coverage Reports

This is currently only supported on OS X with Clang++.

These are the steps to generate coverage reports:

$ rm -rf ./build
$ cmake -DENABLE_COVERAGE=ON -S . -B build/
$ make check
$ make coverage