From bb853f065417b385595adefc545595ce3e2d20b7 Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Mon, 28 Oct 2024 13:22:41 +0100
Subject: [PATCH 01/17] buildsystem: remove usage of custom TARBALLS folder

It's not supported by the contribs.
---
 buildsystem/build-libvlc.sh | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/buildsystem/build-libvlc.sh b/buildsystem/build-libvlc.sh
index 236210b..e4f6aaa 100755
--- a/buildsystem/build-libvlc.sh
+++ b/buildsystem/build-libvlc.sh
@@ -119,13 +119,6 @@ fi
 
 VLC_BUILD_DIR="$(cd $VLC_SRC_DIR/; pwd)/build-android-${TARGET_TUPLE}"
 
-if [ -z $VLC_TARBALLS ]; then
-    VLC_TARBALLS="$(cd $VLC_SRC_DIR/;pwd)/contrib/tarballs"
-fi
-if [ ! -d $VLC_TARBALLS ]; then
-    mkdir -p $VLC_TARBALLS
-fi
-
 VLC_OUT_PATH="$VLC_BUILD_DIR/ndk"
 mkdir -p $VLC_OUT_PATH
 
@@ -491,9 +484,9 @@ if [ "$AVLC_USE_PREBUILT_CONTRIBS" -gt "0" ]; then
         avlc_checkfail "Fetching prebuilt contribs from ${VLC_PREBUILT_CONTRIBS_URL} failed"
     fi
     # list packages to be built
-    make -C $VLC_CONTRIB_DIR TARBALLS="$VLC_TARBALLS" list
+    make -C $VLC_CONTRIB_DIR list
     # build native tools
-    make -C $VLC_CONTRIB_DIR TARBALLS="$VLC_TARBALLS" tools
+    make -C $VLC_CONTRIB_DIR tools
 else
     # Some libraries have arm assembly which won't build in thumb mode
     # We append -marm to the CFLAGS of these libs to disable thumb mode
@@ -511,14 +504,14 @@ else
     echo "STRIP=${CROSS_TOOLS}strip" >> $VLC_CONTRIB_DIR/config.mak
 
     # list packages to be built
-    make -C $VLC_CONTRIB_DIR TARBALLS="$VLC_TARBALLS" list
+    make -C $VLC_CONTRIB_DIR list
 
-    make -C $VLC_CONTRIB_DIR TARBALLS="$VLC_TARBALLS" $MAKEFLAGS fetch
+    make -C $VLC_CONTRIB_DIR $MAKEFLAGS fetch
     avlc_checkfail "contribs: make fetch failed"
 
     #export the PATH
     # Make
-    make -C $VLC_CONTRIB_DIR TARBALLS="$VLC_TARBALLS" $MAKEFLAGS -k || make -C $VLC_CONTRIB_DIR TARBALLS="$VLC_TARBALLS" $MAKEFLAGS -j1
+    make -C $VLC_CONTRIB_DIR $MAKEFLAGS -k || make -C $VLC_CONTRIB_DIR $MAKEFLAGS -j1
     avlc_checkfail "contribs: make failed"
 
     # Make prebuilt contribs package
-- 
GitLab


From 287ac571fd819a4d1a61b6536fad31610858f578 Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Tue, 29 Oct 2024 09:50:40 +0100
Subject: [PATCH 02/17] buildsystem: rename libvlcjni- generated files to
 libvlc-

There is no JNI in there.
---
 buildsystem/build-libvlc.sh | 4 ++--
 libvlc/jni/libvlc.mk        | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/buildsystem/build-libvlc.sh b/buildsystem/build-libvlc.sh
index e4f6aaa..bd93edc 100755
--- a/buildsystem/build-libvlc.sh
+++ b/buildsystem/build-libvlc.sh
@@ -657,7 +657,7 @@ EOF
     BUILTINS="$BUILTINS vlc_entry__$name,\n";
 done;
 BUILTINS="$BUILTINS NULL\n};\n"; \
-printf "/* Autogenerated from the list of modules */\n#include <unistd.h>\n$DEFINITION\n$BUILTINS\n" > $VLC_OUT_PATH/libvlcjni-modules.c
+printf "/* Autogenerated from the list of modules */\n#include <unistd.h>\n$DEFINITION\n$BUILTINS\n" > $VLC_OUT_PATH/libvlc-modules.c
 
 DEFINITION=""
 BUILTINS="const void *libvlc_functions[] = {\n";
@@ -667,7 +667,7 @@ do
     BUILTINS="$BUILTINS $func,\n";
 done
 BUILTINS="$BUILTINS NULL\n};\n"; \
-printf "/* Autogenerated from the list of modules */\n#include <unistd.h>\n$DEFINITION\n$BUILTINS\n" > $VLC_OUT_PATH/libvlcjni-symbols.c
+printf "/* Autogenerated from the list of modules */\n#include <unistd.h>\n$DEFINITION\n$BUILTINS\n" > $VLC_OUT_PATH/libvlc-symbols.c
 
 rm ${REDEFINED_VLC_MODULES_DIR}/syms
 
diff --git a/libvlc/jni/libvlc.mk b/libvlc/jni/libvlc.mk
index cc1279c..05cd81c 100644
--- a/libvlc/jni/libvlc.mk
+++ b/libvlc/jni/libvlc.mk
@@ -21,8 +21,8 @@ include $(PREBUILT_STATIC_LIBRARY)
 # libvlc build with all its modules
 include $(CLEAR_VARS)
 LOCAL_MODULE    := libvlc
-LOCAL_SRC_FILES := $(VLC_BUILD_DIR)/ndk/libvlcjni-modules.c \
-				   $(VLC_BUILD_DIR)/ndk/libvlcjni-symbols.c
+LOCAL_SRC_FILES := $(VLC_BUILD_DIR)/ndk/libvlc-modules.c \
+				   $(VLC_BUILD_DIR)/ndk/libvlc-symbols.c
 LOCAL_LDFLAGS := -L$(VLC_CONTRIB)/lib
 LOCAL_LDLIBS := \
     $(VLC_MODULES) \
-- 
GitLab


From bc5134a3c39f2034324ce8b3c2288a830668f384 Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Tue, 29 Oct 2024 08:03:41 +0100
Subject: [PATCH 03/17] buildsystem: don't force -ljpeg or -lz

They are found in the .pc files.

As found in https://code.videolan.org/videolan/libvlcjni/-/merge_requests/107
---
 libvlc/jni/libvlc.mk | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/libvlc/jni/libvlc.mk b/libvlc/jni/libvlc.mk
index 05cd81c..48579a7 100644
--- a/libvlc/jni/libvlc.mk
+++ b/libvlc/jni/libvlc.mk
@@ -30,8 +30,7 @@ LOCAL_LDLIBS := \
     $(VLC_BUILD_DIR)/src/.libs/libvlccore.a \
     $(VLC_BUILD_DIR)/compat/.libs/libcompat.a \
     $(VLC_CONTRIB_LDFLAGS) \
-    -ldl -lz -lm -llog \
-    -ljpeg \
+    -ldl -lm -llog \
     -Wl,-Bsymbolic
 LOCAL_CXXFLAGS := -std=c++17
 # This duplicates the libvlc* link flags, but it propagates the dependency
-- 
GitLab


From 741101d90a490cce20108bf9a1823ef280d8784a Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Tue, 29 Oct 2024 08:04:28 +0100
Subject: [PATCH 04/17] buildsystem: use the lua from pkg-config

In VLC 4 contribs, the .pc file is there.

As found in https://code.videolan.org/videolan/libvlcjni/-/merge_requests/107
---
 buildsystem/build-libvlc.sh | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/buildsystem/build-libvlc.sh b/buildsystem/build-libvlc.sh
index bd93edc..9b07b7f 100755
--- a/buildsystem/build-libvlc.sh
+++ b/buildsystem/build-libvlc.sh
@@ -678,13 +678,6 @@ rm ${REDEFINED_VLC_MODULES_DIR}/syms
 VLC_MODULES=$(avlc_find_modules ${REDEFINED_VLC_MODULES_DIR})
 VLC_CONTRIB_LDFLAGS=$(for i in $(/bin/ls $VLC_CONTRIB/lib/pkgconfig/*.pc); do avlc_pkgconfig --libs $i; done |xargs)
 
-# Lua contrib doesn't expose a pkg-config file with libvlc 3.x and is
-# not probed by the previous command in VLC_CONTRIB_LDFLAGS, so probe
-# whether it was detected or add it manually to the LDFLAGS.
-if ! avlc_pkgconfig --exists lua; then
-    VLC_CONTRIB_LDFLAGS="$VLC_CONTRIB_LDFLAGS '$VLC_CONTRIB/lib/liblua.a'"
-fi
-
 echo -e "ndk-build vlc"
 
 $NDK_BUILD -C $LIBVLCJNI_ROOT/libvlc \
-- 
GitLab


From e72a934f794eb3e9dee6403e8c77cf8467d5e55a Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Tue, 29 Oct 2024 08:05:05 +0100
Subject: [PATCH 05/17] buildsystem: let pkg-config order and remove duplicate
 dependencies

As found in https://code.videolan.org/videolan/libvlcjni/-/merge_requests/107
---
 buildsystem/build-libvlc.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/buildsystem/build-libvlc.sh b/buildsystem/build-libvlc.sh
index 9b07b7f..bb14a4f 100755
--- a/buildsystem/build-libvlc.sh
+++ b/buildsystem/build-libvlc.sh
@@ -676,7 +676,7 @@ rm ${REDEFINED_VLC_MODULES_DIR}/syms
 ###########################
 
 VLC_MODULES=$(avlc_find_modules ${REDEFINED_VLC_MODULES_DIR})
-VLC_CONTRIB_LDFLAGS=$(for i in $(/bin/ls $VLC_CONTRIB/lib/pkgconfig/*.pc); do avlc_pkgconfig --libs $i; done |xargs)
+VLC_CONTRIB_LDFLAGS=$(cd $VLC_CONTRIB/lib/pkgconfig; avlc_pkgconfig --libs $(ls *.pc  | sed -e 's/\.pc$//' | xargs))
 
 echo -e "ndk-build vlc"
 
-- 
GitLab


From c93061d42d72da247a6b25e76d658edecce0381a Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Tue, 29 Oct 2024 08:50:20 +0100
Subject: [PATCH 06/17] buildsystem: remove extra android from the contrib
 build dir

It's already part of the TARGET_TUPLE
---
 buildsystem/build-libvlc.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/buildsystem/build-libvlc.sh b/buildsystem/build-libvlc.sh
index bb14a4f..f1e6e3c 100755
--- a/buildsystem/build-libvlc.sh
+++ b/buildsystem/build-libvlc.sh
@@ -449,7 +449,7 @@ fi
 
 echo "Building the contribs"
 
-VLC_CONTRIB_DIR=$VLC_SRC_DIR/contrib/contrib-android-${TARGET_TUPLE}
+VLC_CONTRIB_DIR=$VLC_SRC_DIR/contrib/contrib-${TARGET_TUPLE}
 VLC_CONTRIB_OUT_DIR=$VLC_SRC_DIR/contrib/${TARGET_TUPLE}
 
 mkdir -p $VLC_CONTRIB_OUT_DIR/lib/pkgconfig
-- 
GitLab


From 50827bf75fd3b25782342787cf4b4622a78d3f40 Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Tue, 29 Oct 2024 11:03:19 +0100
Subject: [PATCH 07/17] buildsystem: link directly with EGL/GLESv2

Rather than relying on a dummy .pc file.
---
 libvlc/jni/libvlc.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libvlc/jni/libvlc.mk b/libvlc/jni/libvlc.mk
index 48579a7..dba4295 100644
--- a/libvlc/jni/libvlc.mk
+++ b/libvlc/jni/libvlc.mk
@@ -30,7 +30,7 @@ LOCAL_LDLIBS := \
     $(VLC_BUILD_DIR)/src/.libs/libvlccore.a \
     $(VLC_BUILD_DIR)/compat/.libs/libcompat.a \
     $(VLC_CONTRIB_LDFLAGS) \
-    -ldl -lm -llog \
+    -ldl -lm -llog -lEGL -lGLESv2 \
     -Wl,-Bsymbolic
 LOCAL_CXXFLAGS := -std=c++17
 # This duplicates the libvlc* link flags, but it propagates the dependency
-- 
GitLab


From ae4667c30ddbed9feaa6232524552b7498192819 Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Tue, 29 Oct 2024 08:54:52 +0100
Subject: [PATCH 08/17] buildsystem: remove fake EGL/GLESv2 pkg-config file

They are not referenced by other pkg-config files and if detection fails in
some contrib, it needs to be fixed for any NDK.

VLC doesn't expect them, see 06f92cd58ef523229a2467bac53b99fef9d49655
and 371372cfeb6e983fe27b86e9be711f95bd3e2785.
---
 buildsystem/build-libvlc.sh | 2 --
 1 file changed, 2 deletions(-)

diff --git a/buildsystem/build-libvlc.sh b/buildsystem/build-libvlc.sh
index f1e6e3c..b327939 100755
--- a/buildsystem/build-libvlc.sh
+++ b/buildsystem/build-libvlc.sh
@@ -453,8 +453,6 @@ VLC_CONTRIB_DIR=$VLC_SRC_DIR/contrib/contrib-${TARGET_TUPLE}
 VLC_CONTRIB_OUT_DIR=$VLC_SRC_DIR/contrib/${TARGET_TUPLE}
 
 mkdir -p $VLC_CONTRIB_OUT_DIR/lib/pkgconfig
-avlc_gen_pc_file $VLC_CONTRIB_OUT_DIR/lib/pkgconfig EGL 1.1
-avlc_gen_pc_file $VLC_CONTRIB_OUT_DIR/lib/pkgconfig GLESv2 2
 
 mkdir -p $VLC_CONTRIB_DIR/lib/pkgconfig
 
-- 
GitLab


From a67b1a15ca729515cf913707d25dec71472a2e81 Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Tue, 29 Oct 2024 10:54:32 +0100
Subject: [PATCH 09/17] buildsystem: don't use the system PKG_CONFIG_LIBDIR

We are always cross-compiling for Android.
---
 buildsystem/build-libvlc.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/buildsystem/build-libvlc.sh b/buildsystem/build-libvlc.sh
index b327939..8943eb7 100755
--- a/buildsystem/build-libvlc.sh
+++ b/buildsystem/build-libvlc.sh
@@ -240,12 +240,16 @@ avlc_pkgconfig()
 {
     # Enforce pkg-config files coming from VLC contribs
     PKG_CONFIG_PATH="$VLC_CONTRIB/lib/pkgconfig/" \
-    PKG_CONFIG_LIBDIR="$VLC_CONTRIB/lib/pkgconfig/" \
     pkg-config "$@"
 }
 
 avlc_build()
 {
+# Set PKG_CONFIG_LIBDIR to an empty string to prevent
+# pkg-config from finding dependencies on the build
+# machine, so that it only finds deps in contribs
+export PKG_CONFIG_LIBDIR=""
+
 ###########################
 # VLC BOOTSTRAP ARGUMENTS #
 ###########################
-- 
GitLab


From 400a5c78588e7b286c1cb7fd6e7032058e863887 Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Tue, 29 Oct 2024 09:06:47 +0100
Subject: [PATCH 10/17] buildsystem: don't force a PKG_CONFIG_LIBDIR when
 configuring VLC

The configure script finds the contribs using --with-contrib
---
 buildsystem/build-libvlc.sh | 1 -
 1 file changed, 1 deletion(-)

diff --git a/buildsystem/build-libvlc.sh b/buildsystem/build-libvlc.sh
index 8943eb7..cd1f142 100755
--- a/buildsystem/build-libvlc.sh
+++ b/buildsystem/build-libvlc.sh
@@ -557,7 +557,6 @@ if [ ! -e $VLC_BUILD_DIR/config.h -o "$AVLC_RELEASE" = 1 ]; then
     RANLIB="${CROSS_TOOLS}ranlib" \
     AR="${CROSS_TOOLS}ar" \
     AS="${CROSS_TOOLS}as" \
-    PKG_CONFIG_LIBDIR=$VLC_SRC_DIR/contrib/$TARGET_TUPLE/lib/pkgconfig \
     ../configure --host=$TARGET_TUPLE \
         --with-contrib=${VLC_SRC_DIR}/contrib/${TARGET_TUPLE} \
         --prefix=${VLC_BUILD_DIR}/install/ \
-- 
GitLab


From 6366288d39f5d71c6cb4ebc2c5f9ab81ca6cd761 Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Tue, 29 Oct 2024 09:13:05 +0100
Subject: [PATCH 11/17] buildsystem: rename VLC_CONTRIB_LDFLAGS to
 VLC_CONTRIB_LDLIBS

It's not used to pass link flags but libraries to link with.
And it's used to fill LOCAL_LDLIBS.
---
 buildsystem/build-libvlc.sh | 4 ++--
 libvlc/jni/libvlc.mk        | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/buildsystem/build-libvlc.sh b/buildsystem/build-libvlc.sh
index cd1f142..5511016 100755
--- a/buildsystem/build-libvlc.sh
+++ b/buildsystem/build-libvlc.sh
@@ -677,7 +677,7 @@ rm ${REDEFINED_VLC_MODULES_DIR}/syms
 ###########################
 
 VLC_MODULES=$(avlc_find_modules ${REDEFINED_VLC_MODULES_DIR})
-VLC_CONTRIB_LDFLAGS=$(cd $VLC_CONTRIB/lib/pkgconfig; avlc_pkgconfig --libs $(ls *.pc  | sed -e 's/\.pc$//' | xargs))
+VLC_CONTRIB_LDLIBS=$(cd $VLC_CONTRIB/lib/pkgconfig; avlc_pkgconfig --libs $(ls *.pc  | sed -e 's/\.pc$//' | xargs))
 
 echo -e "ndk-build vlc"
 
@@ -687,7 +687,7 @@ $NDK_BUILD -C $LIBVLCJNI_ROOT/libvlc \
     VLC_SRC_DIR="$VLC_SRC_DIR" \
     VLC_BUILD_DIR="$VLC_BUILD_DIR" \
     VLC_CONTRIB="$VLC_CONTRIB" \
-    VLC_CONTRIB_LDFLAGS="$VLC_CONTRIB_LDFLAGS" \
+    VLC_CONTRIB_LDLIBS="$VLC_CONTRIB_LDLIBS" \
     VLC_MODULES="$VLC_MODULES" \
     APP_BUILD_SCRIPT=jni/libvlc.mk \
     APP_PLATFORM=android-${ANDROID_API} \
diff --git a/libvlc/jni/libvlc.mk b/libvlc/jni/libvlc.mk
index dba4295..0cc01f4 100644
--- a/libvlc/jni/libvlc.mk
+++ b/libvlc/jni/libvlc.mk
@@ -29,7 +29,7 @@ LOCAL_LDLIBS := \
     $(VLC_BUILD_DIR)/lib/.libs/libvlc.a \
     $(VLC_BUILD_DIR)/src/.libs/libvlccore.a \
     $(VLC_BUILD_DIR)/compat/.libs/libcompat.a \
-    $(VLC_CONTRIB_LDFLAGS) \
+    $(VLC_CONTRIB_LDLIBS) \
     -ldl -lm -llog -lEGL -lGLESv2 \
     -Wl,-Bsymbolic
 LOCAL_CXXFLAGS := -std=c++17
-- 
GitLab


From 2a8ecc9f451bf13a7782872ff3d2422fc945f6e8 Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Tue, 29 Oct 2024 10:33:56 +0100
Subject: [PATCH 12/17] buildsystem: use the NDK CFLAGS in CXXFLAGS

As done in ${ANDROID_NDK}/build/core/default-build-commands.mk
---
 buildsystem/build-libvlc.sh | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/buildsystem/build-libvlc.sh b/buildsystem/build-libvlc.sh
index 5511016..7fd269b 100755
--- a/buildsystem/build-libvlc.sh
+++ b/buildsystem/build-libvlc.sh
@@ -158,11 +158,6 @@ else
      VLC_CFLAGS="-g -O2"
 fi
 
-# cf. GLOBAL_CFLAGS from ${ANDROID_NDK}/build/core/default-build-commands.mk
-VLC_CFLAGS="${VLC_CFLAGS} -fPIC -fdata-sections -ffunction-sections -funwind-tables \
- -fstack-protector-strong -no-canonical-prefixes"
-VLC_CXXFLAGS="-fexceptions -frtti"
-
 # Release or not?
 if [ "$AVLC_RELEASE" = 1 ]; then
     VLC_CFLAGS="${VLC_CFLAGS} -DNDEBUG "
@@ -171,6 +166,11 @@ else
     NDK_DEBUG=1
 fi
 
+# cf. GLOBAL_CFLAGS from ${ANDROID_NDK}/build/core/default-build-commands.mk
+VLC_CFLAGS="${VLC_CFLAGS} -fPIC -fdata-sections -ffunction-sections -funwind-tables \
+ -fstack-protector-strong -no-canonical-prefixes"
+VLC_CXXFLAGS="${VLC_CFLAGS} -fexceptions -frtti"
+
 ###############
 # DISPLAY ABI #
 ###############
@@ -549,7 +549,7 @@ if [ ! -e $VLC_BUILD_DIR/config.h -o "$AVLC_RELEASE" = 1 ]; then
     BEFORE_VLC_BUILD_DIR=$(pwd -P)
     cd $VLC_BUILD_DIR
     CFLAGS="${VLC_CFLAGS}" \
-    CXXFLAGS="${VLC_CFLAGS} ${VLC_CXXFLAGS}" \
+    CXXFLAGS="${VLC_CXXFLAGS}" \
     CC="${CROSS_CLANG}" \
     CXX="${CROSS_CLANG}++" \
     NM="${CROSS_TOOLS}nm" \
-- 
GitLab


From a092e46dc9bc036386688f52df0e7e79fa5388c4 Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Tue, 29 Oct 2024 11:05:42 +0100
Subject: [PATCH 13/17] buildsystem: remove unused LOCAL_CXXFLAGS

We don't compile any C++ file.
---
 libvlc/jni/libvlc.mk | 1 -
 1 file changed, 1 deletion(-)

diff --git a/libvlc/jni/libvlc.mk b/libvlc/jni/libvlc.mk
index 0cc01f4..8d15467 100644
--- a/libvlc/jni/libvlc.mk
+++ b/libvlc/jni/libvlc.mk
@@ -32,7 +32,6 @@ LOCAL_LDLIBS := \
     $(VLC_CONTRIB_LDLIBS) \
     -ldl -lm -llog -lEGL -lGLESv2 \
     -Wl,-Bsymbolic
-LOCAL_CXXFLAGS := -std=c++17
 # This duplicates the libvlc* link flags, but it propagates the dependency
 # on the native build which is what we want overall
 LOCAL_STATIC_LIBRARIES := libvlccore libvlccompat libvlc-native
-- 
GitLab


From 948d49249bd968ae3c893f1b61bb59538c729cc2 Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Wed, 30 Oct 2024 09:10:09 +0100
Subject: [PATCH 14/17] buildsystem: don't build sqlite

It's only used by the medialibrary which is disabled.
vlc-android uses it's own version of the medialibrary/sqlite.
---
 buildsystem/build-libvlc.sh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/buildsystem/build-libvlc.sh b/buildsystem/build-libvlc.sh
index 7fd269b..02e4ca6 100755
--- a/buildsystem/build-libvlc.sh
+++ b/buildsystem/build-libvlc.sh
@@ -273,6 +273,7 @@ VLC_CONTRIB_ARGS="\
     --disable-samplerate \
     --disable-schroedinger \
     --disable-sidplay2 \
+    --disable-sqlite \
     --disable-srt \
     --disable-vnc \
     --disable-vncclient \
-- 
GitLab


From b570bbed65ac84d25551d0cebf58408c8a205500 Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Tue, 29 Oct 2024 12:11:08 +0100
Subject: [PATCH 15/17] buildsystem: remove symbol redifinition of static
 functions

They don't cause duplicate symbols.
---
 buildsystem/build-libvlc.sh | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/buildsystem/build-libvlc.sh b/buildsystem/build-libvlc.sh
index 02e4ca6..97cba4f 100755
--- a/buildsystem/build-libvlc.sh
+++ b/buildsystem/build-libvlc.sh
@@ -615,20 +615,6 @@ avlc_add_lib_to_redefine() {
     avlc_add_symbol_to_redefine "$("${CROSS_TOOLS}nm" -g $(avlc_find_lib ${VLC_BUILD_DIR} $1) | grep ' T ' | cut -f3 -d ' ')"
 }
 
-# Generic symbols
-avlc_add_symbol_to_redefine AccessOpen
-avlc_add_symbol_to_redefine AccessClose
-avlc_add_symbol_to_redefine StreamOpen
-avlc_add_symbol_to_redefine StreamClose
-avlc_add_symbol_to_redefine OpenDemux
-avlc_add_symbol_to_redefine CloseDemux
-avlc_add_symbol_to_redefine DemuxOpen
-avlc_add_symbol_to_redefine DemuxClose
-avlc_add_symbol_to_redefine OpenFilter
-avlc_add_symbol_to_redefine CloseFilter
-avlc_add_symbol_to_redefine Open
-avlc_add_symbol_to_redefine Close
-
 #libvlc_json
 avlc_add_symbol_to_redefine json_read
 avlc_add_symbol_to_redefine json_parse_error
-- 
GitLab


From 8612699ea313582f0ab4d67c3d7d54f5acf0629d Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Tue, 29 Oct 2024 12:54:13 +0100
Subject: [PATCH 16/17] buildsystem: use the system tfind/tdestroy

They are available. in NDK 25 they are not even hidden before Android 21.
---
 buildsystem/build-libvlc.sh | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/buildsystem/build-libvlc.sh b/buildsystem/build-libvlc.sh
index 97cba4f..cb6bb89 100755
--- a/buildsystem/build-libvlc.sh
+++ b/buildsystem/build-libvlc.sh
@@ -536,11 +536,6 @@ if [ ${ANDROID_API} -lt "26" ]; then
     export ac_cv_header_sys_shm_h=no
 fi
 
-# always use fixups for search.h and tdestroy
-export ac_cv_header_search_h=no
-export ac_cv_func_tdestroy=no
-export ac_cv_func_tfind=no
-
 if [ ! -e $VLC_BUILD_DIR/config.h -o "$AVLC_RELEASE" = 1 ]; then
     VLC_CONFIGURE_DEBUG=""
     if [ ! "$AVLC_RELEASE" = 1 ]; then
-- 
GitLab


From 506eb880d0dc42ba632e60f38585e312e5792017 Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Tue, 29 Oct 2024 09:55:29 +0100
Subject: [PATCH 17/17] buildsystem: don't build local interim static libraries

We already link with libvlc.a, libvlccore.a and libcompat.a.
---
 libvlc/jni/libvlc.mk | 20 --------------------
 1 file changed, 20 deletions(-)

diff --git a/libvlc/jni/libvlc.mk b/libvlc/jni/libvlc.mk
index 8d15467..87b04b6 100644
--- a/libvlc/jni/libvlc.mk
+++ b/libvlc/jni/libvlc.mk
@@ -1,23 +1,6 @@
 LOCAL_PATH := $(call my-dir)
 
 # VLC's buildsystem resulting binaries
-include $(CLEAN_VARS)
-LOCAL_MODULE := libvlccompat
-LOCAL_SRC_FILES := $(VLC_BUILD_DIR)/compat/.libs/libcompat.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-include $(CLEAN_VARS)
-LOCAL_MODULE := libvlccore
-LOCAL_SRC_FILES := $(VLC_BUILD_DIR)/src/.libs/libvlccore.a
-include $(PREBUILT_STATIC_LIBRARY)
-
-include $(CLEAN_VARS)
-LOCAL_MODULE := libvlc-native
-LOCAL_MODULE_FILENAME := libvlc
-LOCAL_SRC_FILES := $(VLC_BUILD_DIR)/lib/.libs/libvlc.a
-LOCAL_STATIC_LIBRARIES := libvlccore
-include $(PREBUILT_STATIC_LIBRARY)
-
 # libvlc build with all its modules
 include $(CLEAR_VARS)
 LOCAL_MODULE    := libvlc
@@ -32,7 +15,4 @@ LOCAL_LDLIBS := \
     $(VLC_CONTRIB_LDLIBS) \
     -ldl -lm -llog -lEGL -lGLESv2 \
     -Wl,-Bsymbolic
-# This duplicates the libvlc* link flags, but it propagates the dependency
-# on the native build which is what we want overall
-LOCAL_STATIC_LIBRARIES := libvlccore libvlccompat libvlc-native
 include $(BUILD_SHARED_LIBRARY)
-- 
GitLab