Installation Documentation Copyright (C) 2004-2009 Ushodaya Enterprises Limited Author: Charles Yates Last Revision: 2009-05-15 INSTALL ------- This document provides a description of the MLT Melted project installation and organisation. Directories ----------- The directory heirarchy is defined as follows: + docs - Location of all documentation + src - All project source is provided here + melted - The server implementation (*) + mvcp - Client API to access the server + mvcp-console - A simple console (protocol level) example (*) + mvcp-client - A terminal-based example client (*) + modules - All services are defined here + mvcp - MVCP consumer + melted++ - C++ classes for melted and mvcp Additional subdirectories may be nested below those shown and should be documented in their parent. (*) Contains GPL dependencies or code. Dependencies ------------ Melted is dependent on: * The MLT framework library * a C99 compliant C compiler * posix threading * standard posix libraries Configuration ------------- Configuration is triggered from the top level directory via a ./configure script. Each source bearing subdirectory shown above have their own configure script which are called automatically from the top level. Typically, new modules can be introduced without modification to the configure script and arguments are accepted and passed through to all subdirectories. More information on usage is found by running: ./configure --help NB: This script must be run to register new services after a CVS checkout or subsequent update. Compilation ----------- Makefiles are generated during configuration and these are based on a per directory template which must be provided by the developer. Installation ------------ The install is triggered by running make install from the top level directory. Mvcp produces a single shared object which is installed in $prefix/lib/ and public header which are installed in $prefix/include/mlt/mvcp. Melted produces a single exectuable which is installed in $prefix/bin/, a library in $prefix/lib and associated header files in $prefix/include/mlt/melted. The modules produce a shared object per module. These are installed in $prefix/lib/mlt/modules. It is at the discretion of the module to install additional support files in $prefix/share/mlt. To allow the development of external components, pkg-config config files are generated and installed in $prefix/lib/pkgconfig. After install, only those modules listed are usable by the server. No module is loaded unless explicitly requested via server configuration or usage.