| #!/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 |