Skip to content
Snippets Groups Projects

DO NOT MERGE: test building libvlc.so with outside script

Open Steve Lhomme requested to merge vlc-libvlc into master
2 files
+ 2
2
Compare changes
  • Side-by-side
  • Inline
Files
2
#!/bin/sh
set -e
set -x
#############
# ARGUMENTS #
#############
AVLC_RELEASE=$RELEASE
# Indicated if prebuilt contribs package
# should be created
AVLC_MAKE_PREBUILT_CONTRIBS=0
# Indicates that prebuit contribs should be
# used instead of building the contribs from source
AVLC_USE_PREBUILT_CONTRIBS=0
# JNI build can be disabled for testing/CI purpose
AVLC_BUILD_JNI=1
while [ $# -gt 0 ]; do
case $1 in
help|--help)
@@ -27,7 +25,6 @@ while [ $# -gt 0 ]; do
shift
;;
release|--release)
AVLC_RELEASE=1
LIBVLC_RELEASE="--release"
;;
--package-contribs)
@@ -38,9 +35,6 @@ while [ $# -gt 0 ]; do
AVLC_USE_PREBUILT_CONTRIBS=1
LIBVLC_PREBUILT_CONTRIBS="--with-prebuilt-contribs"
;;
--no-jni)
AVLC_BUILD_JNI=0
;;
esac
shift
done
@@ -77,19 +71,15 @@ fi
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"
elif [ "${ANDROID_ABI}" = "arm64-v8a" ] ; then
TARGET_TUPLE="aarch64-linux-android"
CLANG_PREFIX=${TARGET_TUPLE}
PLATFORM_SHORT_ARCH="arm64"
elif [ "${ANDROID_ABI}" = "armeabi-v7a" ] ; then
TARGET_TUPLE="arm-linux-androideabi"
CLANG_PREFIX="armv7a-linux-androideabi"
PLATFORM_SHORT_ARCH="arm"
else
echo "Please pass the ANDROID ABI to the correct architecture, using
compile-libvlc.sh -a ARCH
@@ -131,13 +121,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
@@ -155,7 +138,6 @@ NDK_TOOLCHAIN_DIR=${ANDROID_NDK}/toolchains/llvm/prebuilt/${host_tag}-x86_64
NDK_TOOLCHAIN_PATH=${NDK_TOOLCHAIN_DIR}/bin
# Add the NDK toolchain to the PATH, needed both for contribs and for building
# stub libraries
CROSS_TOOLS=${NDK_TOOLCHAIN_PATH}/llvm-
CROSS_CLANG=${NDK_TOOLCHAIN_PATH}/${CLANG_PREFIX}${ANDROID_API}-clang
export PATH="${NDK_TOOLCHAIN_PATH}:${PATH}"
@@ -222,55 +204,11 @@ avlc_checkfail()
fi
}
avlc_find_modules()
{
echo "$(find $1 -name 'lib*plugin.a' | grep -vE "lib(${blacklist_regexp})_plugin.a" | tr '\n' ' ')"
}
avlc_get_symbol()
{
echo "$1" | grep vlc_entry_$2|cut -d" " -f 3
}
avlc_gen_pc_file()
{
echo -n "Generating $2 pkg-config file: "
echo $1/$(echo $2|tr 'A-Z' 'a-z').pc
exec 3<> $1/$(echo $2|tr 'A-Z' 'a-z').pc
[ ! -z "${PC_PREFIX}" ] &&
echo "prefix=${PC_PREFIX}" >&3
[ ! -z "${PC_LIBDIR}" ] &&
echo "libdir=${PC_LIBDIR}" >&3
[ ! -z "${PC_INCLUDEDIR}" ] &&
echo "includedir=${PC_INCLUDEDIR}" >&3
echo "" >&3
echo "Name: $2" >&3
echo "Description: $2" >&3
echo "Version: $3" >&3
echo "Libs: ${PC_LIBS} -l$2" >&3
echo "Cflags: ${PC_CFLAGS}" >&3
exec 3>&-
}
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()
{
$LIBVLCJNI_SRC_DIR/buildsystem/build-libvlc.sh -a $ANDROID_ABI $LIBVLC_RELEASE $LIBVLC_PACKAGE_CONTRIBS $LIBVLC_PREBUILT_CONTRIBS
if [ "$AVLC_BUILD_JNI" = "1" ]; then
$LIBVLCJNI_SRC_DIR/buildsystem/build-libvlcjni.sh -a $ANDROID_ABI $LIBVLC_RELEASE
fi
$VLC_SRC_DIR/extras/package/android/build-libvlc.sh --libvlc-prefix $LIBVLCJNI_SRC_DIR/libvlc/jni -a $ANDROID_ABI $LIBVLC_RELEASE $LIBVLC_PACKAGE_CONTRIBS $LIBVLC_PREBUILT_CONTRIBS
$LIBVLCJNI_SRC_DIR/buildsystem/build-libvlcjni.sh -a $ANDROID_ABI $LIBVLC_RELEASE
} # avlc_build()
if [ "$AVLC_SOURCED" != "1" ]; then
Loading