[Mediapipe] required script files of meson build script
authorHyoung Joo Ahn <hello.ahn@samsung.com>
Wed, 8 Apr 2020 06:30:04 +0000 (15:30 +0900)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Thu, 9 Apr 2020 03:51:11 +0000 (12:51 +0900)
this script generate shared libs with internal/external object files of mediapipe.

Signed-off-by: Hyoung Joo Ahn <hello.ahn@samsung.com>
tools/development/gen_mediapipe_libs.sh [new file with mode: 0755]

diff --git a/tools/development/gen_mediapipe_libs.sh b/tools/development/gen_mediapipe_libs.sh
new file mode 100755 (executable)
index 0000000..910d2e6
--- /dev/null
@@ -0,0 +1,23 @@
+#!/usr/bin/env bash
+
+# check the MEDIAPIPE_HOME
+if [[ -z "${MEDIAPIPE_HOME}" ]]; then
+  echo 'ERROR: Define MEDIAPIPE_HOME First!'
+else
+  # for the external objects
+  for ext_obj in $(find ${MEDIAPIPE_HOME}/bazel-bin/external/ -name '*.o' ); do
+    ext_obj_arr+=($ext_obj)
+  done
+  $(gcc ${ext_obj_arr[@]} -shared -o libmediapipe_external.so -fPIC)
+  $(mv libmediapipe_external.so $1)
+
+  # for the internal objects
+  for int_obj in $(find ${MEDIAPIPE_HOME}/bazel-bin/mediapipe/ -name '*.o' ); do
+    # remove object files which contain main functions
+    if [[ $(nm -Ca $int_obj) != *"T main"* ]]; then
+      int_obj_arr+=($int_obj)
+    fi
+  done
+  $(gcc ${int_obj_arr[@]} -shared -o libmediapipe_internal.so -fPIC)
+  $(mv libmediapipe_internal.so $1)
+fi