Commit Graph

52 Commits

Author SHA1 Message Date
Max Kellermann 2699889342 python/build/cmake.py: use CMAKE_TOOLCHAIN_FILE
Let cmake know that we're cross-crompiling.
2021-09-20 23:14:13 +02:00
Max Kellermann 0f02bbc2fe output/jack: enable on Windows
This enables the JACK output plugin on Windows, but doesn't link
against libjack64.dll, instead loads the DLL at runtime with
LoadLibrary().  This kludge avoids the extremely fragile JACK shared
memory protocol by using the system's libjack64.dll, without requiring
the same DLL at build time.
2021-04-26 21:47:20 +02:00
Max Kellermann 3b51c53eca win32/build.py: add -D_FORTIFY_SOURCE=0
This fixes the Windows build.  Linking failed because some packages
(e.g. libFLAC) default to enabling `_FORTIFY_SOURCE`, which is broken
in recent mingw versions
(https://github.com/msys2/MINGW-packages/issues/5803).
2020-09-04 14:33:11 +02:00
Max Kellermann 7583cfe9b7 {android,win32}/build.py: enable the GME decoder plugin
Closes https://github.com/MusicPlayerDaemon/MPD/issues/891
2020-06-10 21:33:29 +02:00
Max Kellermann 257a77fa35 {android,win32}/build.py: build libmodplug and WildMidi
Closes https://github.com/MusicPlayerDaemon/MPD/issues/866
2020-05-27 15:03:49 +02:00
Max Kellermann aba18924ee win32/build.py: link libstdc++ and libcc statically
Fixes #404
2018-11-04 11:10:00 +01:00
Max Kellermann 94592c1406 build with Meson instead of autotools
So long, autotools!  This is my last MPD related project to migrate
away from it.  It has its strengths, but also very obvious weaknesses
and weirdnesses.  Today, many of its quirks are not needed anymore,
and are cumbersome and slow.  Now welcome our new Meson overlords!
2018-10-14 23:41:38 +02:00
Max Kellermann 13ce142df1 python/build/meson.py: generate `windres` line 2018-10-14 23:41:38 +02:00
Max Kellermann 12bc625fe1 android/build.py: add aarch64 support 2018-08-17 19:20:25 +02:00
Joshua Wise a5cc13b0c5 build: Add libexpat to the crosscompile build on Windows.
The Curl plugin requires libexpat in order to work these days, so we should
download and build it in order to get the plugin enabled on Windows.
2018-08-17 17:13:39 +02:00
Max Kellermann 62127bbb12 python/build/libs.py: add libmpdclient 2018-05-12 16:24:24 +02:00
Max Kellermann 25cd47b8dc win32/build.py: enable libnfs
Now that all build failures have been fixed, we can enable the
feature.
2018-02-24 22:44:42 +01:00
Max Kellermann 666e456551 win32/build.py: add -DWINVER=0x0600 -D_WIN32_WINNT=0x0600
configure.ac sets this, but this wasn't used for compiling third-party
libraries.  This setting however is important for libnfs, which adds
fallback definitions for POLLIN and POLLOUT with bogus values.
2018-02-24 22:44:11 +01:00
Max Kellermann fcaedec2ab {android,win32}/build.py: move "-O* -g" to common_flags 2018-01-19 12:33:28 +01:00
Max Kellermann 3717fb6c8d win32/build.py: add -march=pentium3 to fix 32 bit LAME build
Workaround for the following LAME build failure:

 error: inlining failed in call to always_inline '_mm_sqrt_ps': target
 specific option mismatch

This is because the LAME build scripts do not check whether SSE is
available; they only check for the presence of the "xmmintrin.h"
header.

Requiring a Pentium 3 CPU is reasonable enough, and it's the first CPU
to feature SSE support.
2017-08-31 19:48:59 +02:00
Max Kellermann f633e6ca49 python/build/libs: add LAME
Enable it in the Windows build script, closes #78.

LAME currently doesn't support Android:

 checking host system type... Invalid configuration `arm-linux-androideabi': system `androideabi' not recognized
2017-07-19 20:53:52 +02:00
Max Kellermann 07b06d76be {android,win32}/build.py: concatenate variables from the command line 2017-07-19 20:53:52 +02:00
Max Kellermann c3d883c6cb win32/build.py: default to x64 build 2017-02-20 21:06:43 +01:00
Max Kellermann 097e30321b win32/build.py: add option --32 2017-02-20 21:06:31 +01:00
Max Kellermann b6ddeaacf2 win32/build.py: convert argument parser to loop
Allow multiple arguments.
2017-02-20 21:06:21 +01:00
Max Kellermann b0c60ec124 win32/build.py: add variable "x64", assign host_arch later 2017-02-20 21:04:34 +01:00
Max Kellermann 8380c3be02 python/build/autotools: pass RANLIB to configure
Fixes various static library linker failures ("bad extended name entry
at header"), because the wrong "ranlib" was used.
2016-10-26 17:00:17 +02:00
Max Kellermann 019aea3d63 {android,win32}/build.py: move code to python/build/libs.py 2015-11-23 10:43:06 +01:00
Max Kellermann 21439108ed {android,win32}/build.py: move code to python/build/dirs.py 2015-11-23 10:38:48 +01:00
Max Kellermann 754b30a7a6 win32/build.py: move class ZlibProject to build/zlib.py 2015-11-21 00:43:50 +01:00
Max Kellermann 89d5d480d7 {android,win32}/build.py: move class FfmpegProject to build/ffmpeg.py 2015-11-21 00:36:54 +01:00
Max Kellermann fbcacb590b {android,win32}/build.py: FfmpegProject detects CPU and OS 2015-11-21 00:35:52 +01:00
Max Kellermann f97ad2b2ee {android,win32}/build.py: move class BoostProject to build/boost.py 2015-11-21 00:17:00 +01:00
Max Kellermann e70f7141be {android,win32}/build.py: move class AutotoolsProject to build/autotools.py 2015-11-21 00:05:48 +01:00
Max Kellermann 7a08ce7ece {android,win32}/build.py: move class Project to build/project.py 2015-11-21 00:00:42 +01:00
Max Kellermann 86486336ec {android,win32}/build.py: add tarball_path and src_path to toolchain class
Reduce dependencies on global variables.
2015-11-20 23:47:52 +01:00
Max Kellermann ec2a2522aa win32/build.py: restore option "out_of_tree"
Got lost in the previous commit.
2015-11-20 23:40:14 +01:00
Max Kellermann 556f9ee39c {android,win32}/build.py: move common code to python/build/ 2015-11-20 22:14:53 +01:00
Max Kellermann 7dad662d69 {android,win32}/build.py: fix missing rename 2015-11-20 22:14:11 +01:00
Max Kellermann 2daa3eb61f {android,win32}/build.py: add toolchain classes 2015-11-20 20:30:42 +01:00
Max Kellermann 3079aa1f9d {android,win32}/build.py: upgrade FFmpeg to 2.8.2 2015-11-17 17:16:56 +01:00
Max Kellermann 41e63031b0 {android,win32}/build.py: upgrade Boost to 1.59.0 2015-10-27 11:33:09 +01:00
Max Kellermann bb86f27fdf {android,win32}/build.py: upgrade FFmpeg to 2.8.1 2015-10-27 11:31:13 +01:00
Max Kellermann 5cf4f62610 {android,win32}/build.py: upgrade CURL to 7.45.0 2015-10-27 11:31:13 +01:00
Max Kellermann ccdb94b06c configure.ac: remove GLib option
Not used anymore.
2015-06-27 16:06:28 +02:00
Max Kellermann 07c5d3277f {android,win32}/build.py: allow overriding shared path via environment 2015-06-03 07:48:38 +02:00
Max Kellermann d1d44a4fde {android,win32}/build.py: move tarballs to subdirectory "download" 2015-06-03 07:46:58 +02:00
Max Kellermann 6837a67234 win32/build.py: build zlib in-tree
zlib cannot be built out-of-tree, and previously, we were building in
the "src" directory, not in the "build" directory.  The
make_build_path() return value was unused.
2015-06-03 07:36:06 +02:00
Max Kellermann d6eb74262a {android,win32}/build.py: upgrade Boost to 1.58 2015-05-05 12:29:20 +02:00
Max Kellermann 403aa8c5a1 {android,win32}/build.py: upgrade libvorbis, FFmpeg, CURL 2015-05-05 12:08:35 +02:00
Max Kellermann 822ac7b100 win32/build.py: fix IndexError when no command-line arguments are given 2015-01-27 09:07:41 +01:00
Max Kellermann cc70c5c67d win32/build.py: use os.path.abspath() to build mpd_path
Fixes a bug that occurs when runing "build.py" from inside the
"win32" directory.
2015-01-26 20:59:57 +01:00
Max Kellermann f4627acc48 win32/build.py: prepend "./" to "configure" if path is empty
Fixes in-tree build when the script is called as "win32/build.py"
and not "./win32/build.py".
2015-01-14 23:23:24 +01:00
Max Kellermann 3454fed324 win32/build.py: add option "--64" for a x64 build 2014-12-17 19:28:53 +01:00
Max Kellermann a64ffda688 {win32,android}/build.py: add the host triple to the lib paths
Allow multiple targets to share a library directory tree.
2014-12-17 19:28:49 +01:00