[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.2 Dependencies

To make sure some parts of Crystal Space can be used by themselves, there is a philosophy, about which parts of Crystal Space are allowed to use other parts. You can think of the various modules as sitting on a specific level:

Note: This information may not be fully accurate at the time you read this. Crystal Space is moving toward a system of plug-in modules which advertise pure, abstract interfaces which often imply much less dependency than actually linking with a library.

Every modules is only allowed to include headers from the same modules or from lower levels. So for example, `csengine' may include headers from `csutil' but not from `csws' or `csparser'.

All communication between level 3 libraries happens through SCF interfaces. Those are defined in the `CS/include' directory. That is the only way to communicate on level 3. `csengine' can use level 3 libraries only through SCF.



This document was generated using texi2html