Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Javascript Bindings for C++
C++ JavaScript Other

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
CMakeModules
debian
help changed github link to organization link
include changed some includes (from "FunkMonkey's MSVC patch" http://github.c…
js dont colourize test output on windows
libflusspferd changed some includes (from "FunkMonkey's MSVC patch" http://github.c…
misc build: added flag to switch off emacs mode building/installation (fix…
plugins feature #201: make the whole thing compile
programs Merge commit 'origin/readline'
test
util
vendor
.gitattributes Dont include .git* files in archives
.gitignore
.gitmodules
CMakeLists.txt
CONTRIBUTORS added Roman to the list of contributors.
COPYING copyright: reference CONTRIBUTORS instead of listing an arbitrary par…
ChangeLog.txt updated ChangeLog: FreeBSD Support
Makefile
README
ReleaseNotes.txt
configure configure: added help for spidermonkey_include_dir and root_path
flusspferd-version.sh Move reading of version file into CMakeLists.txt so it is uses on win32.
pack.sh

README

Flusspferd
==========

Javascript bindings for C++, a Javascript interpreter and shell, and a
Javascript/C++ module system. Also, Flusspferd includes a few Javascript classes
and modules: binary blobs, SQLite 3, GMP and others (most of these do not have
to be installed).

It supports Spidermonkey as its backend, and possibly support for other engines
will be added later.

Flusspferd is licensed under the MIT license (open source).

See http://flusspferd.org/ for more information.

Requirements
------------

- Linux or Mac OS X or another POSIX system
- Spidermonkey 1.8.1+ (NOT 1.8.0)
- Boost 1.40+
- cmake 2.6+ (Build system)
- iconv support
- A reasonably modern and C++-compliant compiler. If your compiler is too old,
  then you're on your own. Sorry, but we don't intend to spend our unpaid time
  writing work-arounds for broken compilers.

Optionally:
- libedit (BSD)
- libxml2 2.6+ (for the XML plugin)
- SQLite3 3.4+(for the SQLite3 plugin)
- cURL (for the cURL plugin)
- GMP (for the GMP plugin)

Building & installing Flusspferd
--------------------------------

You can build Flusspferd (thanks to our wrappers) with

$ ./configure && make && sudo make install

as you probably are accustomed to. You might have to pass some parameters to
./configure:

  -DBOOST_ROOT=/path/to/boost
  -DSPIDERMONKEY_ROOT=/path/to/spidermonkey
  -DLINE_EDITOR=readline (if you want to use GNU/readline instead of editline)

These parameters are passed directly to cmake, i.e. you can also pass other
parameters that cmake understands.

You can generate the documentation with

$ ./util/docs.sh

The generated documentation is in ./build/html/.

Using Flusspferd
----------------

We have tutorials at http://flusspferd.org/docs/tutorials.html. Just a quick
peek:

> const GMP = require('gmp');
> f = GMP.Float(2);
2.0
> print(f.sqrt())
1.41421356237309504876
>

(The text after ">" in each line is input.)
Something went wrong with that request. Please try again.