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
|
* output
|
||||||
- alsa: non-blocking mode
|
- alsa: non-blocking mode
|
||||||
|
|
||||||
ver 0.20.5 (not yet released)
|
ver 0.20.5 (2017/02/20)
|
||||||
* tags
|
* tags
|
||||||
- id3: fix memory leak on corrupt ID3 tags
|
- id3: fix memory leak on corrupt ID3 tags
|
||||||
* decoder
|
* decoder
|
||||||
|
85
doc/user.xml
85
doc/user.xml
@ -135,6 +135,91 @@ apt-get install g++ \
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<programlisting>make install</programlisting>
|
<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>
|
||||||
|
|
||||||
<section id="systemd_socket">
|
<section id="systemd_socket">
|
||||||
|
@ -58,8 +58,8 @@ libmad = AutotoolsProject(
|
|||||||
)
|
)
|
||||||
|
|
||||||
ffmpeg = FfmpegProject(
|
ffmpeg = FfmpegProject(
|
||||||
'http://ffmpeg.org/releases/ffmpeg-3.2.2.tar.xz',
|
'http://ffmpeg.org/releases/ffmpeg-3.2.4.tar.xz',
|
||||||
'3f01bd1fe1a17a277f8c84869e5d9192b4b978cb660872aa2b54c3cc8a2fedfc',
|
'6e38ff14f080c98b58cf5967573501b8cb586e3a173b591f3807d8f0660daf7a',
|
||||||
'lib/libavcodec.a',
|
'lib/libavcodec.a',
|
||||||
[
|
[
|
||||||
'--disable-shared', '--enable-static',
|
'--disable-shared', '--enable-static',
|
||||||
|
@ -60,6 +60,8 @@ ParseTimePoint(const char *s, const char *format)
|
|||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
/* TODO: emulate strptime()? */
|
/* TODO: emulate strptime()? */
|
||||||
|
(void)s;
|
||||||
|
(void)format;
|
||||||
throw std::runtime_error("Time parsing not implemented on Windows");
|
throw std::runtime_error("Time parsing not implemented on Windows");
|
||||||
#else
|
#else
|
||||||
struct tm tm;
|
struct tm tm;
|
||||||
|
@ -5,11 +5,22 @@ import sys, subprocess
|
|||||||
|
|
||||||
configure_args = sys.argv[1:]
|
configure_args = sys.argv[1:]
|
||||||
|
|
||||||
host_arch = 'i686-w64-mingw32'
|
x64 = True
|
||||||
|
|
||||||
if len(configure_args) > 0 and configure_args[0] == '--64':
|
while len(configure_args) > 0:
|
||||||
configure_args = configure_args[1:]
|
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'
|
host_arch = 'x86_64-w64-mingw32'
|
||||||
|
else:
|
||||||
|
host_arch = 'i686-w64-mingw32'
|
||||||
|
|
||||||
# the path to the MPD sources
|
# the path to the MPD sources
|
||||||
mpd_path = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]) or '.', '..'))
|
mpd_path = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]) or '.', '..'))
|
||||||
|
Loading…
Reference in New Issue
Block a user