blob: dd9059b65a905c0304495ad5c54b4bce4f4851da [file] [log] [blame]
#!/bin/sh
#
# zxic Yocto Project Build Environment Setup Script
#
. sources/meta-zxic-custom/tools/setup-utils.sh
CWD=`pwd`
PROGNAME="setup-environment"
exit_message ()
{
echo "To return to this build environment later please run:"
echo "source setup-environment <build_dir>"
}
usage()
{
echo -e "\nUsage: source zxic-setup-release.sh
Optional parameters: [-b build-dir] [-h]"
echo "
* [-b build-dir]: Build directory, if unspecified script uses 'build' as output directory
* [-h]: help
"
}
clean_up()
{
unset CWD BUILD_DIR
unset zxic_setup_help zxic_setup_error zxic_setup_flag
unset usage clean_up
exit_message clean_up
}
# get command line options
OLD_OPTIND=$OPTIND
while getopts "k:r:t:b:e:gh" zxic_setup_flag
do
case $zxic_setup_flag in
b) BUILD_DIR="$OPTARG";
echo -e "\n Build directory is " $BUILD_DIR
;;
h) zxic_setup_help='true';
;;
\?) zxic_setup_error='true';
;;
esac
done
shift $((OPTIND-1))
if [ $# -ne 0 ]; then
zxic_setup_error=true
echo -e "Invalid command line ending: '$@'"
fi
OPTIND=$OLD_OPTIND
if test $zxic_setup_help; then
usage && clean_up && return 1
elif test $zxic_setup_error; then
clean_up && return 1
fi
if [ -z "$DISTRO" ]; then
DISTRO='cpe'
fi
if [ -z "$BUILD_DIR" ]; then
BUILD_DIR='build'
fi
if [ -z "$MACHINE" ]; then
MACHINE='zx297520v3'
fi
if [ -z "$SDK" ]; then
MK_SDK_VERSION='no'
else
MK_SDK_VERSION=$SDK
fi
if [ -z "$BOOT_CTL" ]; then
BOOT_CTL='normal'
else
BOOT_CTL=$BOOT_CTL
fi
if [ -z "$STRORAGE_CONF" ]; then
STRORAGE_CONF='nand-config-default'
else
STRORAGE_CONF=$STRORAGE_CONF
fi
# Set up the basic yocto environment
rm -fr $BUILD_DIR/conf/
DISTRO=$DISTRO MACHINE=$MACHINE MK_SDK_VERSION=$MK_SDK_VERSION BOOT_CTL=$BOOT_CTL STRORAGE_CONF=$STRORAGE_CONF . ./$PROGNAME $BUILD_DIR
# Point to the current directory since the last command changed the directory to $BUILD_DIR
BUILD_DIR=.
if [ ! -e $BUILD_DIR/conf/local.conf ]; then
echo -e "\n ERROR - No build directory is set yet. Run the 'setup-environment' script before running this script to create " $BUILD_DIR
echo -e "\n"
return 1
fi
# On the first script run, backup the local.conf file
# Consecutive runs, it restores the backup and changes are appended on this one.
if [ ! -e $BUILD_DIR/conf/local.conf.org ]; then
cp $BUILD_DIR/conf/local.conf $BUILD_DIR/conf/local.conf.org
else
cp $BUILD_DIR/conf/local.conf.org $BUILD_DIR/conf/local.conf
fi
if [ ! -e $BUILD_DIR/conf/bblayers.conf.org ]; then
cp $BUILD_DIR/conf/bblayers.conf $BUILD_DIR/conf/bblayers.conf.org
else
cp $BUILD_DIR/conf/bblayers.conf.org $BUILD_DIR/conf/bblayers.conf
fi
echo "" >> $BUILD_DIR/conf/bblayers.conf
echo "# zxic Yocto Project Release layers" >> $BUILD_DIR/conf/bblayers.conf
hook_in_layer meta-zxic-custom
echo "" >> $BUILD_DIR/conf/bblayers.conf
echo "BBLAYERS += \" \${BSPDIR}/sources/meta-zxic \"" >> $BUILD_DIR/conf/bblayers.conf
##echo "BBLAYERS += \" \${BSPDIR}/sources/meta-selinux \"" >> $BUILD_DIR/conf/bblayers.conf
##echo "BBLAYERS += \" \${BSPDIR}/sources/meta-zxic-selinux \"" >> $BUILD_DIR/conf/bblayers.conf
#echo "BBLAYERS += \" \${BSPDIR}/sources/meta-toolchain/meta-external-toolchain \"" >> $BUILD_DIR/conf/bblayers.conf
#echo "BBLAYERS += \" \${BSPDIR}/sources/meta-toolchain/meta-sourcery \"" >> $BUILD_DIR/conf/bblayers.conf
echo "BBLAYERS += \" \${BSPDIR}/sources/meta-openembedded/meta-oe \"" >> $BUILD_DIR/conf/bblayers.conf
echo "BBLAYERS += \" \${BSPDIR}/sources/meta-openembedded/meta-python \"" >> $BUILD_DIR/conf/bblayers.conf
echo "BBLAYERS += \" \${BSPDIR}/sources/meta-openembedded/meta-networking \"" >> $BUILD_DIR/conf/bblayers.conf
if [ x"$DISTRO" = x"cpe" ] || [ x"$DISTRO" = x"v2x-openwrt" ] || [ x"$DISTRO" = x"v2x-16bit" ]; then
echo "BBLAYERS += \" \${BSPDIR}/sources/meta-openwrt \"" >> $BUILD_DIR/conf/bblayers.conf
## echo "BBLAYERS += \" \${BSPDIR}/sources/meta-zxic-openwrt-selinux \"" >> $BUILD_DIR/conf/bblayers.conf
fi
#TCLIBC=`bitbake -e | grep 'TCLIBC='|cut -d'=' -f2|tr -d '"'`
#LIBCPATH=$(cat $(pwd)/../sources/meta-toolchain/toolchain/toolchain-$TCLIBC/toolchain-shar-extract.sh |grep 'LIBC_PATH='|cut -d'=' -f2|tr -d '"')
#if [ ! -f $LIBCPATH/toolchain-shar-extract.sh ] ; then
# . $(pwd)/../sources/meta-toolchain/toolchain/toolchain-$TCLIBC/toolchain-shar-extract.sh
#fi
cd $BUILD_DIR
clean_up