Difference between revisions of "Dependencies"

From Sirikata Wiki
Jump to: navigation, search
(New page: Sirikata relies on a quite a few libraries for its full functionality. This is a list of the required and optional libraries we use and brief descriptions of what they are used for. Siri...)
 
(Major update, adding a lot of missing libraries)
Line 4: Line 4:
 
* CMake - version 2.4+, 2.6+ preferred.  Generates build scripts.
 
* CMake - version 2.4+, 2.6+ preferred.  Generates build scripts.
 
* Boost (system, program_options, thread, filesystem, function, bind) - version 1.38+. Wide variety of C++ utilities.
 
* Boost (system, program_options, thread, filesystem, function, bind) - version 1.38+. Wide variety of C++ utilities.
* Protocol Buffers - Serialization format for network messages.
+
* PBJ - Protocol buffers and jelly - wrapper around protocol buffers which has additional useful types, used for serializing network messages
 +
** Protocol Buffers - Serialization backend for PBJ
 +
** ANTLR - parser framework used for parsing PBJ files
 
* libCURL - Used for CDN implementation to pull content files from URLs.
 
* libCURL - Used for CDN implementation to pull content files from URLs.
 +
* prox - efficient proximity query resolver, used by space to notify objects of relevant objects
 +
* sqlite3 - simple, local, SQL database; currently used by object storage system for durable, persistent storage of object state
  
 
==== Optional Libraries ====
 
==== Optional Libraries ====
 
* CXXTest - unit tests.
 
* CXXTest - unit tests.
 +
 +
===== Ogre Graphics Plugin =====
 +
* Ogre - rendering engine
 +
** SDL - used for input
 +
** berkelium - offscreen rendering of web browsers, for embedding browsers and UI
 +
** OpenCollada - loads collada models from the CDN
 +
 +
===== Scripting =====
 +
* Mono - used to run any .NET binaries as object scripts
 +
** Cecil - used for dynamically modifying binaries, used for signing and verification
 +
** IronPython - if available, enables python object scripting via .NET plugin
 +
 +
===== Physics =====
 +
* Bullet - physics simulation engine, enables bullet-physics object host plugin

Revision as of 00:36, 23 November 2009

Sirikata relies on a quite a few libraries for its full functionality. This is a list of the required and optional libraries we use and brief descriptions of what they are used for. Sirikata should build with just the required set of libraries, but will be missing some plugins which rely on additional libraries to function.

Required Libraries

  • CMake - version 2.4+, 2.6+ preferred. Generates build scripts.
  • Boost (system, program_options, thread, filesystem, function, bind) - version 1.38+. Wide variety of C++ utilities.
  • PBJ - Protocol buffers and jelly - wrapper around protocol buffers which has additional useful types, used for serializing network messages
    • Protocol Buffers - Serialization backend for PBJ
    • ANTLR - parser framework used for parsing PBJ files
  • libCURL - Used for CDN implementation to pull content files from URLs.
  • prox - efficient proximity query resolver, used by space to notify objects of relevant objects
  • sqlite3 - simple, local, SQL database; currently used by object storage system for durable, persistent storage of object state

Optional Libraries

  • CXXTest - unit tests.
Ogre Graphics Plugin
  • Ogre - rendering engine
    • SDL - used for input
    • berkelium - offscreen rendering of web browsers, for embedding browsers and UI
    • OpenCollada - loads collada models from the CDN
Scripting
  • Mono - used to run any .NET binaries as object scripts
    • Cecil - used for dynamically modifying binaries, used for signing and verification
    • IronPython - if available, enables python object scripting via .NET plugin
Physics
  • Bullet - physics simulation engine, enables bullet-physics object host plugin