summaryrefslogtreecommitdiffstats
path: root/android_build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'android_build.sh')
-rw-r--r--android_build.sh140
1 files changed, 140 insertions, 0 deletions
diff --git a/android_build.sh b/android_build.sh
new file mode 100644
index 0000000..50e7154
--- /dev/null
+++ b/android_build.sh
@@ -0,0 +1,140 @@
+#!/bin/bash
+
+export HOME=`pwd`
+
+### Options (change next values to 'no' to disable some features) ###
+export DEBUG=no
+export FFMPEG=yes
+export LIBYUV=yes
+export VPX=yes
+export OPENH264=yes
+export OPUS=yes
+export OPENCORE_AMR=yes
+export SPEEX_CODEC=yes
+export SPEEX_DSP=yes
+export SPEEX=yes
+export ILBC=yes
+export LIBGSM=yes
+export G729=no
+export SRTP=yes
+export WEBRTC=yes
+export SSL=yes
+
+if [ x$NDK = "x" ]
+then
+ echo ERROR: NDK env variable is not set
+ exit 1;
+fi
+export ANDROID_NDK_ROOT=$NDK
+
+if [ x$1 = "xcommercial" ]
+then
+ echo "************************"
+ echo " COMMERCIAL "
+ echo "************************"
+ export HOME=$HOME/android-projects/output/commercial
+ export ENABLE_NONFREE=no
+ export ENABLE_GPL=no
+ export FFMPEG=no # Do not use FFmpeg-LGPL because we're using static linking on Android
+ export ILBC=no #LGPL
+elif [ x$1 = "xlgpl" ]
+then
+ echo "************************"
+ echo " LGPL "
+ echo "************************"
+ export HOME=$HOME/android-projects/output/lgpl
+ export ENABLE_NONFREE=yes
+ export ENABLE_GPL=no
+else
+ echo "************************"
+ echo " GPL "
+ echo "************************"
+ export HOME=$HOME/android-projects/output/gpl
+ export ENABLE_NONFREE=yes
+ export ENABLE_GPL=yes
+fi
+
+export OPTIONS=
+if [ x$FFMPEG = "xno" ]; then
+ export OPTIONS="${OPTIONS} --without-ffmpeg"
+fi
+if [ x$LIBYUV = "xno" ]; then
+ export OPTIONS="${OPTIONS} --without-yuv"
+fi
+if [ x$VPX = "xno" ]; then
+ export OPTIONS="${OPTIONS} --without-vpx"
+fi
+if [ x$OPENH264 = "xno" ]; then
+ export OPTIONS="${OPTIONS} --without-openh264"
+fi
+if [ x$OPUS = "xno" ]; then
+ export OPTIONS="${OPTIONS} --without-opus"
+fi
+if [ x$G729 = "xno" ]; then
+ export OPTIONS="${OPTIONS} --without-g729"
+else
+ export ac_cv_lib_g729b_Init_Decod_ld8a=yes
+ export OPENCORE_AMR=no
+fi
+if [ x$OPENCORE_AMR = "xno" ]; then
+ export OPTIONS="${OPTIONS} --without-amr"
+fi
+if [ x$SPEEX_CODEC = "xno" ]; then
+ export OPTIONS="${OPTIONS} --without-speex"
+fi
+if [ x$SPEEX_DSP = "xno" ]; then
+ export OPTIONS="${OPTIONS} --without-speexdsp"
+fi
+if [ x$ILBC = "xno" ]; then
+ export OPTIONS="${OPTIONS} --without-ilbc"
+fi
+if [ x$LIBGSM = "xno" ]; then
+ export OPTIONS="${OPTIONS} --without-gsm"
+fi
+if [ x$SRTP = "xno" ]; then
+ export OPTIONS="${OPTIONS} --without-srtp"
+fi
+if [ x$WEBRTC = "xno" ]; then
+ export OPTIONS="${OPTIONS} --without-webrtc"
+fi
+if [ x$SSL = "xno" ]; then
+ export OPTIONS="${OPTIONS} --without-ssl"
+fi
+
+for arch in armv5te armv7-a armv7-a-neon x86
+do
+ if [ $arch = "x86" ]; then \
+ export HOST=i686-linux-android; \
+ else \
+ export HOST=arm-linux-androideabi; \
+ fi \
+
+ echo -e building for ARCH="$arch, OPTIONS=$OPTIONS.... \n"
+
+ ./configure --host=$HOST --with-android-cpu=$arch --prefix=$HOME/$arch --with-pic --enable-nonfree=$ENABLE_NONFREE --enable-gpl=$ENABLE_GPL --enable-debug=$DEBUG $OPTIONS
+ make clean
+ make uninstall
+ make all
+ if [ $DEBUG = "yes" ]; then \
+ make install; \
+ else \
+ make install-strip; \
+ fi \
+done
+
+mkdir -p $HOME/imsdroid/libs/armeabi
+mkdir -p $HOME/imsdroid/libs/armeabi-v7a
+mkdir -p $HOME/imsdroid/libs/x86
+mkdir -p $HOME/imsdroid/libs/mips
+
+cp --force $HOME/armv5te/lib/libtinyWRAP.so.0.0.0 $HOME/imsdroid/libs/armeabi/libtinyWRAP.so
+cp --force $HOME/armv5te/lib/libplugin_audio_opensles.so.0.0.0 $HOME/imsdroid/libs/armeabi/libplugin_audio_opensles.so
+
+cp --force $HOME/armv7-a/lib/libtinyWRAP.so.0.0.0 $HOME/imsdroid/libs/armeabi-v7a/libtinyWRAP.so
+cp --force $HOME/armv7-a/lib/libplugin_audio_opensles.so.0.0.0 $HOME/imsdroid/libs/armeabi-v7a/libplugin_audio_opensles.so
+cp --force $HOME/armv7-a-neon/lib/libtinyWRAP.so.0.0.0 $HOME/imsdroid/libs/armeabi-v7a/libtinyWRAP_neon.so
+
+cp --force $HOME/x86/lib/libtinyWRAP.so.0.0.0 $HOME/imsdroid/libs/x86/libtinyWRAP.so
+cp --force $HOME/x86/lib/libplugin_audio_opensles.so.0.0.0 $HOME/imsdroid/libs/x86/libplugin_audio_opensles.so
+
+
OpenPOWER on IntegriCloud