104 lines
3.8 KiB
Bash
Executable File
104 lines
3.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
export NDK=/home/android-ndk-r10e
|
|
export PREFIX_BASE=$(pwd)/android
|
|
export HOST=arm-linux-androideabi
|
|
export CPU=ARM
|
|
|
|
if [ w$1 = "wx64" ]
|
|
then
|
|
echo "************************"
|
|
echo " X64 "
|
|
echo "************************"
|
|
export HOST=x86_64-linux-android
|
|
export CPU=x86_64
|
|
export SYSROOT=$NDK/platforms/android-21/arch-x86_64
|
|
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-x86_64
|
|
$NDK/build/tools/make-standalone-toolchain.sh --arch=x86_64 --platform=android-21 --install-dir=$ANDROID_TOOLCHAIN
|
|
export CFLAGS='-fPIC' # For FFmpeg: '-fno-PIC'
|
|
export LDFLAGS=''
|
|
export OS=android64
|
|
elif [ w$1 = "wx86" ]
|
|
then
|
|
echo "************************"
|
|
echo " X86 "
|
|
echo "************************"
|
|
export HOST=i686-linux-android
|
|
export CPU=x86
|
|
export SYSROOT=$NDK/platforms/android-9/arch-x86
|
|
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-x86
|
|
$NDK/build/tools/make-standalone-toolchain.sh --arch=x86 --platform=android-9 --install-dir=$ANDROID_TOOLCHAIN
|
|
export CFLAGS='-fPIC' # For FFmpeg: '-fno-PIC'
|
|
export LDFLAGS=''
|
|
export OS=android-x86
|
|
elif [ w$1 = "warm64" ]
|
|
then
|
|
echo "************************"
|
|
echo " ARM64 "
|
|
echo "************************"
|
|
export HOST=aarch64-linux-android
|
|
export CPU=arm64
|
|
export SYSROOT=$NDK/platforms/android-21/arch-arm64
|
|
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-arm64
|
|
$NDK/build/tools/make-standalone-toolchain.sh --arch=arm64 --platform=android-21 --install-dir=$ANDROID_TOOLCHAIN
|
|
export CFLAGS='-fPIC -D__ARMEL__ -DWEBRTC_DETECT_ARM_NEON -DWEBRTC_ARCH_ARM_NEON' # For FFmpeg: '-fno-PIC'
|
|
export LDFLAGS=''
|
|
export OS=android64-aarch64
|
|
elif [ w$1 = "warmv7a" ]
|
|
then
|
|
echo "************************"
|
|
echo " ARMv7-a "
|
|
echo "************************"
|
|
export HOST=arm-linux-androideabi
|
|
export CPU=armv7-a
|
|
export SYSROOT=$NDK/platforms/android-3/arch-arm
|
|
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-armv7-a
|
|
$NDK/build/tools/make-standalone-toolchain.sh --arch=arm --platform=android-3 --install-dir=$ANDROID_TOOLCHAIN
|
|
export CFLAGS='-march=armv7-a -mfloat-abi=softfp -fPIC'
|
|
export LDFLAGS='-Wl,--fix-cortex-a8'
|
|
export OS=android-armv7
|
|
elif [ w$1 = "wneon" ]
|
|
then
|
|
echo "************************"
|
|
echo " NEON "
|
|
echo "************************"
|
|
export HOST=arm-linux-androideabi
|
|
export CPU=armv7-a-neon
|
|
export SYSROOT=$NDK/platforms/android-3/arch-arm
|
|
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-armv7-a-neon
|
|
$NDK/build/tools/make-standalone-toolchain.sh --arch=arm --platform=android-3 --install-dir=$ANDROID_TOOLCHAIN
|
|
export CFLAGS='-march=armv7-a -mfloat-abi=softfp -mfpu=neon -fPIC'
|
|
export LDFLAGS='-Wl,--fix-cortex-a8'
|
|
export OS=android-armv7
|
|
else
|
|
echo "************************"
|
|
echo " ARMv5TE "
|
|
echo "************************"
|
|
export HOST=arm-linux-androideabi
|
|
export CPU=armv5te
|
|
export SYSROOT=$NDK/platforms/android-3/arch-arm
|
|
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-armv5te
|
|
$NDK/build/tools/make-standalone-toolchain.sh --arch=arm --platform=android-3 --install-dir=$ANDROID_TOOLCHAIN
|
|
export CFLAGS='-fPIC'
|
|
export LDFLAGS=''
|
|
export OS=android
|
|
fi
|
|
|
|
|
|
### COMMON ###
|
|
export PATH=$ANDROID_TOOLCHAIN/bin:$PATH
|
|
export CC=$ANDROID_TOOLCHAIN/bin/$HOST-gcc
|
|
export AR=$ANDROID_TOOLCHAIN/bin/$HOST-ar
|
|
export CXX=$ANDROID_TOOLCHAIN/bin/$HOST-g++
|
|
#export AS=$ANDROID_TOOLCHAIN/bin/$HOST-as
|
|
export AS=$ANDROID_TOOLCHAIN/bin/$HOST-gcc
|
|
export RANLIB=$ANDROID_TOOLCHAIN/bin/$HOST-ranlib
|
|
|
|
export CFLAGS="${CFLAGS} -DANDROID=1 -fPIC"
|
|
export CPPFLAGS=$CFLAGS
|
|
|
|
./Configure -no-shared --prefix=$PREFIX_BASE/$CPU --openssldir=$PREFIX_BASE/$CPU/openssl $OS -I$ANDROID_TOOLCHAIN/sysroot/ -I$ANDROID_TOOLCHAIN/sysroot/usr/include
|
|
make clean
|
|
make
|
|
|