From 221aef931cd2b4877434e64846be8b1b83baabbf Mon Sep 17 00:00:00 2001 From: George King <98261225+GeorgeK1ng@users.noreply.github.com> Date: Sat, 1 Nov 2025 21:28:51 +0100 Subject: [PATCH 01/11] Android x86 profiles --- conan_profiles/android-x86 | 5 +++++ conan_profiles/android-x86-ndk | 2 ++ 2 files changed, 7 insertions(+) create mode 100644 conan_profiles/android-x86 create mode 100644 conan_profiles/android-x86-ndk diff --git a/conan_profiles/android-x86 b/conan_profiles/android-x86 new file mode 100644 index 0000000..9ac6dbf --- /dev/null +++ b/conan_profiles/android-x86 @@ -0,0 +1,5 @@ +include(base/android) + +[settings] +arch=x86 +os.api_level=21 diff --git a/conan_profiles/android-x86-ndk b/conan_profiles/android-x86-ndk new file mode 100644 index 0000000..f49e3ca --- /dev/null +++ b/conan_profiles/android-x86-ndk @@ -0,0 +1,2 @@ +include(android-x86) +include(base/android-ndk) From 1841f750bd8b2f6e478b3f17cbf855ef26a1addd Mon Sep 17 00:00:00 2001 From: George King <98261225+GeorgeK1ng@users.noreply.github.com> Date: Sat, 1 Nov 2025 21:29:47 +0100 Subject: [PATCH 02/11] Add Android x86 dependencies build support --- .github/workflows/rebuildDependencies.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/rebuildDependencies.yml b/.github/workflows/rebuildDependencies.yml index 5328c50..567c862 100644 --- a/.github/workflows/rebuildDependencies.yml +++ b/.github/workflows/rebuildDependencies.yml @@ -37,6 +37,11 @@ jobs: os: ubuntu-latest conan_profiles: '["android-64-ndk", "base/android-system"]' conan_system_libs: zlib + - platform: android-x86 + os: ubuntu-latest + before_install: android-32.sh + conan_profiles: '["android-x86-ndk", "base/android-system"]' + conan_system_libs: zlib - platform: android-x64 os: ubuntu-latest conan_profiles: '["android-x64-ndk", "base/android-system"]' From 0cef1d3bf7094cf3a5f0a5ae1d0d82051a6cf6d3 Mon Sep 17 00:00:00 2001 From: George King <98261225+GeorgeK1ng@users.noreply.github.com> Date: Sat, 1 Nov 2025 21:51:53 +0100 Subject: [PATCH 03/11] opus vs ffmpeg fix --- conan_profiles/base/common | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conan_profiles/base/common b/conan_profiles/base/common index 5179ed5..26fc8de 100644 --- a/conan_profiles/base/common +++ b/conan_profiles/base/common @@ -9,6 +9,8 @@ ninja/1.12.1 # TODO: remove after https://github.com/conan-io/conan-center-index/pull/27125 is merged # Qt 5 depends on 0.4.8, but it doesn't build for iOS md4c/0.4.8: md4c/0.5.2 +# Fix for Version conflict: Conflict between opus/1.4 and opus/1.5.2 in the graph. Conflict originates from ffmpeg/7.1.1 +opus/*: opus/1.4 [conf] tools.cmake.cmaketoolchain:generator=Ninja From e426ea91d3083fe349a50c741a9daff1cf03a419 Mon Sep 17 00:00:00 2001 From: George King <98261225+GeorgeK1ng@users.noreply.github.com> Date: Sat, 1 Nov 2025 22:17:03 +0100 Subject: [PATCH 04/11] Force shared build on Android x86 --- conan_profiles/android-x86 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/conan_profiles/android-x86 b/conan_profiles/android-x86 index 9ac6dbf..5707186 100644 --- a/conan_profiles/android-x86 +++ b/conan_profiles/android-x86 @@ -3,3 +3,9 @@ include(base/android) [settings] arch=x86 os.api_level=21 + +[options] +# Workaround for linker error: +# "relocation R_386_32 cannot be used against local symbol; recompile with -fPIC" +# Force mpg123 to build as shared to avoid non-PIC ASM objects on Android x86 +mpg123/*:shared=True From 26778b2457bc531e7a594afc5591ba5cf5135fee Mon Sep 17 00:00:00 2001 From: George King <98261225+GeorgeK1ng@users.noreply.github.com> Date: Wed, 26 Nov 2025 20:58:24 +0100 Subject: [PATCH 05/11] Update Android x86 profile settings and API level --- conan_profiles/android-x86 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conan_profiles/android-x86 b/conan_profiles/android-x86 index 5707186..41f59de 100644 --- a/conan_profiles/android-x86 +++ b/conan_profiles/android-x86 @@ -2,10 +2,11 @@ include(base/android) [settings] arch=x86 -os.api_level=21 +os.api_level=24 [options] # Workaround for linker error: # "relocation R_386_32 cannot be used against local symbol; recompile with -fPIC" # Force mpg123 to build as shared to avoid non-PIC ASM objects on Android x86 mpg123/*:shared=True + From d935c9b980ba03bf1b30d263081a201a723f2903 Mon Sep 17 00:00:00 2001 From: George King <98261225+GeorgeK1ng@users.noreply.github.com> Date: Wed, 26 Nov 2025 20:59:57 +0100 Subject: [PATCH 06/11] Modify Android x86 profile settings and options Updated Android x86 profile settings and added configuration for file functions macros. --- conan_profiles/android-x86 | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/conan_profiles/android-x86 b/conan_profiles/android-x86 index 41f59de..557c1bc 100644 --- a/conan_profiles/android-x86 +++ b/conan_profiles/android-x86 @@ -2,7 +2,14 @@ include(base/android) [settings] arch=x86 -os.api_level=24 +os.api_level=21 + +[conf] +# remove after switching to API level >= 24 +{% set file_funcs_macros = ['fseeko=fseek', 'ftello=ftell'] %} +flac/*:tools.build:defines={{ file_funcs_macros }} +luajit/*:tools.build:defines={{ file_funcs_macros }} +opusfile/*:tools.build:defines={{ file_funcs_macros }} [options] # Workaround for linker error: @@ -10,3 +17,4 @@ os.api_level=24 # Force mpg123 to build as shared to avoid non-PIC ASM objects on Android x86 mpg123/*:shared=True + From 9b7b8b9e769c2ca9f466c01390802bc40f31ab83 Mon Sep 17 00:00:00 2001 From: George King <98261225+GeorgeK1ng@users.noreply.github.com> Date: Thu, 27 Nov 2025 17:25:06 +0100 Subject: [PATCH 07/11] Update rebuildDependencies.yml workflow file From 6f2b4c05058948453969b06758b3e40f8e1283ff Mon Sep 17 00:00:00 2001 From: George King <98261225+GeorgeK1ng@users.noreply.github.com> Date: Sat, 29 Nov 2025 00:10:53 +0100 Subject: [PATCH 08/11] Update rebuildDependencies.yml workflow file From f31ee5a3def293eda3a063b663e1bca4ab5e5719 Mon Sep 17 00:00:00 2001 From: George King <98261225+GeorgeK1ng@users.noreply.github.com> Date: Sat, 29 Nov 2025 00:12:27 +0100 Subject: [PATCH 09/11] Update opus version conflict resolution Commented out the version conflict fix for opus. --- conan_profiles/base/common | 2 -- 1 file changed, 2 deletions(-) diff --git a/conan_profiles/base/common b/conan_profiles/base/common index 26fc8de..5179ed5 100644 --- a/conan_profiles/base/common +++ b/conan_profiles/base/common @@ -9,8 +9,6 @@ ninja/1.12.1 # TODO: remove after https://github.com/conan-io/conan-center-index/pull/27125 is merged # Qt 5 depends on 0.4.8, but it doesn't build for iOS md4c/0.4.8: md4c/0.5.2 -# Fix for Version conflict: Conflict between opus/1.4 and opus/1.5.2 in the graph. Conflict originates from ffmpeg/7.1.1 -opus/*: opus/1.4 [conf] tools.cmake.cmaketoolchain:generator=Ninja From 6878bf24840c4b5c7fe38a992ee13a3f514630be Mon Sep 17 00:00:00 2001 From: George King <98261225+GeorgeK1ng@users.noreply.github.com> Date: Wed, 3 Dec 2025 11:19:35 +0100 Subject: [PATCH 10/11] Update common --- conan_profiles/base/common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conan_profiles/base/common b/conan_profiles/base/common index 5179ed5..0a48bcb 100644 --- a/conan_profiles/base/common +++ b/conan_profiles/base/common @@ -8,7 +8,7 @@ ninja/1.12.1 [replace_requires] # TODO: remove after https://github.com/conan-io/conan-center-index/pull/27125 is merged # Qt 5 depends on 0.4.8, but it doesn't build for iOS -md4c/0.4.8: md4c/0.5.2 +# md4c/0.4.8: md4c/0.5.2 [conf] tools.cmake.cmaketoolchain:generator=Ninja From 710750b6568a81c659ec31f0d18803cb82a111e1 Mon Sep 17 00:00:00 2001 From: George King <98261225+GeorgeK1ng@users.noreply.github.com> Date: Wed, 10 Dec 2025 08:32:19 +0100 Subject: [PATCH 11/11] Update common --- conan_profiles/base/common | 1 - 1 file changed, 1 deletion(-) diff --git a/conan_profiles/base/common b/conan_profiles/base/common index ba7b242..a688cc9 100644 --- a/conan_profiles/base/common +++ b/conan_profiles/base/common @@ -8,7 +8,6 @@ ninja/1.12.1 [replace_requires] # TODO: remove after https://github.com/conan-io/conan-center-index/pull/27125 is merged # Qt 5 depends on 0.4.8, but it doesn't build for iOS -# md4c/0.4.8: md4c/0.5.2 [conf] tools.cmake.cmaketoolchain:generator=Ninja