Files
mpp/build/android/arm/make-Android.bash
Herman Chen 208f0004a5 [build]: Add path detection for different ndk
Support r10d and r16b first.

Change-Id: I289813c26b79ad4a1b038fc07f8375832fe78162
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
2019-10-10 18:04:21 +08:00

102 lines
3.6 KiB
Bash
Executable File

#!/bin/bash
# Run this from within a bash shell
MAKE_PROGRAM=`which make`
ANDROID_NDK="No ndk path found. You should add your ndk path"
TOOLCHAIN_FILE="no toolchain file found, Please fix ndk path"
FOUND_NDK=
# Search r10d ndk
# NOTE: r10d ndk do not have toolchain file
if [ ! ${FOUND_NDK} ]; then
NDK_R10D_PATHS=(
/home/pub/ndk/android-ndk-r10d/
~/work/android/ndk/android-ndk-r10d/
)
for NDK_PATH in ${NDK_R10D_PATHS[@]};
do
if [ -d ${NDK_PATH} ]; then
echo "found r10d ndk ${NDK_PATH}"
FOUND_NDK=true
ANDROID_NDK=${NDK_PATH}
TOOLCHAIN_FILE=../android.toolchain.cmake
NATIVE_API_LEVEL="android-21"
TOOLCHAIN_NAME="arm-linux-androideabi-4.8"
fi
done
fi
# Search r16b ndk
# NOTE: r16b use ndk toolchain file
if [ ! ${FOUND_NDK} ]; then
NDK_R16B_PATHS=(
/home/pub/ndk/android-ndk-r16b/
~/work/android/ndk/android-ndk-r16b/
)
for NDK_PATH in ${NDK_R16B_PATHS[@]};
do
if [ -d ${NDK_PATH} ]; then
echo "found r16 ndk ${NDK_PATH}"
FOUND_NDK=true
ANDROID_NDK=${NDK_PATH}
TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake
NATIVE_API_LEVEL="android-27"
TOOLCHAIN_NAME="arm-linux-androideabi-4.9"
fi
done
fi
if [ ! ${FOUND_NDK} ]; then
echo ${ANDROID_NDK}
echo ${TOOLCHAIN_FILE}
exit
fi
PLATFORM=$ANDROID_NDK/platforms/${NATIVE_API_LEVEL}/arch-arm
cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_MAKE_PROGRAM=${MAKE_PROGRAM} \
-DANDROID_FORCE_ARM_BUILD=ON \
-DANDROID_NDK=${ANDROID_NDK} \
-DANDROID_SYSROOT=${PLATFORM} \
-DANDROID_ABI="armeabi-v7a with NEON" \
-DANDROID_TOOLCHAIN_NAME=${TOOLCHAIN_NAME} \
-DANDROID_NATIVE_API_LEVEL=${NATIVE_API_LEVEL} \
-DANDROID_STL=system \
-DMPP_PROJECT_NAME=mpp \
-DVPU_PROJECT_NAME=vpu \
-DHAVE_DRM=ON \
../../../
cmake --build .
# ----------------------------------------------------------------------------
# usefull cmake debug flag
# ----------------------------------------------------------------------------
#-DMPP_NAME="rockchip_mpp" \
#-DVPU_NAME="rockchip_vpu" \
#-DHAVE_DRM \
#-DCMAKE_BUILD_TYPE=Debug \
#-DCMAKE_VERBOSE_MAKEFILE=true \
#--trace \
#--debug-output \
#cmake --build . --clean-first -- V=1
# ----------------------------------------------------------------------------
# test script
# ----------------------------------------------------------------------------
#adb push osal/test/rk_log_test /system/bin/
#adb push osal/test/rk_thread_test /system/bin/
#adb shell sync
#adb shell logcat -c
#adb shell rk_log_test
#adb shell rk_thread_test
#adb logcat -d|tail -30