summaryrefslogtreecommitdiffstats
path: root/scripts/oe-run-native
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/oe-run-native')
-rwxr-xr-xscripts/oe-run-native56
1 files changed, 56 insertions, 0 deletions
diff --git a/scripts/oe-run-native b/scripts/oe-run-native
new file mode 100755
index 0000000000..22958d97e7
--- /dev/null
+++ b/scripts/oe-run-native
@@ -0,0 +1,56 @@
+#!/bin/bash
+#
+# Copyright (c) 2016, Intel Corporation.
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+#
+# This script is for running tools from native oe sysroot
+#
+
+if [ $# -lt 1 -o "$1" = '--help' -o "$1" = '-h' ] ; then
+ echo 'oe-run-native: the following arguments are required: <native recipe> <native tool>'
+ echo 'Usage: oe-run-native native-recipe tool [parameters]'
+ echo ''
+ echo 'OpenEmbedded run-native - runs native tools'
+ echo ''
+ echo 'arguments:'
+ echo ' native-recipe The recipe which provides tool'
+ echo ' tool Native tool to run'
+ echo ''
+ exit 2
+fi
+
+native_recipe="$1"
+tool="$2"
+
+if [ "${native_recipe%-native}" = "$native_recipe" ]; then
+ echo Error: $native_recipe is not a native recipe
+ echo Error: Use \"oe-run-native -h\" for help
+ exit 1
+fi
+
+shift
+
+SYSROOT_SETUP_SCRIPT=`which oe-find-native-sysroot 2> /dev/null`
+if [ -z "$SYSROOT_SETUP_SCRIPT" ]; then
+ echo "Error: Unable to find oe-find-native-sysroot script"
+ exit 1
+fi
+. $SYSROOT_SETUP_SCRIPT $native_recipe
+
+OLD_PATH=$PATH
+
+# look for a tool only in native sysroot
+PATH=$OECORE_NATIVE_SYSROOT/usr/bin:$OECORE_NATIVE_SYSROOT/bin:$OECORE_NATIVE_SYSROOT/usr/sbin:$OECORE_NATIVE_SYSROOT/sbin$(find $OECORE_NATIVE_SYSROOT/usr/bin -maxdepth 1 -name "*-native" -type d -printf ":%p")
+tool_find=`/usr/bin/which $tool 2>/dev/null`
+
+if [ -n "$tool_find" ] ; then
+ # add old path to allow usage of host tools
+ PATH=$PATH:$OLD_PATH "$@"
+else
+ echo "Error: Unable to find '$tool' in $PATH"
+ echo "Error: Have you run 'bitbake $native_recipe -caddto_recipe_sysroot'?"
+ exit 1
+fi