Max Kellermann
4669f7e2b9
{android,win32}/build.py: move Toolchain classes to python/build/toolchain.py
2023-09-26 12:47:02 +02:00
Max Kellermann
719333e16e
android/build.py: move code to class AndroidNdkToolchain
2023-09-26 12:18:18 +02:00
Max Kellermann
100e471b49
android/build.py: remove duplicate import
2023-09-26 12:12:00 +02:00
Max Kellermann
dd89ea4505
android/AndroidManifest.xml: raise minSdkVersion to 24
...
This is needed to build libFLAC which uses ftello().
2023-09-26 12:04:05 +02:00
Max Kellermann
b09a54b2c2
python/build/autotools.py: use toolchain.arflags
2023-05-21 20:42:04 +02:00
Max Kellermann
cb288439a4
{android,win32}/build.py: make stdout/stderr unbuffered
...
Avoid excessive buffering if run by CI.
2022-08-08 23:48:23 +02:00
Max Kellermann
434869900e
android/build.py: fix typo in error message
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1379
2022-03-14 18:49:50 +01:00
Max Kellermann
45f3dd8b7a
Revert "python/build/libs.py: remove flac, switch to Meson wrap"
...
This reverts commit 6ed4aff4d3
. The
Meson wrap is broken on non-x86, because it unconditionally includes
<cpuid.h> which is an x86 only header.
2021-10-07 13:28:17 +02:00
Max Kellermann
6ed4aff4d3
python/build/libs.py: remove flac, switch to Meson wrap
2021-09-21 16:44:51 +02:00
Max Kellermann
10782f4c84
{android,win32}/build.py: use makedirs(exist_ok)
2021-09-21 16:04:31 +02:00
Max Kellermann
520028dcfc
python/build/libs.py: remove libexpat, switch to Meson wrap
2021-09-21 14:08:23 +02:00
Max Kellermann
aef0535c55
python/build/libs.py: remove libvorbis, switch to Meson wrap
2021-09-21 13:49:50 +02:00
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
f9a0db716a
android: build with NDK r23
2021-08-23 20:58:19 +02:00
Max Kellermann
b0e9538855
build/openssl: pass --cross-compile-prefix to ./Configure
2021-08-06 17:30:47 +02:00
Max Kellermann
168d6257b4
python/build/libs.py: build CURL with OpenSSL support
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1059
2021-01-21 14:33:14 +01:00
Max Kellermann
3825175bfc
python/build/ffmpeg.py: remove obsolete -no-integrated-as workaround
2021-01-19 20:17:47 +01: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
f24ab120ee
android/build.py: use -fpic instead of -fPIC on ARM/Aarch64
...
Sync with the Android NDK build scripts.
2020-05-07 13:58:36 +02:00
Max Kellermann
68349bc55c
android/build.py: use -mfpu=vfpv3-d16 on ARMv7
...
This flag is used by the Android NDK build scripts as well, and this
fixes a build failure (assembler error) with FFmpeg and NDK r21.
2020-05-07 13:50:33 +02:00
Max Kellermann
aa0e121ade
android/build.py: support x86_64 builds
2020-01-12 13:03:18 +01:00
Max Kellermann
b4700039fd
android/build.py: drop -lmstackrealign
...
This flag doesn't appear to work, and since we never had a problem
without the flag, implementing Google's recommendation is useless.
2020-01-12 13:03:18 +01:00
Max Kellermann
ab41c16eb5
android/build.py: add -Wl,--exclude-libs=ALL
...
Don't export the symbols of all those static libraries. Most
importantly, don't export the whole libc++ ABI.
2020-01-12 12:47:40 +01:00
Max Kellermann
04101f37b8
android/build.py: add -fno-faddrsig and -lmstackrealign
2020-01-12 12:41:37 +01:00
Max Kellermann
8c31370534
android/build.py: drop --sysroot, -isystem, -L, ...
...
These appear to be no longer necessary (tested with NDK r20b).
Closes https://github.com/android/ndk/issues/951
2020-01-12 12:11:09 +01:00
Max Kellermann
2306b0d78c
android/build.py: append API level to LLVM triple
...
This implicitly defines __ANDROID_API__, which means we can drop the
"-D__ANDROID_API__=" parameter.
This is recommended on
https://android.googlesource.com/platform/ndk/+/ndk-release-r20/docs/BuildSystemMaintainers.md
2020-01-12 12:02:12 +01:00
Max Kellermann
cb1a9045e6
android/build.py: drop "-none" from llvm_triple
...
It's not mentioned on
https://developer.android.com/ndk/guides/other_build_systems
2020-01-12 11:51:20 +01:00
Max Kellermann
e92af06664
android/build.py: remove obsolete dict key android_api_level
2020-01-12 11:49:10 +01:00
Max Kellermann
36dec47bf7
android/build.py: link ARMv7 binary with libunwind
...
Fixes nullptr dereference when an exception gets thrown because there
is no ".eh_frame" section for unwinding.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/543
2019-05-03 20:15:50 +02:00
Max Kellermann
c2a2573aa5
release v0.20.22
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlvPX+UQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFElO8EACgPMaiN3m/x1hzJ3QTLzCXgeqSG1vuv1tC
F+sFISLPx/IoVjTpvd9H8jMt7lD+SYB620pAfNyLIGZpWcTxu1wmaviOghqCqnGP
sql0vtS9CrRGhsKDi5earox3zecylWJ3PRPXpy/4NjFuFUxE2ij/wbXzDb9UbtMg
1WnVL++fAlFj54CnPR35XHglYU+X7/bMWApkVUfsKBgyX9aghqLYUIm0jaUjj3Bs
xB/2Nemd1A88yrc4kqyzbFsN96S/W2eXhDYfPlDwFdplfoRJ8nrEMdwrsn0nabIF
7x+OsAGAfrz3e00TZdiDSaIy7VU4EFV9ctZVonoCGUluBHL0iG7G7bj2cnd+hVnZ
ecidfHMUqVO99elmUtWsUQwzbhL/TxM6Fzn2qDwqdwcCWDgHcn4fpXfsY0MRt6NK
cUhCyspMTuhqS3ohLO6RfiWDActm6QL2IHiDty/WAe1Td0VjOiRQMq7CADHlgn/D
IalN8kGyWHK5ew+3Iiw5zRoYjNXG4ALZN8cEqVh2R7i2uxh8+qm46HkhticAjfDM
4mETs3oAZdpOGCgv6Q0eY7tQDKB13DD/303NJaVFb6Iew2TZCWDbFz5HjqYShCZi
PgnPosdRg0LoQbMah4Uhsj6frs6LEBMpg6c7nScJN/1MoRaOyVNDg03X+rBmPe5z
XULvdsZ8Sw==
=8OQx
-----END PGP SIGNATURE-----
Merge tag 'v0.20.22'
release v0.20.22
2018-10-23 20:10:57 +02:00
Max Kellermann
f7d1408a1a
android/build.py: improved libc++ linker flags (for NDK r18)
...
The flag `-stdlib=libc++` doesn't appear to work because it attempts
to load `libc++` and not `libc++_static`, and it omits `libc++abi`.
2018-10-23 19:32:25 +02: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
12bc625fe1
android/build.py: add aarch64 support
2018-08-17 19:20:25 +02:00
Max Kellermann
98efb4f6d5
android: raise minSdkVersion to 21
...
The number of MPD installs on Android < 5.0 is negligible, and that
API version introduces lots of useful features for MPD.
2018-08-17 19:01:37 +02:00
Max Kellermann
36edb4886c
android/build.py: add variable "android_api_level"
2018-08-17 19:01:37 +02:00
Max Kellermann
fb5f9baf9c
android/build.py: enable libexpat for the "curl" storage plugin
2018-08-17 17:15:05 +02:00
Max Kellermann
62127bbb12
python/build/libs.py: add libmpdclient
2018-05-12 16:24:24 +02:00
Max Kellermann
8266ab5588
android/build.py: support the x86 ABI
...
First commit for issue #69
2018-03-04 20:46:46 +01:00
Max Kellermann
ea552208fc
android/build.py: add ABI parameter
2018-03-04 20:43:59 +01:00
Max Kellermann
e86015a72a
android/build.py: convert ndk_arch to local variable
2018-03-04 20:32:50 +01:00
Max Kellermann
53f5d4c710
android/build.py: disable libmad
...
Let FFmpeg do the MP3 decoding. See commit
a4de96508d
2018-02-24 10:52:40 +01:00
Max Kellermann
c5c1c64a81
python/build/libs.py: add libnfs
...
Enable the NFS storage plugin on Android.
Closes #226
2018-02-20 22:47:17 +01:00
Max Kellermann
e0ca4b865a
android: require SDK version 14
...
Closes #213 .
2018-02-10 00:03:23 +01:00
Max Kellermann
31c206bf80
android/build.py: add -mfpu=vfp, explicitly disabling NEON
...
Apparently, clang defaults to NEON when ARMv7 is used. Not all ARMv7
CPUs we target have NEON, so we need to disable that.
2018-02-10 00:00:57 +01:00
Max Kellermann
9e058732ee
android/build.py: add -fpic
...
Android native code should be position-independent.
The NDK build scripts use "-fpic" instead of "-fPIC" for ARM, but that
doesn't work with FFmpeg's assembly code, because it requires
R_ARM_MOVW_ABS_NC which is unavailable with "-fpic".
2018-01-19 22:40:59 +01:00
Max Kellermann
cad5d11261
android/build.py: simplify libc++ flags
...
By telling clang which implementation to use, we avoid the dependency
on libstdc++.so.
2018-01-19 22:36:19 +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
5724656acb
android/build.py: enable function/data sections in static libraries
...
.. and make all library symbols hidden by default.
Saves big amounts of .text section size with --gc-sections, because
only this allows discarding unused functions from those (static)
third-party libraries.
2018-01-04 23:33:07 +01:00
Max Kellermann
d9552d8a6d
android/build.py: support NDK r16
2017-12-12 10:01:47 +01:00