<?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>