flusspferd
flusspferd copied to clipboard
Javascript Bindings for C++
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.)