summaryrefslogtreecommitdiff
path: root/infra/scripts/docker_build_cross_arm_benchmark_model.sh
diff options
context:
space:
mode:
Diffstat (limited to 'infra/scripts/docker_build_cross_arm_benchmark_model.sh')
-rwxr-xr-xinfra/scripts/docker_build_cross_arm_benchmark_model.sh51
1 files changed, 51 insertions, 0 deletions
diff --git a/infra/scripts/docker_build_cross_arm_benchmark_model.sh b/infra/scripts/docker_build_cross_arm_benchmark_model.sh
new file mode 100755
index 000000000..9a511741d
--- /dev/null
+++ b/infra/scripts/docker_build_cross_arm_benchmark_model.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+[[ "${BASH_SOURCE[0]}" != "${0}" ]] && echo "Please don't source ${BASH_SOURCE[0]}, execute it" && return
+
+CURRENT_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+ROOT_PATH="$CURRENT_PATH/../../"
+
+# prepare rootfs
+if [ ! -d $ROOTFS_DIR ]; then
+ echo "It will use default rootfs path"
+else
+ DOCKER_VOLUMES+=" -v $ROOTFS_DIR:/opt/rootfs"
+ DOCKER_ENV_VARS+=" -e ROOTFS_DIR=/opt/rootfs"
+fi
+
+# mount volume (or directory) for externals
+if [ -n "$EXTERNAL_VOLUME" ]; then
+ DOCKER_VOLUMES+=" -v $EXTERNAL_VOLUME:/externals"
+ DOCKER_ENV_VARS+=" -e EXTERNAL_VOLUME=/externals"
+else
+ echo "It will use default external path"
+fi
+
+# docker image name
+if [ -z $DOCKER_IMAGE_NAME ]; then
+ echo "It will use default docker image name"
+fi
+
+# Mirror server setting
+if [ -z $EXTERNAL_DOWNLOAD_SERVER ]; then
+ echo "It will not use mirror server"
+fi
+
+DOCKER_ENV_VARS+=" -e TARGET_ARCH=armv7l"
+DOCKER_ENV_VARS+=" -e CROSS_BUILD=1"
+DOCKER_ENV_VARS+=" -e BENCHMARK_ACL_BUILD=1"
+DOCKER_ENV_VARS+=" -e BUILD_TYPE=Release"
+
+set -e
+
+pushd $ROOT_PATH > /dev/null
+
+# TODO use command instead of makefile
+export DOCKER_ENV_VARS
+export DOCKER_VOLUMES
+CMD="export OPTIONS='-DBUILD_PURE_ARM_COMPUTE=ON -DBUILD_NEURUN=OFF -DBUILD_TFLITE_BENCHMARK_MODEL=ON -DBUILD_TFLITE_LOADER=OFF' && \
+ cp -nv Makefile.template Makefile && \
+ make all install build_test_suite"
+./nnfw docker-run bash -c "$CMD"
+
+popd > /dev/null