X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=docs%2Finstall.txt;h=85314e3d4efc90bfa6b433d47e710e3bb7c63e46;hb=07a6c505e67f743795cd36c8c22e6214ea6c0a7f;hp=52b50a6d8e158a8f45cd2de80ba6335b8d650b5e;hpb=bea649aa7c6f4f4c57b67678be7dfe74d4db66b3;p=melted diff --git a/docs/install.txt b/docs/install.txt index 52b50a6..85314e3 100644 --- a/docs/install.txt +++ b/docs/install.txt @@ -1,11 +1,15 @@ +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 project installation and - organisation. - - It provides *CRITICAL* architecture information, so please read carefully - if you plan to extend or use the MLT code base. + This document provides a description of the MLT Melted project installation + and organisation. Directories @@ -13,36 +17,31 @@ Directories The directory heirarchy is defined as follows: - + demo - A selection of samples to show off capabilities. + docs - Location of all documentation + src - All project source is provided here - + framework - The mlt media framework + + 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 - + core - Independent MLT services - + dv - libdv dependent services - + ffmpeg - ffmpeg dependent services - + avformat - libavformat dependent services - + vorbis - vorbis dependenent services - + sdl - SDL dependent services - + resample - libresample dependent services - + gtk2 - pango and pixbuf dependent services - + fezzik - A giant (meta) service to load and normalise media - + westley - Nice and clever XML services - + vorbis - Ogg Vorbis dependent services - + xine - Xine-derived sources - + bluefish - Bluefish dependent services (*) - + mainconcept - mainconcept dependent services (*) - + inigo - A media playing test application - + valerie - Client API to access the server - + miracle - The server implementation - + albino - A simple console (protocol level) example - + humperdink - A terminal-based example client - + tests - Reserved for regression and unit tests + + 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. - (*) Not posted to CVS due to licensing issues. + (*) 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 @@ -58,12 +57,9 @@ Configuration configure script and arguments are accepted and passed through to all subdirectories. - Top level usage is: + More information on usage is found by running: - ./configure --help - report all configure options - ./configure --prefix=[dir] - target install directory (default: /usr/local) - ./configure --disable-[mod] - do not compile specified module(s) - ./configure --[other] - pass through to children + ./configure --help NB: This script must be run to register new services after a CVS checkout or subsequent update. @@ -76,67 +72,27 @@ Compilation a per directory template which must be provided by the developer. -Testing -------- - - To execute the mlt tools without installation, or to test a new version - on a system with an already installed mlt version, you should run: - - . setenv - - NB: This applies to your current shell only. - - Installation ------------ - * NOT IMPLEMENTED YET * - - The install is triggered by running make install or make install-strip - from the top level directory. + The install is triggered by running make install from the top level + directory. - The framework produces a single shared object which is installed in - $prefix/lib/ and public header files which are installed in - $prefix/include/mlt/framework. - - The client produces a single shared object which is installed in + Mvcp produces a single shared object which is installed in $prefix/lib/ and public header which are installed in - $prefix/include/mlt/client. + $prefix/include/mlt/mvcp. - The server produces a single exectuable which is installed in - $prefix/bin/. This is linked against the framework shared object and - posix libs but not against any of the modules. + 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 and update text files - containing a list of modules provided by this build. These are installed - in $prefix/share/mlt/. It is at the discretion of the module to install - additional support files. + 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, mlt-client-config and - mlt-framework-config scripts are generated and installed in $prefix/bin. + 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. - - External modules are also placed in this $prefix/share/mlt, and the - installation of those must modify the text file accordingly before they - will be considered at runtime. - - -Development ------------ - - All compilation in the project has {top-level-dir}/src on the include path. - All headers are included as: - - #include - - All external modules have {prefix}/include/mlt on the include path. All - headers should also be included as: - - #include - - This allows migration of source between external and internal modules. - The configuration and Makefile template requirements will require - attention though.