|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
# Defining a toolchain directory's name according to the current OS.
|
|
|
|
# Assume that proper version of NDK is installed
|
|
|
|
# and is referenced by ANDROID_NDK_HOME environment variable
|
|
|
|
case "$OSTYPE" in
|
|
|
|
darwin*) HOST_TAG="darwin-x86_64" ;;
|
|
|
|
linux*) HOST_TAG="linux-x86_64" ;;
|
|
|
|
msys)
|
|
|
|
case "$(uname -m)" in
|
|
|
|
x86_64) HOST_TAG="windows-x86_64" ;;
|
|
|
|
i686) HOST_TAG="windows" ;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
if [[ $OSTYPE == "darwin"* ]]; then
|
|
|
|
HOST_NPROC=$(sysctl -n hw.physicalcpu)
|
|
|
|
else
|
|
|
|
HOST_NPROC=$(nproc)
|
|
|
|
fi
|
|
|
|
|
|
|
|
# The variable is used as a path segment of the toolchain path
|
|
|
|
export HOST_TAG=$HOST_TAG
|
|
|
|
# Number of physical cores in the system to facilitate parallel assembling
|
|
|
|
export HOST_NPROC=$HOST_NPROC
|
|
|
|
|
|
|
|
# Using CMake from the Android SDK
|
|
|
|
export CMAKE_EXECUTABLE=${ANDROID_SDK_HOME}/cmake/3.22.1/bin/cmake
|
|
|
|
# Using Make from the Android SDK
|
|
|
|
export MAKE_EXECUTABLE=${ANDROID_NDK_HOME}/prebuilt/${HOST_TAG}/bin/make
|
|
|
|
# Using Build machine's Ninja. It is used for libdav1d building. Needs to be installed
|
|
|
|
export NINJA_EXECUTABLE=$(which ninja)
|
|
|
|
# Meson is used for libdav1d building. Needs to be installed
|
|
|
|
export MESON_EXECUTABLE=$(which meson)
|
|
|
|
# Nasm is used for libdav1d and libx264 building. Needs to be installed
|
|
|
|
export NASM_EXECUTABLE=$(which nasm)
|
|
|
|
# A utility to properly pick shared libraries by FFmpeg's configure script. Needs to be installed
|
|
|
|
export PKG_CONFIG_EXECUTABLE=$(which pkg-config)
|