source: multimedia/libdriv/sdl2.xml

trunk
Last change on this file was 0c848d7, checked in by Xi Ruoyao <xry111@…>, 5 weeks ago

bookwide: Replace most references to "alsa" with "alsa-lib"

For gnome-settings-daemon alsa-lib is already required, so simply drop
"alsa".

  • Property mode set to 100644
File size: 8.1 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY sdl2-download-http "https://www.libsdl.org/release/SDL2-&sdl2-version;.tar.gz">
8 <!ENTITY sdl2-download-ftp " ">
9 <!ENTITY sdl2-md5sum "a28514e50ef4bb5cc2e1e8c70553425d">
10 <!ENTITY sdl2-size "7.1 MB">
11 <!ENTITY sdl2-buildsize "155 MB (with docs)">
12 <!ENTITY sdl2-time "0.6 SBU (using parallelism=4; with docs)">
13]>
14
15<sect1 id="sdl2" xreflabel="SDL2-&sdl2-version;">
16 <?dbhtml filename="sdl2.html"?>
17
18
19 <title>SDL2-&sdl2-version;</title>
20
21 <indexterm zone="sdl2">
22 <primary sortas="a-SDL2">SDL2</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to SDL2</title>
27
28 <para>
29 The Simple DirectMedia Layer Version 2 (<application>SDL2</application>
30 for short) is a cross-platform library designed to make it easy to write
31 multimedia software, such as games and emulators.
32 </para>
33
34 &lfs121_checked;
35
36 <bridgehead renderas="sect3">Package Information</bridgehead>
37 <itemizedlist spacing="compact">
38 <listitem>
39 <para>
40 Download (HTTP): <ulink url="&sdl2-download-http;"/>
41 </para>
42 </listitem>
43 <listitem>
44 <para>
45 Download (FTP): <ulink url="&sdl2-download-ftp;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download MD5 sum: &sdl2-md5sum;
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download size: &sdl2-size;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Estimated disk space required: &sdl2-buildsize;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated build time: &sdl2-time;
66 </para>
67 </listitem>
68 </itemizedlist>
69
70<!--
71 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
72 <itemizedlist spacing="compact">
73 <listitem>
74 <para>
75 Required patch (for i686 systems):
76 <ulink url="&patch-root;/SDL2-&sdl2-version;-opengl_include_fix-1.patch"/>
77 </para>
78 </listitem>
79 </itemizedlist>
80-->
81 <bridgehead renderas="sect3">SDL2 Dependencies</bridgehead>
82
83 <bridgehead renderas="sect4">Recommended</bridgehead>
84 <para role="recommended">
85 <xref linkend="libxkbcommon"/>,
86 <xref linkend="wayland-protocols"/>, and
87 <xref linkend="xorg7-lib"/> (if those are not present, the corresponding modules are not built)
88 </para>
89
90 <bridgehead renderas="sect4">Optional</bridgehead>
91 <para role="optional">
92 <xref linkend="alsa-lib"/>,
93 <xref linkend="doxygen"/> (to create documentation),
94 <xref linkend="ibus"/>,
95 <xref linkend="libsamplerate"/>,
96 <xref linkend="nasm"/>,
97 <xref linkend="pipewire"/>,
98 <xref linkend="pulseaudio"/>,
99 <xref linkend="x-window-system"/>,
100 <ulink url="https://pkgs.fedoraproject.org/repo/pkgs/directfb/">DirectFB</ulink>,
101 <ulink url="https://fcitx-im.org/">fcitx</ulink>,
102 <ulink url="https://jackaudio.org/">jack</ulink>, and
103 <ulink url="https://sndio.org/">sndio</ulink>
104 </para>
105
106 </sect2>
107
108 <sect2 role="installation">
109 <title>Installation of SDL2</title>
110
111<!--
112 <para>
113 First, fix an overly restrictive build option:
114 </para>
115
116<screen><userinput remap="pre">sed -i "s/-Werror=declaration-after-statement//" configure</userinput></screen>
117-->
118
119 <para>
120 Install <application>SDL2</application> by running the
121 following commands:
122 </para>
123
124<screen><userinput>./configure --prefix=/usr &amp;&amp;
125make</userinput></screen>
126
127 <para>
128 If you have <xref linkend="doxygen"/> installed and want to build the
129 html documentation, run the following commands:
130 </para>
131
132<screen remap="doc"><userinput>pushd docs &amp;&amp;
133 doxygen &amp;&amp;
134popd</userinput></screen>
135
136 <note>
137 <para>
138 If you wish to build and run the package regression
139 tests, do not delete the static libraries below until after
140 the tests are built.
141 </para>
142 </note>
143
144 <para>
145 Now, as the <systemitem class="username">root</systemitem> user:
146 </para>
147
148<screen role="root"><userinput>make install &amp;&amp;
149rm -v /usr/lib/libSDL2*.a</userinput></screen>
150
151 <para>
152 If you built the documentation, install it as the <systemitem
153 class="username">root</systemitem> user:
154 </para>
155
156<screen role="root"
157 remap="doc"><userinput>install -v -m755 -d /usr/share/doc/SDL2-&sdl2-version;/html &amp;&amp;
158cp -Rv docs/output/html/* /usr/share/doc/SDL2-&sdl2-version;/html</userinput></screen>
159
160 </sect2>
161
162 <sect2 role="testing">
163 <title>Testing SDL2</title>
164
165 <para>
166 If you wish to, test the installation of <application>SDL2</application>
167 using the included test programs. None of the resulting binaries need
168 to be installed. Issue the following commands to build the test
169 programs:
170 </para>
171
172<screen><userinput>cd test &amp;&amp;
173./configure &amp;&amp;
174make</userinput></screen>
175
176 <para>
177 Each of the test programs (they are listed in the
178 <filename>README</filename> file in this directory) will need to be run
179 individually. Many of them will need to be manually killed. Additionally,
180 speakers need to be on with the volume at a suitable level.
181 </para>
182
183 </sect2>
184
185 <sect2 role="commands">
186 <title>Command Explanations</title>
187
188 <para>
189 <command>rm -v /usr/lib/libSDL2*.a</command>: Normally
190 static libraries can be disabled with a <option>--disable-static</option>
191 option to configure, but that breaks the build in this package.
192 </para>
193
194 <para>
195 <option>--disable-alsa-shared</option>: This switch disables
196 dynamically loading ALSA shared libraries.
197 </para>
198
199 <para>
200 <option>--disable-sdl-dlopen</option>: This switch disables using
201 dlopen for shared object loading. Loading image backend libraries like
202 libpng dynamically on the fly does not work.
203 </para>
204
205 <para>
206 <option>--disable-x11-shared</option>: This switch disables
207 dynamically loading X11 shared libraries.
208 </para>
209
210 </sect2>
211
212 <sect2 role="configuration">
213 <title>Configuring SDL2</title>
214
215 <sect3>
216 <title>Configuration Information</title>
217
218 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
219 href="../../xincludes/lib-config.xml"/>
220
221 </sect3>
222
223 </sect2>
224
225 <sect2 role="content">
226 <title>Contents</title>
227
228 <segmentedlist>
229 <segtitle>Installed Program</segtitle>
230 <segtitle>Installed Libraries</segtitle>
231 <segtitle>Installed Directories</segtitle>
232
233 <seglistitem>
234 <seg>sdl2-config</seg>
235 <seg>libSDL2.so</seg>
236 <seg>/usr/include/SDL2,
237 /usr/lib/cmake/SDL2, and
238 /usr/share/doc/SDL-&sdl2-version;</seg>
239 </seglistitem>
240 </segmentedlist>
241
242 <variablelist>
243 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
244 <?dbfo list-presentation="list"?>
245 <?dbhtml list-presentation="table"?>
246
247 <varlistentry id="sdl2-config">
248 <term><command>sdl2-config</command></term>
249 <listitem>
250 <para>
251 determines the compile and linker flags that should be used to
252 compile and link programs that use
253 <filename class="libraryfile">libSDL2</filename>
254 </para>
255 <indexterm zone="sdl2 sdl2-config">
256 <primary sortas="b-sdl2-config">sdl2-config</primary>
257 </indexterm>
258 </listitem>
259 </varlistentry>
260
261 <varlistentry id="libsdl2">
262 <term><filename class="libraryfile">libSDL2.so</filename></term>
263 <listitem>
264 <para>
265 contains functions that provide low level access to audio,
266 keyboard, mouse, joystick, 3D hardware via OpenGL, and
267 2D frame buffer across multiple platforms
268 </para>
269 <indexterm zone="sdl2 libsdl2">
270 <primary sortas="c-libsdl2">libSDL2.so</primary>
271 </indexterm>
272 </listitem>
273 </varlistentry>
274
275 </variablelist>
276
277 </sect2>
278
279</sect1>
Note: See TracBrowser for help on using the repository browser.