Imported Upstream version 1.12.0
[platform/core/ml/nnfw.git] / infra / scripts / docker_build_nncc.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 CONFIG_OPTIONS=""
9 # mount volume (or directory) for externals
10 if [ -n "$EXTERNAL_VOLUME" ]; then
11   DOCKER_OPTS+=" -v $EXTERNAL_VOLUME:/externals"
12   CONFIG_OPTIONS+=" -DNNAS_EXTERNALS_DIR=/externals"
13 else
14   echo "It will use default external path"
15 fi
16
17 # mount volume (or directory) for overlay
18 if [ -n "$OVERLAY_VOLUME" ]; then
19   DOCKER_OPTS+=" -v $OVERLAY_VOLUME:/overlay"
20   CONFIG_OPTIONS+=" -DNNCC_OVERLAY_DIR=/overlay"
21 else
22   echo "It will use default overlay path"
23 fi
24
25 # prepare tensorflow
26 if [ -d $TENSORFLOW_PREFIX ]; then
27   DOCKER_OPTS+=" -v $TENSORFLOW_PREFIX:/opt/tensorflow"
28   CONFIG_OPTIONS+=" -DTENSORFLOW_PREFIX=/opt/tensorflow"
29 fi
30
31 # prepare onnx
32 if [ -d $ONNXRUNTIME_PREFIX ]; then
33   DOCKER_OPTS+=" -v $ONNXRUNTIME_PREFIX:/opt/onnxruntime"
34   CONFIG_OPTIONS+=" -DONNXRUNTIME_PREFIX=/opt/onnxruntime"
35 fi
36
37 # docker image name
38 # - for xenial, use DOCKER_IMAGE_NAME="nnfw/one-devtools:xenial"
39 # - for bionic, use DOCKER_IMAGE_NAME="nnfw/one-devtools:bionic"
40 if [[ -z $DOCKER_IMAGE_NAME ]]; then
41   echo "It will use default docker image name"
42 fi
43
44 NNAS_WORKSPACE=${NNAS_WORKSPACE:-build}
45 NNCC_INSTALL_PREFIX=${NNAS_WORKSPACE}/out
46 DOCKER_OPTS+=" -e NNAS_BUILD_PREFIX=${NNAS_WORKSPACE}"
47 export DOCKER_OPTS
48 if [[ -z "${ARCHIVE_PATH}" ]]; then
49   ARCHIVE_PATH=${NNAS_WORKSPACE}/archive
50 fi
51
52 set -e
53
54 pushd $ROOT_PATH > /dev/null
55
56 mkdir -p ${NNCC_INSTALL_PREFIX}
57 ./nncc docker-run ./nnas create-package --prefix "${PWD}/${NNCC_INSTALL_PREFIX}" -- "${CONFIG_OPTIONS}"
58
59 mkdir -p ${ARCHIVE_PATH}
60 tar -zcf ${ARCHIVE_PATH}/nncc-package.tar.gz -C ${NNCC_INSTALL_PREFIX} --exclude test ./
61 tar -zcf ${ARCHIVE_PATH}/nncc-test-package.tar.gz -C ${NNCC_INSTALL_PREFIX} ./test
62
63 popd > /dev/null