6e9c53b39f6a057e22212ab1bfc327bf2be0699e
[platform/upstream/gstreamer.git] / docs / manual / win32.xml
1 <chapter id="chapter-win32">
2 <title>Windows support</title>
3   <sect1 id="section-win32-build">
4   <title>Building <application>GStreamer</application> under Win32</title>
5
6 <para>There are different makefiles that can be used to build GStreamer with the usual Microsoft 
7 compiling tools.</para>
8
9 <para>The Makefile is meant to be used with the GNU make program and the free 
10 version of the Microsoft compiler (<ulink url="http://msdn.microsoft.com/visualc/vctoolkit2003/">http://msdn.microsoft.com/visualc/vctoolkit2003/</ulink>). You also 
11 have to modify your system environment variables to use it from the command-line. You will also 
12 need a working Platform SDK for Windows that is available for free from Microsoft.</para>
13
14 <para>The projects/makefiles will generate automatically some source files needed to compile 
15 GStreamer. That requires that you have installed on your system some GNU tools and that they are 
16 available in your system PATH.</para>
17
18 <para>The GStreamer project depends on other libraries, namely :</para>
19 <itemizedlist>
20 <listitem><para>GLib</para></listitem>
21 <listitem><para>libpopt</para></listitem>
22 <listitem><para>libxml</para></listitem>
23 <listitem><para>libintl</para></listitem>
24 <listitem><para>libiconv</para></listitem>
25 </itemizedlist>
26
27 <para>The sources should be organised in folders as follow :</para>
28 <itemizedlist>
29 <listitem><para>$(PROJECT_DIR)\glib</para></listitem>
30 <listitem><para>$(PROJECT_DIR)\gstreamer (this package)</para></listitem>
31 <listitem><para>$(PROJECT_DIR)\libiconv</para></listitem>
32 <listitem><para>$(PROJECT_DIR)\libintl</para></listitem>
33 <listitem><para>$(PROJECT_DIR)\libxml2</para></listitem>
34 <listitem><para>$(PROJECT_DIR)\popt</para></listitem>
35 </itemizedlist>
36
37 <note>
38 <title>Notes</title>
39
40 <para>you can find Win32 versions of these libraries on <ulink url="http://gettext.sourceforge.net/">http://gettext.sourceforge.net/</ulink> and
41 <ulink url="http://gnuwin32.sourceforge.net/">http://gnuwin32.sourceforge.net/</ulink> (you will need the Binaries and Developer files for each package).</para>
42
43 <para>GLib can be found on <ulink url="ftp://ftp.gtk.org/pub/gtk/v2.4/" type="ftp">ftp://ftp.gtk.org/pub/gtk/v2.4/</ulink> and should be compiled from the 
44 sources</para>
45
46 <para>NOTE : GNU tools needed that you can find on <ulink url="http://gnuwin32.sourceforge.net/">http://gnuwin32.sourceforge.net/</ulink></para>
47 <itemizedlist>
48 <listitem><para>GNU flex      (tested with 2.5.4)</para></listitem>
49 <listitem><para>GNU bison     (tested with 1.35)</para></listitem>
50 </itemizedlist>
51
52 <para>and <ulink url="http://www.mingw.org/">http://www.mingw.org/</ulink></para>
53 <itemizedlist>
54 <listitem><para>GNU make      (tested with 3.80)</para></listitem>
55 </itemizedlist>
56
57 <para>the generated files from the -auto makefiles will be available soon separately on the net 
58 for convenience (people who don't want to install GNU tools).</para>
59 </note>
60 </sect1>
61
62   <sect1 id="section-win32-install">
63 <title>Installation on the system</title>
64
65 <para>By default, GSTreamer needs a registry. You have to generate it using "gst-register.exe". It will create
66 the file in c:\gstreamer\registry.xml that will hold all the plugins you can use.</para>
67
68 <para>You should install the GSTreamer core in c:\gstreamer\bin and the plugins in c:\gstreamer\plugins.</para>
69 <para>For example, my current setup is :</para>
70
71 <itemizedlist>
72 <listitem><para><filename>c:\gstreamer\registry.xml</filename></para></listitem>
73 <listitem><para><filename>c:\gstreamer\bin\gst-inspect.exe</filename></para></listitem>
74 <listitem><para><filename>c:\gstreamer\bin\gst-launch.exe</filename></para></listitem>
75 <listitem><para><filename>c:\gstreamer\bin\gst-register.exe</filename></para></listitem>
76 <listitem><para><filename>c:\gstreamer\bin\gstbytestream.dll</filename></para></listitem>
77 <listitem><para><filename>c:\gstreamer\bin\gstelements.dll</filename></para></listitem>
78 <listitem><para><filename>c:\gstreamer\bin\gstoptimalscheduler.dll</filename></para></listitem>
79 <listitem><para><filename>c:\gstreamer\bin\gstspider.dll</filename></para></listitem>
80 <listitem><para><filename>c:\gstreamer\bin\iconv.dll</filename></para></listitem>
81 <listitem><para><filename>c:\gstreamer\bin\intl.dll</filename></para></listitem>
82 <listitem><para><filename>c:\gstreamer\bin\libglib-2.0-0.dll</filename></para></listitem>
83 <listitem><para><filename>c:\gstreamer\bin\libgmodule-2.0-0.dll</filename></para></listitem>
84 <listitem><para><filename>c:\gstreamer\bin\libgobject-2.0-0.dll</filename></para></listitem>
85 <listitem><para><filename>c:\gstreamer\bin\libgthread-2.0-0.dll</filename></para></listitem>
86 <listitem><para><filename>c:\gstreamer\bin\libgtreamer-0.8.dll</filename></para></listitem>
87 <listitem><para><filename>c:\gstreamer\bin\libxml2.dll</filename></para></listitem>
88 <listitem><para><filename>c:\gstreamer\bin\popt1.dll</filename></para></listitem>
89 <listitem><para><filename>c:\gstreamer\plugins\gst-libs.dll</filename></para></listitem>
90 <listitem><para><filename>c:\gstreamer\plugins\gstmatroska.dll</filename></para></listitem>
91 </itemizedlist>
92
93 </sect1>
94
95 </chapter>