Dependencies

From Sirikata Wiki
Revision as of 00:36, 23 November 2009 by Ewencp (talk | contribs) (Major update, adding a lot of missing libraries)
Jump to navigation Jump to search

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