Imported Upstream version 1.12.0
[platform/core/ml/nnfw.git] / infra / scripts / docker_build_tizen_cross.sh
1 #!/bin/bash
2
3 [[ "${BASH_SOURCE[0]}" != "${0}" ]] && echo "Please don't source ${BASH_SOURCE[0]}, execute it" && return
4
5 CURRENT_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
6 ROOT_PATH="$CURRENT_PATH/../../"
7
8 # prepare rootfs
9 if [ -z "$ROOTFS_DIR" ] || [ ! -d $ROOTFS_DIR ]; then
10   echo "It will use default rootfs path"
11 else
12   DOCKER_VOLUMES+=" -v $ROOTFS_DIR:/opt/rootfs"
13   DOCKER_ENV_VARS+=" -e ROOTFS_DIR=/opt/rootfs"
14 fi
15
16 # mount volume (or directory) for externals
17 if [ -n "$EXTERNAL_VOLUME" ]; then
18   DOCKER_VOLUMES+=" -v $EXTERNAL_VOLUME:/externals"
19   DOCKER_ENV_VARS+=" -e EXTERNAL_VOLUME=/externals"
20 else
21   echo "It will use default external path"
22 fi
23
24 # docker image name
25 # - for xenial, use DOCKER_IMAGE_NAME="nnfw/one-devtools:xenial"
26 # - for bionic, use DOCKER_IMAGE_NAME="nnfw/one-devtools:bionic"
27 if [[ -z $DOCKER_IMAGE_NAME ]]; then
28   echo "It will use default docker image name"
29 fi
30
31 DOCKER_ENV_VARS+=" -e TARGET_ARCH=armv7l"
32 DOCKER_ENV_VARS+=" -e CROSS_BUILD=1"
33 DOCKER_ENV_VARS+=" -e TARGET_OS=tizen"
34 DOCKER_ENV_VARS+=" -e BUILD_TYPE=release"
35
36 # Mirror server setting
37 if [[ -z $EXTERNAL_DOWNLOAD_SERVER ]]; then
38   echo "It will not use mirror server"
39 fi
40
41 set -e
42
43 pushd $ROOT_PATH > /dev/null
44
45 export DOCKER_ENV_VARS
46 export DOCKER_VOLUMES
47 CMD="export OPTIONS+=' -DGENERATE_RUNTIME_NNAPI_TESTS=ON' && \
48      cp -nv Makefile.template Makefile && \
49      make all install build_test_suite"
50 ./nnfw docker-run bash -c "$CMD"
51
52 popd > /dev/null