You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.0 KiB
88 lines
2.0 KiB
#!/bin/bash
|
|
# Copyright 2015 The Gemmlowp Authors. All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
if [ -z "$CXX" ]
|
|
then
|
|
echo "please set the CXX environment variable to point to your native Android toolchain C++ compiler"
|
|
exit 1
|
|
fi
|
|
|
|
default_cflags="-O3"
|
|
|
|
if [ "$#" -eq 0 ]
|
|
then
|
|
echo "Usage: $0 files... [cflags...]"
|
|
echo "All command-line parameters are passed along to the C++ compiler, so they can \
|
|
be either source files, or compiler flags."
|
|
echo "Default cflags: $default_cflags"
|
|
echo "Relies on the CXX environment variable to point to an Android C++ toolchain compiler."
|
|
exit 1
|
|
fi
|
|
|
|
EXE=gemmlowp-android-binary
|
|
|
|
if [[ $CXX =~ .*aarch64.* ]]
|
|
then
|
|
NEON_FLAGS=
|
|
else
|
|
NEON_FLAGS="-mfpu=neon -mfloat-abi=softfp"
|
|
fi
|
|
|
|
$CXX \
|
|
--std=c++11 \
|
|
-Wall -Wextra -pedantic \
|
|
-fPIE -pie $NEON_FLAGS \
|
|
-lstdc++ -latomic \
|
|
-I . -I .. \
|
|
-o $EXE \
|
|
-Wno-unused-variable -Wno-unused-parameter \
|
|
$default_cflags \
|
|
$*
|
|
|
|
if [ $? != 0 ]; then
|
|
echo "build failed"
|
|
exit 1
|
|
fi
|
|
|
|
adb root
|
|
|
|
if [ $? != 0 ]; then
|
|
echo "$0: adb root failed"
|
|
exit 1
|
|
fi
|
|
|
|
adb shell mkdir -p /data/local/tmp
|
|
|
|
if [ $? != 0 ]; then
|
|
echo "$0: adb shell failed to mkdir /data/local/tmp"
|
|
exit 1
|
|
fi
|
|
|
|
adb push $EXE /data/local/tmp
|
|
|
|
if [ $? != 0 ]; then
|
|
echo "$0: adb push failed to write to /data/local/tmp"
|
|
exit 1
|
|
fi
|
|
|
|
echo adb shell "/data/local/tmp/$EXE $TESTARGS"
|
|
|
|
adb shell "/data/local/tmp/$EXE $TESTARGS" | tee "log-$EXE"
|
|
|
|
if [ $? != 0 ]; then
|
|
echo "$0: adb shell failed to run binary on device"
|
|
exit 1
|
|
fi
|