docs: add a page about building gstreamer and apps

This commit is contained in:
Stefan Kost 2009-03-25 11:03:22 +02:00
parent 5fa36d9f3d
commit 6a15b2b0c5
3 changed files with 102 additions and 1 deletions

View file

@ -78,7 +78,7 @@ IGNORE_HFILES= \
HTML_IMAGES =
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
content_files = running.xml
content_files = building.xml running.xml
# Other files to distribute.
extra_files =

100
docs/gst/building.xml Normal file
View file

@ -0,0 +1,100 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % version-entities SYSTEM "version.entities">
%version-entities;
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
]>
<refentry id="gst-buidling" revision="25 mar 2009">
<refmeta>
<refentrytitle>Building GStreamer and GStreamer Applications</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GStreamer Core</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Building GStreamer and GStreamer Applications</refname>
<refpurpose>
How to build the GStreamer framework and applications using it.
</refpurpose>
</refnamediv>
<refsect1>
<title>Building GStreamer on UNIX</title>
<!-- this has been borrowed from the glib docs -->
<para>
On UNIX, GStreamer uses the standard GNU build system,
using <application>autoconf</application> for package
configuration and resolving portability issues,
<application>automake</application> for building makefiles
that comply with the GNU Coding Standards, and
<application>libtool</application> for building shared
libraries on multiple platforms. The normal sequence for
compiling and installing the GStreamer library is thus:
<literallayout>
<userinput>./configure</userinput>
<userinput>make</userinput>
<userinput>make install</userinput>
</literallayout>
</para>
<para>
The standard options provided by <application>GNU
autoconf</application> may be passed to the
<command>configure</command> script. Please see the
<application>autoconf</application> documentation or run
<command>./configure --help</command> for information about
the standard options.
</para>
<para>
In addition there are several option to activate or deactivate features.
E.g. passing <option>--disable-gst-debug</option> to <command>configure</command>
will turn the debugging subsystem into non-functional stub and remove all
macro based invokations from within the library (and anything compiled
against the library afterwards)
</para>
<para>
If library size matters and one builds in a controlled environment, its also
possible to totaly remove sybsystem code. This is intetionally not offered
as a configure option as it causes an ABI break. Code build against a
version of GStreamer without these modifications needs to be recompiled.
<literallayout>
<userinput>make CFLAGS="-DGST_REMOVE_DEPRECATED -DGST_REMOVE_DISABLED"</userinput>
</literallayout>
<itemizedlist>
<listitem>
<para>
<symbol>GST_REMOVE_DEPRECATED</symbol> - Omit deprecated functions
from the library.
</para>
</listitem>
<listitem>
<para>
<symbol>GST_REMOVE_DISABLED</symbol> - Omit stubs for disabled
subsytems from the library.
</para>
</listitem>
</itemizedlist>
</para>
</refsect1>
<refsect1>
<title>Building GStreamer Applications</title>
<para>
Applications and libraries can use <command>pkg-config</command> to get all the
needed compiler and linker flags building against GStreamer. Please note that
GStreamer is split into several libraries itself.
<command>pkg-config --list-all | grep gstreamer</command> will list the
available libraries.
</para>
</refsect1>
</refentry>

View file

@ -33,6 +33,7 @@ Windows. It is released under the GNU Library General Public License
(GNU LGPL).
</para>
<xi:include href="building.xml" />
<xi:include href="running.xml" />
</chapter>