summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2010-11-24 18:06:04 -0600
committerRichard Purdie <rpurdie@linux.intel.com>2010-12-20 23:00:51 +0000
commit60ccdaa0ea128ac19113c0746c6e12bd02b2fc12 (patch)
tree0efebf6cc8559f715afd1dc65d304f85add9e2e4
parent86b6b093374c37aeca87cdc36fc56440919d9458 (diff)
downloadpoky-60ccdaa0ea128ac19113c0746c6e12bd02b2fc12.tar.gz
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 <mark.hatle@windriver.com>
-rwxr-xr-xpoky-init-build-env16
-rwxr-xr-xscripts/poky-env-internal2
2 files changed, 13 insertions, 5 deletions
diff --git a/poky-init-build-env b/poky-init-build-env
index 7af2172a45..90151fb7bb 100755
--- a/poky-init-build-env
+++ b/poky-init-build-env
@@ -18,13 +18,21 @@
18# along with this program; if not, write to the Free Software 18# along with this program; if not, write to the Free Software
19# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 20
21 21#
22# Normally this is called as '. ./poky-init-buildenv builddir'
23#
24# This works in most shells (not dash), but not all of them pass arg1 when
25# being sourced. To workaround the shell limitation use "set arg1" prior
26# to sourcing this script.
27#
22if [ "x$0" = "x./poky-init-build-env" ]; then 28if [ "x$0" = "x./poky-init-build-env" ]; then
23 echo "Error: This script needs to be sourced. Please run as '. ./poky-init-build-env'" 29 echo "Error: This script needs to be sourced. Please run as '. ./poky-init-build-env'"
24elif [ "x$BASH_SOURCE" = "x" ]; then
25 echo "Error: You are not running a Bash shell. Please use Bash or add support for your shell to the init scripts"
26else 30else
27 OEROOT="`dirname $BASH_SOURCE`" 31 if [ -n "$BASH_SOURCE" ]; then
32 OEROOT="`dirname $BASH_SOURCE`"
33 else
34 OEROOT="`pwd`"
35 fi
28 OEROOT=`readlink -f "$OEROOT"` 36 OEROOT=`readlink -f "$OEROOT"`
29 export OEROOT 37 export OEROOT
30 . $OEROOT/scripts/poky-env-internal 38 . $OEROOT/scripts/poky-env-internal
diff --git a/scripts/poky-env-internal b/scripts/poky-env-internal
index 2ec07ed061..06586ec56f 100755
--- a/scripts/poky-env-internal
+++ b/scripts/poky-env-internal
@@ -31,7 +31,7 @@ if [ "x$BDIR" = "x" ]; then
31 BDIR=`readlink -f "$1"` 31 BDIR=`readlink -f "$1"`
32 fi 32 fi
33fi 33fi
34if [[ "$BDIR" = /* ]] ; then 34if expr "$BDIR" : '/.*' > /dev/null ; then
35 BUILDDIR="$BDIR" 35 BUILDDIR="$BDIR"
36else 36else
37 BUILDDIR="`pwd`/$BDIR" 37 BUILDDIR="`pwd`/$BDIR"