Add scripts for launching electron on desktop 73/145073/4
authorYoungsoo Choi <kenshin.choi@samsung.com>
Mon, 21 Aug 2017 06:34:22 +0000 (15:34 +0900)
committerSungsik Han <ss440.han@samsung.com>
Tue, 22 Aug 2017 02:31:01 +0000 (02:31 +0000)
This adds scripts for launching electron on desktop.

Change-Id: I91d9df8829049e435c391fcd1dff129e80834623
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
efl/build/desktop/electron.sh [new file with mode: 0755]
efl/build/desktop/launch.sh [new file with mode: 0755]
electron.gyp

diff --git a/efl/build/desktop/electron.sh b/efl/build/desktop/electron.sh
new file mode 100755 (executable)
index 0000000..9061e05
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+SCRIPTDIR=$(readlink -e $(dirname $0))
+${SCRIPTDIR}/launch.sh electron "$@"
diff --git a/efl/build/desktop/launch.sh b/efl/build/desktop/launch.sh
new file mode 100755 (executable)
index 0000000..5d041e9
--- /dev/null
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+EXECUTABLE=$1
+MAIN_JS=$2
+CHROMIUM_EFL_PATH=$3
+
+echo "CHROMIUM_EFL_PATH: $CHROMIUM_EFL_PATH"
+
+if [ ! $EXECUTABLE ]; then
+  echo launch_exec.sh takes the name of an executable argument >&2
+  exit 1
+fi
+
+shift
+
+HOST_ARCH=$(uname -m)
+
+if [ $HOST_ARCH = "x86_64" -o $HOST_ARCH = "amd64" ]; then
+  _LIBDIR=lib64
+else
+  _LIBDIR=lib
+fi
+
+SCRIPTDIR=$(readlink -e $(dirname $0))
+OUT_DIR=$(echo $SCRIPTDIR | grep -Po "(?<=/)out\..*?(?=/)")
+
+if echo $SCRIPTDIR | grep -qw "Debug"; then
+  BUILD_MODE=Debug
+else
+  BUILD_MODE=Release
+fi
+
+# [M56_2924] ELECTRON_EFL_LIBDIR should be fixed.
+# ELECTRON_EFL_LIBDIR=$(readlink -e $SCRIPTDIR/lib)
+ELECTRON_EFL_LIBDIR=$(readlink -e $SCRIPTDIR)
+ELECTRON_EFL_DEPENDENCIES_LIBDIR=$(readlink -e $SCRIPTDIR/../Dependencies/Root/$_LIBDIR)
+echo "ELECTRON_EFL_LIBDIR: $ELECTRON_EFL_LIBDIR"
+echo "ELECTRON_EFL_DEPENDENCIES_LIBDIR: $ELECTRON_EFL_DEPENDENCIES_LIBDIR"
+
+export LD_LIBRARY_PATH=$ELECTRON_EFL_DEPENDENCIES_LIBDIR:$ELECTRON_EFL_LIBDIR:$CHROMIUM_EFL_PATH:${LD_LIBRARY_PATH}
+echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"
+
+# Allow chromium-efl to work with llvmpipe or softpipe mesa backends
+export EVAS_GL_NO_BLACKLIST=1
+
+debug=0
+while [ $# -gt 0 ]; do
+    case "$1" in
+        -g | --debug )
+            debug=1
+            shift
+            ;;
+        * )
+            break
+            ;;
+    esac
+done
+
+if [ $debug -eq 1 ] ; then
+  exec gdb --args ${SCRIPTDIR}/$EXECUTABLE "$@"
+else
+  exec ${SCRIPTDIR}/$EXECUTABLE "$MAIN_JS"
+fi
index 9fc0032..fa56224 100644 (file)
             '<(DEPTH)/efl/build/system.gyp:elementary',
             '<(DEPTH)/efl/build/system.gyp:evas',
             '<(DEPTH)/efl/build/system.gyp:icu',
+            'electron_shell_copy',
           ],
           'sources': [
             'chromium_src/chrome/browser/icon_loader_efllinux.cc',
       ],
     },  # target <(product_name)_lib
     {
+      'target_name': 'electron_shell_copy',
+      'type': 'none',
+      'copies': [
+        {
+          'destination': '<(PRODUCT_DIR)',
+          'files': [
+            '<(DEPTH)/efl/build/desktop/electron.sh',
+            '<(DEPTH)/efl/build/desktop/launch.sh',
+          ],
+        },
+      ],
+    },  # target atom_js2c_copy
+    {
       'target_name': 'js2asar',
       'type': 'none',
       'actions': [