# Check for LD_LIBRARY_PATH being set, which can break SDK and generally is a bad practice
# http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html#AEN80
# http://xahlee.info/UnixResource_dir/_/ldpath.html
# Only disable this check if you are absolutely know what you are doing!
if [ ! -z "$LD_LIBRARY_PATH" ]; then
    echo "Your environment is misconfigured, you probably need to 'unset LD_LIBRARY_PATH'"
    echo "but please check why this was set in the first place and that it's safe to unset."
    echo "The SDK will not operate correctly in most cases when LD_LIBRARY_PATH is set."
    echo "For more references see:"
    echo "  http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html#AEN80"
    echo "  http://xahlee.info/UnixResource_dir/_/ldpath.html"
    return 1
fi
export SDKTARGETSYSROOT=/proj/yocto/published_esdks/arm/tmp/sysroots/zynq-generic
export PATH=/proj/yocto/published_esdks/arm/tmp/sysroots/x86_64/usr/bin:/proj/yocto/published_esdks/arm/tmp/sysroots/x86_64/usr/sbin:/proj/yocto/published_esdks/arm/tmp/sysroots/x86_64/bin:/proj/yocto/published_esdks/arm/tmp/sysroots/x86_64/sbin:/proj/yocto/published_esdks/arm/tmp/sysroots/x86_64/usr/bin/../x86_64-petalinux-linux/bin:/proj/yocto/published_esdks/arm/tmp/sysroots/x86_64/usr/bin/arm-xilinx-linux-gnueabi:/proj/yocto/published_esdks/arm/tmp/sysroots/x86_64/usr/bin/arm-xilinx-linux-musl:$PATH
export PKG_CONFIG_SYSROOT_DIR=$SDKTARGETSYSROOT
export PKG_CONFIG_PATH=$SDKTARGETSYSROOT/usr/lib/pkgconfig:$SDKTARGETSYSROOT/usr/share/pkgconfig
export CONFIG_SITE=/proj/yocto/published_esdks/arm/site-config-cortexa9t2hf-neon-xilinx-linux-gnueabi
export OECORE_NATIVE_SYSROOT="/proj/yocto/published_esdks/arm/tmp/sysroots/x86_64"
export OECORE_TARGET_SYSROOT="$SDKTARGETSYSROOT"
export OECORE_ACLOCAL_OPTS="-I /proj/yocto/published_esdks/arm/tmp/sysroots/x86_64/usr/share/aclocal"
export OECORE_BASELIB="lib"
export OECORE_TARGET_ARCH="arm"
export OECORE_TARGET_OS="linux-gnueabi"
unset command_not_found_handle
export CC="arm-xilinx-linux-gnueabi-gcc  -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=$SDKTARGETSYSROOT"
export CXX="arm-xilinx-linux-gnueabi-g++  -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=$SDKTARGETSYSROOT"
export CPP="arm-xilinx-linux-gnueabi-gcc -E  -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=$SDKTARGETSYSROOT"
export AS="arm-xilinx-linux-gnueabi-as "
export LD="arm-xilinx-linux-gnueabi-ld  --sysroot=$SDKTARGETSYSROOT"
export GDB=arm-xilinx-linux-gnueabi-gdb
export STRIP=arm-xilinx-linux-gnueabi-strip
export RANLIB=arm-xilinx-linux-gnueabi-ranlib
export OBJCOPY=arm-xilinx-linux-gnueabi-objcopy
export OBJDUMP=arm-xilinx-linux-gnueabi-objdump
export AR=arm-xilinx-linux-gnueabi-ar
export NM=arm-xilinx-linux-gnueabi-nm
export M4=m4
export TARGET_PREFIX=arm-xilinx-linux-gnueabi-
export CONFIGURE_FLAGS="--target=arm-xilinx-linux-gnueabi --host=arm-xilinx-linux-gnueabi --build=x86_64-linux --with-libtool-sysroot=$SDKTARGETSYSROOT"
export CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types "
export CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types "
export LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
export CPPFLAGS=""
export KCFLAGS="--sysroot=$SDKTARGETSYSROOT"
export OECORE_DISTRO_VERSION="2019.2"
export OECORE_SDK_VERSION="2019.2"
export ARCH=arm
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-

# Append environment subscripts
if [ -d "$OECORE_TARGET_SYSROOT/environment-setup.d" ]; then
    for envfile in $OECORE_TARGET_SYSROOT/environment-setup.d/*.sh; do
	    . $envfile
    done
fi
if [ -d "$OECORE_NATIVE_SYSROOT/environment-setup.d" ]; then
    for envfile in $OECORE_NATIVE_SYSROOT/environment-setup.d/*.sh; do
	    . $envfile
    done
fi
. /proj/yocto/published_esdks/arm/buildtools/environment-setup*
export OE_SKIP_SDK_CHECK=1
export DEPLOY_DIR_IMAGE=/proj/yocto/published_esdks/arm/tmp/deploy/images/zynq-generic
export PATH=/proj/yocto/published_esdks/arm/sysroots/x86_64-petalinux-linux/usr/bin:$PATH
printf 'SDK environment now set up; additionally you may now run devtool to perform development tasks.\nRun devtool --help for further details.\n'
(which bitbake > /dev/null 2>&1 && echo 'WARNING: attempting to use the extensible SDK in an environment set up to run bitbake - this may lead to unexpected results. Please source this script in a new shell session instead.') || true
