release v0.20.5
-----BEGIN PGP SIGNATURE----- iQJEBAABCAAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlirVtMQHG1heEBtdXNp Y3BkLm9yZwAKCRAjbopYxttFEgbaD/9tgcgcnbiWGkNDMf0qfqfaiY80wA4HbSBT qbKzan/kuiPXL6xcgw8YRYdAjyaIyw//f1q0SL8/LKvVQ4CrlTEQzOQUzrAOe02n m35/6YKZVzziMRwuSZY4oQ4WH7SE87gthYIykRt59adznr2QNtQe53SnXd8ukGtf l8xlLNuIiEwIo5PZ8ObEZH1dUP1PWtfJlxQfbJ2JhZTOR/qPfrpIzSK4GVY0ZXdz EO6BIZyDgPfeZCPBZqiKmw4vcdIHBhG9ZgtOhX3YATV7ZSYqmjrUcjzEsoyQlOaH rhe/whl272TQYdj95//BnqI899NVSNRYg6XXGlCB5TXqFscoDCW6JXvVAaTfB0Yg vMV7ZYX8auu2i013O51yoj8/ofNmOjqbX9eui+gJx6Xb6Zr9Ttma5woYRh14NXwd 15KObGCd1LADpiOZ2XQ8Snlu8QlZ+PXr8RpLh9uSwDe7heemMRKqDZEf3AxfP3wO GUOK4EHfZ5kZQHlWLA3u59Zopo1ZJjL6EJUTG3Qk+n/Wob/S2F/v5IFIdyaEFTKI hrcTEQ/EmXZ9vc5Iw/LnIM49pO3kZXKQ9bSrZoi0kjk2AN6XBMmJNoYv/+huc2U9 JiCcyM8olCWcSQnPGjoHWxBGLhxNXtR+WYu/tEEq3+D2PFdkfOap3ApP1qdi+JPd JFps/sOkgQ== =4+OJ -----END PGP SIGNATURE----- Merge tag 'v0.20.5' release v0.20.5
This commit is contained in:
commit
29d03ab937
2
NEWS
2
NEWS
|
@ -5,7 +5,7 @@ ver 0.21 (not yet released)
|
|||
* output
|
||||
- alsa: non-blocking mode
|
||||
|
||||
ver 0.20.5 (not yet released)
|
||||
ver 0.20.5 (2017/02/20)
|
||||
* tags
|
||||
- id3: fix memory leak on corrupt ID3 tags
|
||||
* decoder
|
||||
|
|
85
doc/user.xml
85
doc/user.xml
|
@ -135,6 +135,91 @@ apt-get install g++ \
|
|||
</para>
|
||||
|
||||
<programlisting>make install</programlisting>
|
||||
|
||||
<section id="windows_build">
|
||||
<title>Compiling for Windows</title>
|
||||
|
||||
<para>
|
||||
Even though it does not "feel" like a Windows application,
|
||||
<application>MPD</application> works well under Windows.
|
||||
Its build process follows the "Linux style", and may seem
|
||||
awkward for Windows people (who are not used to compiling
|
||||
their software, anyway).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Basically, there are three ways to compile
|
||||
<application>MPD</application> for Windows:
|
||||
</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Build on Windows for Windows. All you need to do is
|
||||
described above already: configure and make.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
For Windows users, this is kind of unusual, because few
|
||||
Windows users have a GNU toolchain and a UNIX shell
|
||||
installed.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Build on Linux for Windows. This is described above
|
||||
already: configure and make. You need the <ulink
|
||||
url="https://mingw-w64.org/"><application>mingw-w64</application>
|
||||
cross compiler</ulink>. Pass
|
||||
<parameter>--host=i686-w64-mingw32</parameter> (32 bit)
|
||||
or <parameter>--host=x86_64-w64-mingw32</parameter> (64
|
||||
bit) to configure.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This is somewhat natural for Linux users. Many
|
||||
distributions have <application>mingw-w64</application>
|
||||
packages. The remaining difficulty here is installing
|
||||
all the external libraries. And
|
||||
<application>MPD</application> usually needs many,
|
||||
making this method cumbersome for the casual user.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Build on Linux for Windows using the
|
||||
<application>MPD</application>'s library build script.
|
||||
</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
|
||||
<para>
|
||||
This section is about the latter.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Just like with the native build, unpack the
|
||||
<application>MPD</application> source tarball and change
|
||||
into the directory. Then, instead of
|
||||
<command>./configure</command>, type:
|
||||
</para>
|
||||
|
||||
<programlisting>./win32/build.py --64</programlisting>
|
||||
|
||||
<para>
|
||||
This downloads various library sources, and then configures
|
||||
and builds <application>MPD</application> (for x64; to build
|
||||
a 32 bit binary, pass <parameter>--32</parameter>). The
|
||||
resulting EXE files is linked statically, i.e. it contains
|
||||
all the libraries already, and you do not need carry DLLs
|
||||
around. It is large, but easy to use. If you wish to have
|
||||
a small <filename>mpd.exe</filename> with DLLs, you need to
|
||||
compile manually, without the <filename>build.py</filename>
|
||||
script.
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section id="systemd_socket">
|
||||
|
|
|
@ -58,8 +58,8 @@ libmad = AutotoolsProject(
|
|||
)
|
||||
|
||||
ffmpeg = FfmpegProject(
|
||||
'http://ffmpeg.org/releases/ffmpeg-3.2.2.tar.xz',
|
||||
'3f01bd1fe1a17a277f8c84869e5d9192b4b978cb660872aa2b54c3cc8a2fedfc',
|
||||
'http://ffmpeg.org/releases/ffmpeg-3.2.4.tar.xz',
|
||||
'6e38ff14f080c98b58cf5967573501b8cb586e3a173b591f3807d8f0660daf7a',
|
||||
'lib/libavcodec.a',
|
||||
[
|
||||
'--disable-shared', '--enable-static',
|
||||
|
|
|
@ -60,6 +60,8 @@ ParseTimePoint(const char *s, const char *format)
|
|||
|
||||
#ifdef WIN32
|
||||
/* TODO: emulate strptime()? */
|
||||
(void)s;
|
||||
(void)format;
|
||||
throw std::runtime_error("Time parsing not implemented on Windows");
|
||||
#else
|
||||
struct tm tm;
|
||||
|
|
|
@ -5,11 +5,22 @@ import sys, subprocess
|
|||
|
||||
configure_args = sys.argv[1:]
|
||||
|
||||
host_arch = 'i686-w64-mingw32'
|
||||
x64 = True
|
||||
|
||||
if len(configure_args) > 0 and configure_args[0] == '--64':
|
||||
configure_args = configure_args[1:]
|
||||
while len(configure_args) > 0:
|
||||
arg = configure_args[0]
|
||||
if arg == '--64':
|
||||
x64 = True
|
||||
elif arg == '--32':
|
||||
x64 = False
|
||||
else:
|
||||
break
|
||||
configure_args.pop(0)
|
||||
|
||||
if x64:
|
||||
host_arch = 'x86_64-w64-mingw32'
|
||||
else:
|
||||
host_arch = 'i686-w64-mingw32'
|
||||
|
||||
# the path to the MPD sources
|
||||
mpd_path = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]) or '.', '..'))
|
||||
|
|
Loading…
Reference in New Issue