123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- #!/bin/sh
- # Poky Build Enviroment Setup Script
- #
- # Copyright (C) 2006-2007 OpenedHand Ltd.
- #
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- # scripts/ is a sub-directory of OEROOT, we use readlink to get the full path
- SCRIPTPATH=`readlink -f "$BASH_SOURCE"`
- OEROOT="`dirname $SCRIPTPATH`/../"
- if [ "x$BDIR" = "x" ]; then
- if [ "x$1" = "x" ]; then
- BDIR="build"
- else
- BDIR=`readlink -f "$1"`
- fi
- fi
- if [[ "$BDIR" = /* ]] ; then
- BUILDDIR="$BDIR"
- else
- BUILDDIR="`pwd`/$BDIR"
- fi
- unset BDIR
- mkdir -p $BUILDDIR/conf
- if ! (test -w "$BUILDDIR"); then
- echo >&2 "Error: Cannot write to $BUILDDIR, perhaps try sourcing with a writable path? i.e. . poky-init-build-env ~/my-build"
- return
- fi
- BITBAKEDIR="$OEROOT/bitbake$BBEXTRA/"
- PATH="$BITBAKEDIR/bin/:$OEROOT/scripts:$PATH"
- # Remove any symlinks from paths
- BITBAKEDIR=`readlink -f "$BITBAKEDIR"`
- BUILDDIR=`readlink -f "$BUILDDIR"`
- OEROOT=`readlink -f "$OEROOT"`
- cd "$BUILDDIR"
- if ! (test -d "$BITBAKEDIR" && test -d "$BUILDDIR"); then
- echo >&2 "Error: Not all directories exist! Did you run this script in poky directory?"
- return
- fi
- if [ "x" = "x$POKYLOCALCONF" ]; then
- POKYLOCALCONF="$OEROOT/meta/conf/local.conf.sample"
- fi
- if ! (test -r "$BUILDDIR/conf/local.conf"); then
- cat <<EOM
- You had no conf/local.conf file. Poky has created this configuration file for
- you with some default values. You may wish to edit it to use a different MACHINE
- (target hardware) or enable parallel build options to take advantage of multiple
- cores for example. See the file for more information as common configuration
- options are commented.
- Also, for more information see the Poky handbook:
- http://pokylinux.org/doc/poky-handbook.html
- EOM
- cp -f $POKYLOCALCONF $BUILDDIR/conf/local.conf
- fi
- if [ "x" = "x$POKYLAYERCONF" ]; then
- POKYLAYERCONF="$OEROOT/meta/conf/bblayers.conf.sample"
- fi
- if ! (test -r "$BUILDDIR/conf/bblayers.conf"); then
- cat <<EOM
- You had no conf/bblayers.conf file. Poky has created this configuration file for
- you with some default values. To add additional metadata layers into your
- configuration please add entries to this file.
- For more information see the Poky handbook:
- http://pokylinux.org/doc/poky-handbook.html
- EOM
- # Put the abosolute path to the layers in bblayers.conf so we can run
- # bitbake without the init script after the first run
- sed "s|##POKYBASE##|$OEROOT|g" $POKYLAYERCONF > $BUILDDIR/conf/bblayers.conf
- fi
- # Prevent disturbing a new GIT clone in same console
- unset POKYLOCALCONF
- unset POKYLAYERCONF
- export OEROOT BUILDDIR
- # Kill off the TERMINFO variable, as glibc will grab its contents in its 'make
- # install' if set
- unset TERMINFO
- # kill this so we don't link non-arm libraries
- unset LD_LIBRARY_PATH
- # Don't export TARGET_ARCH - it *will* cause build failures
- export PATH LD_LIBRARY_PATH OEROOT
- # Stop multi byte characters breaking the patcher stuff - This is for Redhat / Fedora people really
- export LANG=C
- # Kill PYTHONPATH as otherwise the Python specified there will conflict with
- # python-native.
- unset PYTHONPATH
- # Don't allow custom GConf schema paths to get into the system
- unset GCONF_SCHEMA_INSTALL_SOURCE
- cat <<EOM
- ### Shell environment set up for Poky builds. ###
- You can now run 'bitbake <target>'
- Common targets are:
- poky-image-minimal
- poky-image-sato
- meta-toolchain
- meta-toolchain-sdk
- You can also run generated qemu images with a command like 'poky-qemu qemux86'
- EOM
- export BB_ENV_EXTRAWHITE="MACHINE DISTRO POKYMODE POKYLIBC OEROOT http_proxy ftp_proxy https_proxy all_proxy ALL_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS GIT_PROXY_COMMAND"
|