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