From 60ccdaa0ea128ac19113c0746c6e12bd02b2fc12 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 24 Nov 2010 18:06:04 -0600 Subject: poky-init-build-env: Enable all POSIX shells Update the script so that it will work in more then just bash. If bash is not used, it will assume the PWD is the Poky location. (This is because BASH_SOURCE is a bash-ism, and equivalent functionality is not available in other shells). This has been verified with dash (see comment in the code), ksh, zsh and of course bash. Signed-off-by: Mark Hatle --- poky-init-build-env | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'poky-init-build-env') diff --git a/poky-init-build-env b/poky-init-build-env index 7af2172a4..90151fb7b 100755 --- a/poky-init-build-env +++ b/poky-init-build-env @@ -18,13 +18,21 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - +# +# Normally this is called as '. ./poky-init-buildenv builddir' +# +# This works in most shells (not dash), but not all of them pass arg1 when +# being sourced. To workaround the shell limitation use "set arg1" prior +# to sourcing this script. +# if [ "x$0" = "x./poky-init-build-env" ]; then echo "Error: This script needs to be sourced. Please run as '. ./poky-init-build-env'" -elif [ "x$BASH_SOURCE" = "x" ]; then - echo "Error: You are not running a Bash shell. Please use Bash or add support for your shell to the init scripts" else - OEROOT="`dirname $BASH_SOURCE`" + if [ -n "$BASH_SOURCE" ]; then + OEROOT="`dirname $BASH_SOURCE`" + else + OEROOT="`pwd`" + fi OEROOT=`readlink -f "$OEROOT"` export OEROOT . $OEROOT/scripts/poky-env-internal -- cgit v1.2.3