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>
6 <para>There are different makefiles that can be used to build GStreamer with the usual Microsoft
7 compiling tools.</para>
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>
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>
18 <para>The GStreamer project depends on other libraries, namely :</para>
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>
27 <para>The sources should be organised in folders as follow :</para>
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>
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>
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
46 <para>NOTE : GNU tools needed that you can find on <ulink url="http://gnuwin32.sourceforge.net/">http://gnuwin32.sourceforge.net/</ulink></para>
48 <listitem><para>GNU flex (tested with 2.5.4)</para></listitem>
49 <listitem><para>GNU bison (tested with 1.35)</para></listitem>
52 <para>and <ulink url="http://www.mingw.org/">http://www.mingw.org/</ulink></para>
54 <listitem><para>GNU make (tested with 3.80)</para></listitem>
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>
62 <sect1 id="section-win32-install">
63 <title>Installation on the system</title>
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>
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>
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>