diff options
Diffstat (limited to 'scripts/poky-find-native-sysroot')
-rwxr-xr-x | scripts/poky-find-native-sysroot | 59 |
1 files changed, 27 insertions, 32 deletions
diff --git a/scripts/poky-find-native-sysroot b/scripts/poky-find-native-sysroot index fe36a2a93..9182f9d17 100755 --- a/scripts/poky-find-native-sysroot +++ b/scripts/poky-find-native-sysroot @@ -1,10 +1,9 @@ #!/bin/bash # # Find a native sysroot to use - either from an in-tree Poky build or -# from a toolchain installation in /opt/poky. It then sets the variables -# $NATIVE_SYSROOT_DIR to the sysroot's base directory, $PSEUDO to the -# path of the pseudo binary, and $SYSROOT_MODE is set to "in-tree" or -# "toolchain". +# from a toolchain installation in /opt/poky. It then ensures the variable +# $POKY_NATIVE_SYSROOT is set to the sysroot's base directory, and sets +# $PSEUDO to the path of the pseudo binary. # # This script is intended to be run within other scripts by source'ing # it, e.g: @@ -31,40 +30,36 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -BITBAKE=`which bitbake` -if [ -z "$BITBAKE" ]; then - SYSROOT_MODE="toolchain" - NATIVE_SYSROOT_DIR=`find /opt/poky -name "tunctl" | sed 's/\/usr\/bin\/tunctl//'` -else - SYSROOT_MODE="in-tree" - if [ "$UID" = "0" ]; then - # Root cannot run bitbake unless sanity checking is disabled - if [ ! -d "./conf" ]; then - echo "Error: root cannot run bitbake by default, and I cannot find a ./conf directory to be able to disable sanity checking" - exit 1 - fi - touch conf/sanity.conf - NATIVE_SYSROOT_DIR=`bitbake -e | grep ^STAGING_DIR_NATIVE | cut -d '=' -f2 | cut -d '"' -f2` - rm -f conf/sanity.conf +if [ -z "$POKY_NATIVE_SYSROOT" ]; then + BITBAKE=`which bitbake` + if [ "x$BITBAKE" != "x" ]; then + if [ "$UID" = "0" ]; then + # Root cannot run bitbake unless sanity checking is disabled + if [ ! -d "./conf" ]; then + echo "Error: root cannot run bitbake by default, and I cannot find a ./conf directory to be able to disable sanity checking" + exit 1 + fi + touch conf/sanity.conf + POKY_NATIVE_SYSROOT=`bitbake -e | grep ^STAGING_DIR_NATIVE | cut -d '=' -f2 | cut -d '"' -f2` + rm -f conf/sanity.conf + else + POKY_NATIVE_SYSROOT=`bitbake -e | grep ^STAGING_DIR_NATIVE | cut -d '=' -f2 | cut -d '"' -f2` + fi else - NATIVE_SYSROOT_DIR=`bitbake -e | grep ^STAGING_DIR_NATIVE | cut -d '=' -f2 | cut -d '"' -f2` - fi -fi - -if [ -z "$NATIVE_SYSROOT_DIR" ]; then - echo "Error: Unable to locate your native sysroot." - echo "Did you forget to source the Poky environment script?" + echo "Error: Unable to locate your native sysroot." + echo "Did you forget to source the Poky environment script?" - if [ -z "$SKIP_STRICT_SYSROOT_CHECK" ]; then - exit 1 + if [ -z "$SKIP_STRICT_SYSROOT_CHECK" ]; then + exit 1 + fi fi fi # Set up pseudo command -if [ ! -e "$NATIVE_SYSROOT_DIR/usr/bin/pseudo" ]; then - echo "Error: Unable to find pseudo binary in $NATIVE_SYSROOT_DIR/usr/bin/" +if [ ! -e "$POKY_NATIVE_SYSROOT/usr/bin/pseudo" ]; then + echo "Error: Unable to find pseudo binary in $POKY_NATIVE_SYSROOT/usr/bin/" - if [ "$SYSROT_MODE" = "in-tree" ]; then + if [ "x$POKY_DISTRO_VERSION" = "x" ]; then echo "Have you run 'bitbake pseudo-native'?" else echo "This shouldn't happen - something is wrong with your toolchain installation" @@ -74,4 +69,4 @@ if [ ! -e "$NATIVE_SYSROOT_DIR/usr/bin/pseudo" ]; then exit 1 fi fi -PSEUDO="$NATIVE_SYSROOT_DIR/usr/bin/pseudo" +PSEUDO="$POKY_NATIVE_SYSROOT/usr/bin/pseudo" |