Skip to content

ngoyal/flusspferd

 
 

Repository files navigation

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, XML, cURL, SQLite 3 and others.

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

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.)

About

Javascript Bindings for C++

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 79.6%
  • JavaScript 16.2%
  • Shell 2.3%
  • Emacs Lisp 1.6%
  • Lua 0.3%