blob: a7f8fc57e339c569a1fabd74731aba2e55e8ca7d [file] [log] [blame]
Nicolas Dechesnebeb43202011-09-30 00:54:14 +02001<?xml version="1.0"?>
2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
3 "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
4<!ENTITY % version-entities SYSTEM "version.entities">
5%version-entities;
6<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
7]>
8<refentry id="gst-building" revision="25 mar 2009">
9<refmeta>
10<refentrytitle>Building GStreamer and GStreamer Applications</refentrytitle>
11<manvolnum>3</manvolnum>
12<refmiscinfo>GStreamer Core</refmiscinfo>
13</refmeta>
14
15<refnamediv>
16<refname>Building GStreamer and GStreamer Applications</refname>
17<refpurpose>
18How to build the GStreamer framework and applications using it.
19</refpurpose>
20</refnamediv>
21
22<refsect1>
23<title>Building GStreamer on UNIX</title>
24
25 <!-- this has been borrowed from the glib docs -->
26 <para>
27 On UNIX, GStreamer uses the standard GNU build system,
28 using <application>autoconf</application> for package
29 configuration and resolving portability issues,
30 <application>automake</application> for building makefiles
31 that comply with the GNU Coding Standards, and
32 <application>libtool</application> for building shared
33 libraries on multiple platforms. The normal sequence for
34 compiling and installing the GStreamer library is thus:
35
36 <literallayout>
37 <userinput>./configure</userinput>
38 <userinput>make</userinput>
39 <userinput>make install</userinput>
40 </literallayout>
41 </para>
42
43 <para>
44 The standard options provided by <application>GNU
45 autoconf</application> may be passed to the
46 <command>configure</command> script. Please see the
47 <application>autoconf</application> documentation or run
48 <command>./configure --help</command> for information about
49 the standard options.
50 </para>
51
52 <para>
53 In addition there are several options to activate or deactivate features.
54 E.g. passing <option>--disable-gst-debug</option> to <command>configure</command>
55 will turn the debugging subsystem into a non-functional stub and remove all
56 macro based invocations from within the library (and anything compiled
57 against the library afterwards.)
58 </para>
59 <para>
60 If library size matters and one builds in a controlled environment, it is
61 also possible to totally remove subsystem code. This is intentionally not
62 offered as a configure option as it causes an ABI break. Code built against
63 a version of GStreamer without these modifications needs to be recompiled.
64
65 <literallayout>
66 <userinput>make CFLAGS="-DGST_REMOVE_DEPRECATED -DGST_REMOVE_DISABLED"</userinput>
67 </literallayout>
68
69 <itemizedlist>
70 <listitem>
71 <para>
72 <symbol>GST_REMOVE_DEPRECATED</symbol> - Omit deprecated functions
73 from the library.
74 </para>
75 </listitem>
76 <listitem>
77 <para>
78 <symbol>GST_REMOVE_DISABLED</symbol> - Omit stubs for disabled
79 subsystems from the library.
80 </para>
81 </listitem>
82 </itemizedlist>
83 </para>
84
85</refsect1>
86
87<refsect1>
88<title>Building GStreamer Applications</title>
89
90<para>
91Applications and libraries can use <command>pkg-config</command> to get all the
92needed compiler and linker flags to build against GStreamer. Please note that
93GStreamer is split into several libraries itself.
94<command>pkg-config --list-all | grep gstreamer</command> will list the
95available libraries.
96</para>
97
98</refsect1>
99
100</refentry>