123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- #!/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
|