Bash程序  |  46行  |  1.18 KB

cd `dirname $0`
PWD=$(pwd)

# Update NDK_MODULE_PATH so we can find our imported modules
export NDK_MODULE_PATH="$PWD"

# Build everything
$NDK/ndk-build "$@"

# Extract ABIs list from parameters, we're looking for something like APP_ABI=<something>
PARAM_ABIS=$(echo "$@" | tr ' ' '\n' | grep -e "^APP_ABI=")
PARAM_ABIS=${PARAM_ABIS##APP_ABI=}
if [ -z "$PARAM_ABIS" ]; then
    echo "NO ABIS in param '$@'"
    ABIS="armeabi armeabi-v7a x86 mips armeabi-v7a-hard"
else
    echo "FOUND ABIS in param '$@': $PARAM_ABIS"
    ABIS="$PARAM_ABIS"
fi

# Now ensure that all files were installed to all supported ABIs
ANDROID_NDK_ROOT=$NDK
NDK_BUILDTOOLS_PATH=$NDK/build/tools
source $NDK_BUILDTOOLS_PATH/prebuilt-common.sh
MISSING=
for ABI in $ABIS; do
    DIR=$PWD/libs/$ABI
    SUFFIX=$(get_lib_suffix_for_abi $ABI)
    for FILENAME in libfoo$SUFFIX libpath1$SUFFIX libpath2$SUFFIX; do
        FILE=$DIR/$FILENAME
        if [ ! -f "$FILE" ]; then
            MISSING="$MISSING $FILE"
	fi
    done
done

# In case of missing files, error out
if [ "$MISSING" ]; then
    echo "ERROR: Missing files in build tree:"
    for FILE in $MISSING; do echo "  $FILE"; done
    exit 1
fi

# Otherwise, our test is good
exit 0