Home | Back
Lacewing is a framework for writing cross-platform, networked applications in C,
C++ and Javascript.


Installing
==========

On Windows, use the MSVC project file in the 'msvc' directory to build a DLL/LIB.

On Linux/BSD/OS X:

    ./configure
    make
    make install
    
Node.JS module:

    node-waf configure build
    node-waf install
    
Android NDK (libssl.so/libcrypto.so are required - see docs/android_build.txt):

    cd jni
    ndk-build

    
Changes in 0.2.0 (2011-07-14)
=============================

- New Javascript liblacewing API for MozJS (SpiderMonkey/TraceMonkey) and V8.
  Currently only supports the webserver and utility classes.  It is also
  now possible to build liblacewing as a Node.JS module - a wscript for node-waf
  is provided.
  
- Added support for building for Android (Android.mk is in the 'jni' folder)

- The build system has been changed from automake to autoconf with a simple
  Makefile.  This should solve the headaches with building on different
  platforms (Windows users should still use the MSVC project as normal.)

- Removed the dependency on STL, resulting in a much faster build and smaller
  binaries (particularly on Android.)  This also makes it easier to link
  liblacewing into static Linux binaries.

- New global hash functions, implemented via OpenSSL or the Win32 crypt32 API:

    * Lacewing::MD5
    * Lacewing::MD5_Hex
    * Lacewing::SHA1
    * Lacewing::SHA1_Hex
    
- PostEventLoopExit() function added to the EventPump, to cause StartEventLoop()
  to return (once any pending events have been processed.)

- In the Webserver, Request objects are now freed immediately after the
  connection is closed, after calling the disconnect handler.  Previously, the
  Request object would remain in a disconnected state until Finish() was called.

- In Unix, the EventPump class is is now just a default implementation of the
  Pump class, which can be derived from to use custom methods of watching FDs.
  A custom pump using libev is provided in the 'ev' folder.

- Fixed some issues with Lacewing::Server on Unix:

    * SendFile didn't always complete in SSL mode
    * SendFile didn't send the file if open() returned 0
    * The Disconnect handler didn't always trigger