mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 19:21:06 +00:00
100 lines
3.4 KiB
XML
100 lines
3.4 KiB
XML
<?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-building" 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 options to activate or deactivate features.
|
|
E.g. passing <option>--disable-gst-debug</option> to <command>configure</command>
|
|
will turn the debugging subsystem into a non-functional stub and remove all
|
|
macro based invocations from within the library (and anything compiled
|
|
against the library afterwards.)
|
|
</para>
|
|
<para>
|
|
If library size matters and one builds in a controlled environment, it is
|
|
also possible to totally remove subsystem code. This is intentionally not
|
|
offered as a configure option as it causes an ABI break. Code built 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
|
|
subsystems 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 to build 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>
|