Colin Edwards
cb6f61cf37
android: Update to NDK 27
2024-04-22 22:34:34 -05:00
Colin Edwards
5a2267bdb4
Android: Look for license to verify Android SDK folder
...
The `android` command was depricated and has been removed from new installs of the sdk
The license file existing is about all that is stable between different sdk versions and
cli vs Android studio installs
2024-01-17 23:46:17 -06:00
Max Kellermann
c4d8888972
subprojects: add id3tag
2023-12-22 18:15:25 +01:00
Max Kellermann
a4ead670ed
subprojects: add libmpdclient wrap
2023-12-20 17:15:29 +01:00
Colin Edwards
8d6f503e04
android: require NDK r26b
...
This fixes `no member named 'invocable' in namespace 'std'`
2023-12-13 12:01:30 -06:00
Max Kellermann
a6024f476a
subprojects: add openssl
2023-12-11 11:01:32 +01:00
Max Kellermann
dfef30a737
subprojects: add curl
2023-12-11 10:53:43 +01:00
Max Kellermann
55ca3709ef
subprojects: add ogg, flac, opus
2023-12-11 10:53:43 +01:00
Max Kellermann
39476bed85
Merge branch 'v0.23.x'
2023-09-26 15:36:26 +02:00
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
a868dbce3b
android/AndroidManifest.xml: raise minSdkVersion to 24
...
This is needed to build libFLAC which uses ftello().
2023-09-11 22:14:23 +02:00
Max Kellermann
b09a54b2c2
python/build/autotools.py: use toolchain.arflags
2023-05-21 20:42:04 +02:00
Max Kellermann
22eccaa64f
python/build/autotools.py: use toolchain.arflags
2023-03-06 13:33:11 +01:00
Max Kellermann
3cc770a00b
remove obsolete Boost dependency
...
Boost makes building a piece of software much more difficult than
necessary. It's a huge library, and just uncompressing it takes a
considerable amount of time. MPD only used a tiny fraction of it, yet
its header bloat made the MPD build very slow. Locating Boost was
difficult due to its arcane build system and its resistance to use
pkg-config; it's always a special case. MPD could never use features
of newer Boost versions because Linux distributions always shipped old
Boost versions. Boost made everything complicated and slow.
So, finally, after getting rid of GLib (commit ccdb94b06c
), switching
to C++ and using Boost (commit 0801b3f495
), we've finally get rid of
it 8 years later.
Unfortunately, I had to reimplement parts of it along the way
(e.g. IntrusiveList). Kind of NIH, but on the other hand, compiling
MPD has become much easier for users.
2023-01-23 15:06:58 +01: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