How can I build abi type all on 3.5.4 version

This forum is about all development around libVLC.
humbler
New Cone
New Cone
Posts: 3
Joined: 27 May 2024 08:24

How can I build abi type all on 3.5.4 version

Postby humbler » 27 May 2024 08:28

I'm using Custom libvlc source.
So, I would like to compile all of abi options.
How can I build for abi all type options?

Rémi Denis-Courmont
Developer
Developer
Posts: 15323
Joined: 07 Jun 2004 16:01
VLC version: master
Operating System: Linux
Contact:

Re: How can I build abi type all on 3.5.4 version

Postby Rémi Denis-Courmont » 27 May 2024 09:34

Last version of LibVLC is 3.0.20 and there are infinitely many ABIs, so what you ask is impossible without specifying additional constraints.
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

humbler
New Cone
New Cone
Posts: 3
Joined: 27 May 2024 08:24

Re: How can I build abi type all on 3.5.4 version

Postby humbler » 28 May 2024 02:59

Hello, Rémi Denis-Courmont.
Thank you so much for your prompt reply.
Source Repository : git clone -b 3.5.4 https://code.videolan.org/videolan/vlc-android.git. or https://code.videolan.org/videolan/vlc- ... _type=tags
if [ "$ANDROID_ABI" = "armeabi-v7a" -o "$ANDROID_ABI" = "arm" ]; then
ANDROID_ABI="armeabi-v7a"
GRADLE_ABI="ARMv7"
elif [ "$ANDROID_ABI" = "arm64-v8a" -o "$ANDROID_ABI" = "arm64" ]; then
ANDROID_ABI="arm64-v8a"
GRADLE_ABI="ARMv8"
elif [ "$ANDROID_ABI" = "x86" ]; then
GRADLE_ABI="x86"
elif [ "$ANDROID_ABI" = "x86_64" ]; then
GRADLE_ABI="x86_64"
else
diagnostic "Invalid arch specified: '$ANDROID_ABI'."
diagnostic "Try --help for more information"
exit 1
fi

But, 3.4.3 version is included "all" option.

if [ "$ANDROID_ABI" = "armeabi-v7a" -o "$ANDROID_ABI" = "arm" ]; then
ANDROID_ABI="armeabi-v7a"
GRADLE_ABI="ARMv7"
elif [ "$ANDROID_ABI" = "arm64-v8a" -o "$ANDROID_ABI" = "arm64" ]; then
ANDROID_ABI="arm64-v8a"
GRADLE_ABI="ARMv8"
elif [ "$ANDROID_ABI" = "x86" ]; then
GRADLE_ABI="x86"
elif [ "$ANDROID_ABI" = "x86_64" ]; then
GRADLE_ABI="x86_64"
elif [ "$ANDROID_ABI" = "all" ]; then
GRADLE_ABI="all"
else
diagnostic "Invalid arch specified: '$ANDROID_ABI'."
diagnostic "Try --help for more information"
exit 1
fi

And, README.md file is included the multi ABI.
#### Build

`buildsystem/compile.sh -l -a <ABI>`


ABI can be `arm`, `arm64`, `x86`, `x86_64` or `all` for a multi-abis build

You can do a library release build with `-r` argument
================================================================================================================
Is there any way to build the libvlc-all-release.aar file?
I would like to build one aar file containing all architectures.
For example,
https://mvnrepository.com/artifact/org. ... libvlc-all

Rémi Denis-Courmont
Developer
Developer
Posts: 15323
Joined: 07 Jun 2004 16:01
VLC version: master
Operating System: Linux
Contact:

Re: How can I build abi type all on 3.5.4 version

Postby Rémi Denis-Courmont » 28 May 2024 13:26

That's Android VLC, not LibVLC...
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

humbler
New Cone
New Cone
Posts: 3
Joined: 27 May 2024 08:24

Re: How can I build abi type all on 3.5.4 version

Postby humbler » 29 May 2024 03:19

Hi,
Thank you so much for your reply.
Yes, that's right.
But, the same goes for LibVlc.

https://code.videolan.org/videolan/libv ... type=heads

Is there a way to build all versions like the ones in the maven repository?
https://mvnrepository.com/artifact/org. ... libvlc-all

Many thanks.

#########
# FLAGS #
#########
if [ "${ANDROID_ABI}" = "arm" ] ; then
ANDROID_ABI="armeabi-v7a"
elif [ "${ANDROID_ABI}" = "arm64" ] ; then
ANDROID_ABI="arm64-v8a"
fi

# Set up ABI variables
if [ "${ANDROID_ABI}" = "x86" ] ; then
TARGET_TUPLE="i686-linux-android"
CLANG_PREFIX=${TARGET_TUPLE}
PLATFORM_SHORT_ARCH="x86"
elif [ "${ANDROID_ABI}" = "x86_64" ] ; then
TARGET_TUPLE="x86_64-linux-android"
CLANG_PREFIX=${TARGET_TUPLE}
PLATFORM_SHORT_ARCH="x86_64"
HAVE_64=1
elif [ "${ANDROID_ABI}" = "arm64-v8a" ] ; then
TARGET_TUPLE="aarch64-linux-android"
CLANG_PREFIX=${TARGET_TUPLE}
HAVE_ARM=1
HAVE_64=1
PLATFORM_SHORT_ARCH="arm64"
elif [ "${ANDROID_ABI}" = "armeabi-v7a" ] ; then
TARGET_TUPLE="arm-linux-androideabi"
CLANG_PREFIX="armv7a-linux-androideabi"
HAVE_ARM=1
PLATFORM_SHORT_ARCH="arm"
else
echo "Please pass the ANDROID ABI to the correct architecture, using
compile-libvlc.sh -a ARCH
ARM: (armeabi-v7a|arm)
ARM64: (arm64-v8a|arm64)
X86: x86, x86_64"
exit 1
fi


Return to “Development around libVLC”

Who is online

Users browsing this forum: No registered users and 5 guests