#use wml::ossp area=pkg:lib subarea=js OSSP js

Mozilla JavaScript Engine

Abstract

OSSP js is a stand-alone distribution of the JavaScript (JS) programming language reference implementation from Mozilla -- aka JSRef or SpiderMonkey. This distribution provides a smart, stand-alone and portable distribution of Mozilla JavaScript through a build environment based on GNU autoconf, GNU libtool and GNU shtool, including support for easy JavaScript build-time feature set selection (ECMA-3, JS-1.5, JS-1.6), optional CLI line editing support, optional "stdio" based File object support, optional Dynamic Shared Object (DSO) based C extension loading support and JS/Perl bindings. Additionally, the C API in "libjs" contains both the JavaScript engine and the required Sun math library ("fdlibm") and with all internal symbols carefully protected under the "js" namespace. Finally, a js-config(1) utility and a pkg-config(1) specification is provided to allow applications to easily build with the JavaScript C API.

Justification

OSSP js was created because for OSSP and similar pedantic C coding projects a smart, stand-alone, portable, clean, powerful and robust scripting language engine is required. JavaScript is a great programming language and Mozilla JavaScript "SpiderMonkey" definitely is an acceptable clean, powerful and robust implementation. Unfortunately there is just a stand-alone distribution released from time to time by Mozilla and it is far away from really being smart, stand-alone and portable. At least for OSSP it was not acceptable having to tell the community that for small and stand-alone C components like the OSSP components they either have to install the great but large Mozilla Firefox application (where Mozilla JavaScript is included) or have to fiddle around theirself with an older stand-alone JavaScript distribution and its weak build environment. OSSP js combines the best from two worlds: the 1:1 repackaged JavaScript code base from Mozilla and the usual amount of GNU autoconf, GNU libtool and GNU shtool wrappers as always used by OSSP. Additionally, stand-alone ("stdio" instead of NSPR based) File object support was required.

Versioning

The version of OSSP js is M.N.YYYYMMDD where M.N is the JavaScript branch and YYYYMMDD is the date where the JavaScript code was extracted from the Mozilla CVS repository.

Documentation

Authors

Status

Source

Donation