| #!/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 provoides 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/*-native -maxdepth 1 -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 |