53 lines
1.8 KiB
Bash
53 lines
1.8 KiB
Bash
export MASON_ANDROID_PLATFORM_VERSION=${MASON_VERSION%-*}
|
|
export MASON_ANDROID_NDK_VERSION=${MASON_VERSION##*-}
|
|
export MASON_ANDROID_NDK_API_LEVEL=${MASON_ANDROID_PLATFORM_VERSION##*-}
|
|
|
|
. ${MASON_DIR}/mason.sh
|
|
|
|
function mason_load_source {
|
|
if [ ${MASON_PLATFORM} = 'osx' ]; then
|
|
mason_download \
|
|
http://dl.google.com/android/repository/android-ndk-${MASON_ANDROID_NDK_VERSION}-darwin-x86_64.zip \
|
|
b822dd239f63cd2e1e72c823c41bd732da2e5ad6
|
|
elif [ ${MASON_PLATFORM} = 'linux' ]; then
|
|
mason_download \
|
|
http://dl.google.com/android/repository/android-ndk-${MASON_ANDROID_NDK_VERSION}-linux-x86_64.zip \
|
|
b95dd1fba5096ca3310a67e90b2a5a8aca3ddec7
|
|
fi
|
|
|
|
mason_setup_build_dir
|
|
rm -rf ./android-ndk-${MASON_ANDROID_NDK_VERSION}
|
|
unzip -q ../.cache/${MASON_SLUG} $@
|
|
|
|
export MASON_BUILD_PATH=${MASON_ROOT}/.build/android-ndk-${MASON_ANDROID_NDK_VERSION}
|
|
}
|
|
|
|
function mason_compile {
|
|
rm -rf ${MASON_PREFIX}
|
|
mkdir -p ${MASON_PREFIX}
|
|
|
|
${MASON_BUILD_PATH}/build/tools/make_standalone_toolchain.py \
|
|
--force \
|
|
--arch ${MASON_ANDROID_NDK_ARCH} \
|
|
--api ${MASON_ANDROID_NDK_API_LEVEL} \
|
|
--stl libc++ \
|
|
--install-dir "${MASON_PREFIX}"
|
|
|
|
# NDK r12 ships with .so files which are preferred when linking, but cause
|
|
# errors on devices when it's not present.
|
|
find "${MASON_PREFIX}" -name "libstdc++.so" -delete
|
|
|
|
# Add a toolchain.sh and toolchain.cmake file.
|
|
ROOT="${MASON_PREFIX}" ${MASON_DIR}/scripts/android-ndk/write_toolchain-${MASON_ANDROID_NDK_VERSION}.sh
|
|
|
|
# Copy the gdbserver
|
|
mkdir -p "${MASON_PREFIX}/prebuilt"
|
|
cp -rv "${MASON_BUILD_PATH}/prebuilt/android-${MASON_ANDROID_NDK_ARCH}/gdbserver" "${MASON_PREFIX}/prebuilt"
|
|
}
|
|
|
|
function mason_clean {
|
|
make clean
|
|
}
|
|
|
|
mason_run "$@"
|