Add preset support to create-package (#9366)
[platform/core/ml/nnfw.git] / infra / packaging / preset / 20191115
1 #!/bin/bash
2
3 function preset_configure()
4 {
5   REQUIRED_UNITS=()
6   # Common Libraries
7   REQUIRED_UNITS+=("angkor" "bino" "cwrap" "fipe" "pepper-str" "pepper-strcast" "pp" "stdex")
8   REQUIRED_UNITS+=("oops" "pepper-assert")
9   # Hermes Logging Framework
10   REQUIRED_UNITS+=("hermes" "hermes-std")
11   # loco IR and related utilities
12   REQUIRED_UNITS+=("loco" "locop" "locomotiv" "logo-core" "logo")
13   # loco IR extension: Custom Op Support
14   REQUIRED_UNITS+=("locoex-customop")
15   # TensorFlow Libraries
16   REQUIRED_UNITS+=("tfinfo" "plier-tf")
17   # TensorFlow GraphDef I/O
18   REQUIRED_UNITS+=("mio-tf")
19   # TensorFlow Frontend (.pb/.pbtxt -> loco.caninical)
20   REQUIRED_UNITS+=("moco-log" "moco" "moco-tf")
21   # TensorFlow Lite/Circle Backend (loco.canonical -> .tflite, loco.circle -> .circle)
22   REQUIRED_UNITS+=("exo")
23   # Tools
24   REQUIRED_UNITS+=("tf2tflite" "tf2circle")
25
26   # TODO Use "nncc configure" and "nncc build"
27   cmake \
28     -DCMAKE_INSTALL_PREFIX="${NNCC_INSTALL_PREFIX}" \
29     -DCMAKE_BUILD_TYPE=release \
30     -DBUILD_WHITELIST=$(join_by ";" "${REQUIRED_UNITS[@]}") \
31     ${EXTRA_OPTIONS[@]} \
32     "${NNAS_PROJECT_PATH}/infra/nncc"
33 }
34
35 function preset_install()
36 {
37   install -t "${NNPKG_INSTALL_PREFIX}/bin" -D \
38     "${NNAS_PROJECT_PATH}/tools/nnpackage_tool/model2nnpkg/model2nnpkg.sh" \
39     "${NNAS_PROJECT_PATH}/tools/nnpackage_tool/tflite2circle/tflite2circle.sh" \
40     "${NNAS_PROJECT_PATH}/tools/nnpackage_tool/tflite2circle/tflitejson2circlejson.py"
41
42   install -T -m 644 -D \
43     "${SCRIPT_PATH}/res/tflite_schema.fbs" "${NNPKG_INSTALL_PREFIX}/res/tflite_schema.fbs"
44   install -T -m 644 -D \
45     "${NNAS_PROJECT_PATH}/nnpackage/schema/circle_schema.fbs" "${NNPKG_INSTALL_PREFIX}/res/circle_schema.fbs"
46
47   # Install tf2nnpkg
48   install -T -m 755 -D "${SCRIPT_PATH}/res/tf2nnpkg" "${NNAS_INSTALL_PREFIX}/bin/tf2nnpkg"
49 }