[Android] Move vlc compilation to compile-libvlc.sh
Jean-Baptiste Kempf
git at videolan.org
Wed Feb 4 18:22:59 CET 2015
vlc-ports/android | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Wed Feb 4 18:21:09 2015 +0100| [c100b38701f283e9fa65ec5f9ba10ceda8815d78] | committer: Jean-Baptiste Kempf
Move vlc compilation to compile-libvlc.sh
> http://git.videolan.org/gitweb.cgi/vlc-ports/android.git/?a=commit;h=c100b38701f283e9fa65ec5f9ba10ceda8815d78
---
compile-libvlc.sh | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++--
compile.sh | 33 ++++++-------------
2 files changed, 98 insertions(+), 26 deletions(-)
diff --git a/compile-libvlc.sh b/compile-libvlc.sh
index 39b14c0..33b5be2 100755
--- a/compile-libvlc.sh
+++ b/compile-libvlc.sh
@@ -1,5 +1,7 @@
#!/bin/sh
+RELEASE=0
+
if [ -z "$ANDROID_NDK" ]; then
echo "Please set the ANDROID_NDK environment variable with its path."
exit 1
@@ -16,6 +18,57 @@ if [ -z "$ANDROID_API" ];then
exit 1
fi
+for i in ${@}; do
+ case "$i" in
+ release|--release)
+ RELEASE=1
+ ;;
+ *)
+ ;;
+ esac
+done
+
+# Set up ABI variables
+if [ ${ANDROID_ABI} = "x86" ] ; then
+ TARGET_TUPLE="i686-linux-android"
+ PATH_HOST="x86"
+ HAVE_X86=1
+ PLATFORM_SHORT_ARCH="x86"
+elif [ ${ANDROID_ABI} = "x86_64" ] ; then
+ TARGET_TUPLE="x86_64-linux-android"
+ PATH_HOST="x86_64"
+ HAVE_X86=1
+ HAVE_64=1
+ PLATFORM_SHORT_ARCH="x86_64"
+elif [ ${ANDROID_ABI} = "mips" ] ; then
+ TARGET_TUPLE="mipsel-linux-android"
+ PATH_HOST=$TARGET_TUPLE
+ HAVE_MIPS=1
+ PLATFORM_SHORT_ARCH="mips"
+elif [ ${ANDROID_ABI} = "arm64-v8a" ] ; then
+ TARGET_TUPLE="aarch64-linux-android"
+ PATH_HOST=$TARGET_TUPLE
+ HAVE_ARM=1
+ HAVE_64=1
+ PLATFORM_SHORT_ARCH="arm64"
+else
+ TARGET_TUPLE="arm-linux-androideabi"
+ PATH_HOST=$TARGET_TUPLE
+ HAVE_ARM=1
+ PLATFORM_SHORT_ARCH="arm"
+fi
+
+# Make in //
+if [ -z "$MAKEFLAGS" ]; then
+ UNAMES=$(uname -s)
+ MAKEFLAGS=
+ if which nproc >/dev/null; then
+ MAKEFLAGS=-j`nproc`
+ elif [ "$UNAMES" == "Darwin" ] && which sysctl >/dev/null; then
+ MAKEFLAGS=-j`sysctl -n machdep.cpu.thread_count`
+ fi
+fi
+
VLC_SOURCEDIR=..
CFLAGS="-g -O2 -fstrict-aliasing -funsafe-math-optimizations"
@@ -39,8 +92,35 @@ SYSROOT=$ANDROID_NDK/platforms/$ANDROID_API/arch-$PLATFORM_SHORT_ARCH
ANDROID_BIN=`echo $ANDROID_NDK/toolchains/${PATH_HOST}-${GCCVER}/prebuilt/\`uname|tr A-Z a-z\`-*/bin/`
CROSS_COMPILE=${ANDROID_BIN}/${TARGET_TUPLE}-
+# Release or not?
+if [ "$RELEASE" = 1 ]; then
+ OPTS=""
+ EXTRA_CFLAGS=" -DNDEBUG "
+else
+ OPTS="--enable-debug"
+fi
+
+
+#############
+# BOOTSTRAP #
+#############
+
+if [ ! -f config.h ]; then
+ echo "Bootstraping"
+ ./bootstrap
+fi
+
+###################
+# BUILD DIRECTORY #
+###################
+mkdir -p build-android-${TARGET_TUPLE} && cd build-android-${TARGET_TUPLE}
+
+#############
+# CONFIGURE #
+#############
+
CPPFLAGS="$CPPFLAGS" \
-CFLAGS="$CFLAGS ${VLC_EXTRA_CFLAGS}" \
+CFLAGS="$CFLAGS ${VLC_EXTRA_CFLAGS} ${EXTRA_CFLAGS}" \
CXXFLAGS="$CFLAGS" \
LDFLAGS="$LDFLAGS" \
CC="${CROSS_COMPILE}gcc --sysroot=${SYSROOT}" \
@@ -112,7 +192,7 @@ sh $VLC_SOURCEDIR/configure --host=$TARGET_TUPLE --build=x86_64-unknown-linux $E
--disable-faad \
--disable-x264 \
--disable-schroedinger --disable-dirac \
- $*
+ $OPTS
# ANDROID NDK FIXUP (BLAME GOOGLE)
config_undef ()
@@ -148,3 +228,10 @@ if [ ${ANDROID_API} = "android-21" ] ; then
fi
# END OF ANDROID NDK FIXUP
+############
+# BUILDING #
+############
+
+echo "Building"
+make $MAKEFLAGS
+
diff --git a/compile.sh b/compile.sh
index dfa6917..f0b9d99 100755
--- a/compile.sh
+++ b/compile.sh
@@ -313,14 +313,6 @@ cd contrib/contrib-android-${TARGET_TUPLE}
# We append -marm to the CFLAGS of these libs to disable thumb mode
[ ${ANDROID_ABI} = "armeabi-v7a" ] && echo "NOTHUMB := -marm" >> config.mak
-# Release or not?
-if [ "$RELEASE" = 1 ]; then
- OPTS=""
- EXTRA_CFLAGS="${EXTRA_CFLAGS} -DNDEBUG "
-else
- OPTS="--enable-debug"
-fi
-
echo "EXTRA_CFLAGS= -g ${EXTRA_CFLAGS}" >> config.mak
echo "EXTRA_LDFLAGS= ${EXTRA_LDFLAGS}" >> config.mak
export VLC_EXTRA_CFLAGS="${EXTRA_CFLAGS}"
@@ -336,7 +328,15 @@ make $MAKEFLAGS
############
# Make VLC #
############
-cd ../.. && mkdir -p build-android-${TARGET_TUPLE} && cd build-android-${TARGET_TUPLE}
+cd ../..
+echo "Configuring"
+${ANDROID_PATH}/compile-libvlc.sh $*
+
+####################################
+# VLC android UI and specific code
+####################################
+echo "Building VLC for Android"
+cd ../../
if [ "$JNI" = 1 ]; then
CLEAN="jniclean"
@@ -345,21 +345,6 @@ else
CLEAN="distclean"
TARGET=
fi
-if [ ! -f config.h ]; then
- echo "Bootstraping"
- ../bootstrap
- echo "Configuring"
- ${ANDROID_PATH}/compile-libvlc.sh $OPTS
-fi
-
-echo "Building"
-make $MAKEFLAGS
-
-####################################
-# VLC android UI and specific code
-####################################
-echo "Building VLC for Android"
-cd ../../
export ANDROID_SYS_HEADERS=${PWD}/android-headers
More information about the Android
mailing list