#!/bin/sh

__BITBAKE_LAST_LINE=0

# Emit a useful diagnostic if something fails:
bb_sh_exit_handler() {
    ret=$?
    if [ "$ret" != 0 ]; then
        echo "WARNING: exit code $ret from a shell command."
    fi
    exit $ret
}

bb_bash_exit_handler() {
    ret=$?
    { set +x; } > /dev/null
    trap "" DEBUG
    if [ "$ret" != 0 ]; then
        echo "WARNING: ${BASH_SOURCE[0]}:${__BITBAKE_LAST_LINE} exit $ret from '$1'"

        echo "WARNING: Backtrace (BB generated script): "
        for i in $(seq 1 $((${#FUNCNAME[@]} - 1))); do
            if [ "$i" -eq 1 ]; then
                echo -e "	#$((i)): ${FUNCNAME[$i]}, ${BASH_SOURCE[$((i-1))]}, line ${__BITBAKE_LAST_LINE}"
            else
                echo -e "	#$((i)): ${FUNCNAME[$i]}, ${BASH_SOURCE[$((i-1))]}, line ${BASH_LINENO[$((i-1))]}"
            fi
        done
    fi
    exit $ret
}

bb_bash_debug_handler() {
    local line=${BASH_LINENO[0]}
    # For some reason the DEBUG trap trips with lineno=1 when scripts exit; ignore it
    if [ "$line" -eq 1 ]; then
        return
    fi

    # Track the line number of commands as they execute. This is so we can have access to the failing line number
    # in the EXIT trap. See http://gnu-bash.2382.n7.nabble.com/trap-echo-quot-trap-exit-on-LINENO-quot-EXIT-gt-wrong-linenumber-td3666.html
    if [ "${FUNCNAME[1]}" != "bb_bash_exit_handler" ]; then
        __BITBAKE_LAST_LINE=$line
    fi
}

case $BASH_VERSION in
"") trap 'bb_sh_exit_handler' 0
    set -e
    ;;
*)  trap 'bb_bash_exit_handler "$BASH_COMMAND"' 0
    trap '{ bb_bash_debug_handler; } 2>/dev/null' DEBUG
    set -e
    shopt -s extdebug
    ;;
esac
export AR="ar"
export AS="as "
export BUILD_AR="ar"
export BUILD_AS="as "
export BUILD_CC="gcc "
export BUILD_CCLD="gcc "
export BUILD_CFLAGS="-isystem/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/include -O2 -pipe"
export BUILD_CPP="gcc  -E"
export BUILD_CPPFLAGS="-isystem/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/include"
export BUILD_CXX="g++ "
export BUILD_CXXFLAGS="-isystem/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/include -O2 -pipe"
export BUILD_FC="gfortran "
export BUILD_LD="ld "
export BUILD_LDFLAGS="-L/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/lib                         -L/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/lib                         -Wl,--enable-new-dtags                         -Wl,-rpath-link,/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/lib                         -Wl,-rpath-link,/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/lib                         -Wl,-rpath,/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/lib                         -Wl,-rpath,/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/lib                         -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/home/sim/yocto/scarthgap/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 -pthread"
export BUILD_NM="nm"
export BUILD_RANLIB="ranlib -D"
export BUILD_STRIP="strip"
export CC="gcc "
export CCLD="gcc "
export CFLAGS="-isystem/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/include -O2 -pipe"
export CONFIG_SITE="/home/sim/yocto/scarthgap/poky/meta/site/native"
export CPP="gcc  -E"
export CPPFLAGS="-isystem/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/include"
export CXX="g++ "
export CXXFLAGS="-isystem/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/include -O2 -pipe"
export FC="gfortran "
export GIT_CEILING_DIRECTORIES="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11:/home/sim/yocto/scarthgap/build/tmp"
export HOME="/home/sim"
export LC_ALL="en_US.UTF-8"
export LD="ld "
export LDFLAGS="-L/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/lib                         -L/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/lib                         -Wl,--enable-new-dtags                         -Wl,-rpath-link,/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/lib                         -Wl,-rpath-link,/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/lib                         -Wl,-rpath,/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/lib                         -Wl,-rpath,/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/lib                         -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/home/sim/yocto/scarthgap/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 -pthread"
export LOGNAME="sim"
export MAKE="make"
export NM="nm"
export OBJCOPY="objcopy"
export OBJDUMP="objdump"
export OMP_NUM_THREADS="8"
export PATH="/home/sim/yocto/scarthgap/poky/scripts/native-intercept:/home/sim/yocto/scarthgap/build/tmp/sysroots-uninative/x86_64-linux/usr/bin:/home/sim/yocto/scarthgap/poky/scripts:/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/bin/x86_64-linux:/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/bin:/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/sbin:/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/bin:/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/sbin:/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/bin:/home/sim/yocto/scarthgap/poky/bitbake/bin:/home/sim/yocto/scarthgap/build/tmp/hosttools"
export PERL_HASH_SEED="0"
export PKG_CONFIG_DIR="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/lib/pkgconfig"
export PKG_CONFIG_DISABLE_UNINSTALLED="yes"
export PKG_CONFIG_LIBDIR="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/lib/pkgconfig"
export PKG_CONFIG_PATH="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/lib/pkgconfig:/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/share/pkgconfig"
export PKG_CONFIG_SYSROOT_DIR=""
unset PKG_CONFIG_SYSTEM_INCLUDE_PATH
unset PKG_CONFIG_SYSTEM_LIBRARY_PATH
export PSEUDO_DISABLED="1"
export PSEUDO_UNLOAD="1"
export PYTHONHASHSEED="0"
export RANLIB="ranlib -D"
export READELF="readelf"
unset SHELL
export SOURCE_DATE_EPOCH="1785964872"
export STRINGS="strings"
export STRIP="strip"
export TZ="UTC"
export USER="sim"
export base_bindir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/bin"
export base_libdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/lib"
export base_prefix="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native"
export base_sbindir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/sbin"
export bindir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/bin"
export datadir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/share"
export docdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/share/doc"
export exec_prefix="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr"
export includedir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/include"
export infodir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/share/info"
export libdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/lib"
export libexecdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/libexec"
export localstatedir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/var"
export lt_cv_sys_lib_dlsearch_path_spec="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/lib /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/lib /lib /lib64 /usr/lib /usr/lib64"
export mandir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/share/man"
export nonarch_base_libdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/lib"
export nonarch_libdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/lib"
export prefix="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr"
export sbindir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/sbin"
export servicedir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/srv"
export sharedstatedir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/com"
export sysconfdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/etc"
export systemd_system_unitdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/lib/systemd/system"
export systemd_unitdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/lib/systemd"
export systemd_user_unitdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/lib/systemd/user"

# line: 34, file: /home/sim/yocto/scarthgap/poky/meta/recipes-devtools/pseudo/pseudo.inc
do_compile() {
	maybe_make32
	if $make32; then
		# We need the 32-bit libpseudo on a 64-bit machine...
		# Note that this is not well-tested outside of x86/x86_64.

		# if we're being rebuilt due to a dependency change, we need to make sure
		# everything is clean before we configure and build -- if we haven't previously
		# built this will fail and be ignored.
		make 'RPATH=-Wl,--rpath=XORIGIN/../../../sqlite3-native/usr/lib/' distclean || :

		./configure --enable-force-async --without-passwd-fallback --enable-epoll --enable-xattr --prefix=/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr --libdir=/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/lib/pseudo/lib --with-sqlite-lib=lib --with-sqlite=/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr --bits=32 --without-rpath
		save_traps=$(trap)
		trap 'warn_32bit_missing' 0
		oe_runmake 'RPATH=-Wl,--rpath=XORIGIN/../../../sqlite3-native/usr/lib/' libpseudo
		eval "$save_traps"
		# prevent it from removing the lib, but remove everything else
		make 'LIB=foo' 'RPATH=-Wl,--rpath=XORIGIN/../../../sqlite3-native/usr/lib/' distclean
	fi
	if [ "64" = "64" ]; then
	  /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/git/configure --enable-force-async --without-passwd-fallback --enable-epoll --enable-xattr --prefix=/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr --libdir=/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/lib/pseudo/lib64 --with-sqlite-lib=lib --with-sqlite=/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr --cflags="-isystem/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/include -O2 -pipe" --bits=64 --without-rpath
	else
	  /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/git/configure --enable-force-async --without-passwd-fallback --enable-epoll --enable-xattr --prefix=/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr --libdir=/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/lib/pseudo/lib --with-sqlite-lib=lib --with-sqlite=/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr --cflags="-isystem/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/recipe-sysroot-native/usr/include -O2 -pipe" --bits=64 --without-rpath
	fi
	oe_runmake 'RPATH=-Wl,--rpath=XORIGIN/../../../sqlite3-native/usr/lib/'
	if [ 'True' = 'True' ]; then
		for i in PSEUDO_PORT_UNIX_SYNCFS PSEUDO_PORT_UIDS_GENERIC PSEUDO_PORT_LINUX_NEWCLONE PSEUDO_PORT_LINUX_XATTR PSEUDO_PORT_LINUX_STATVFS; do
			grep $i.1 /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/git/pseudo_ports.h
			if [ $? != 0 ]; then
				echo "$i not enabled in pseudo which is incompatible with uninative"
				exit 1
			fi
		done
	fi
}

# line: 44, file: /home/sim/yocto/scarthgap/poky/meta/recipes-devtools/pseudo/pseudo.inc
maybe_make32() {
	# We probably don't need to build 32-bit binaries.
	make32=false
	if [ "64" = "64" ]; then
		case "1" in
		0)	make32=true
			;;
		1)	make32=false
			;;
		*)	# If unset, build 32-bit if we think we can.
			if [ -e "/usr/include/gnu/stubs-32.h" ]; then
				make32=true
			fi
			;;
		esac
	fi
	if $make32; then
		if ! [ -e "/usr/include/gnu/stubs-32.h" ]; then
			warn_32bit_missing
		else
			bbnote "Attempting to build 32-bit libpseudo.so for pseudo-native."
		fi
	else
		bbnote "Building/installing only 64-bit libpseudo.so for pseudo-native."
		bbnote "If you need to run 32-bit executables, ensure that NO32LIBS is set to 0."
	fi
}

# line: 41, file: /home/sim/yocto/scarthgap/poky/meta/classes-global/base.bbclass
oe_runmake() {
	oe_runmake_call "$@" || die "oe_runmake failed"
}

# line: 27, file: /home/sim/yocto/scarthgap/poky/meta/classes-global/logging.bbclass
bbnote() {
	if [ -p /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/temp/fifo.238305 ] ; then
		printf "%b\0" "bbnote $*" > /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/temp/fifo.238305
	else
		echo "NOTE: $*"
	fi
}

# line: 32, file: /home/sim/yocto/scarthgap/poky/meta/classes-global/base.bbclass
die() {
	bbfatal_log "$*"
}

# line: 36, file: /home/sim/yocto/scarthgap/poky/meta/classes-global/base.bbclass
oe_runmake_call() {
	bbnote make -j 8  "$@"
	make -j 8  "$@"
}

# line: 73, file: /home/sim/yocto/scarthgap/poky/meta/recipes-devtools/pseudo/pseudo.inc
warn_32bit_missing() {
	bbwarn "Can't find stubs-32.h, but usually need it to build 32-bit libpseudo."
	bbwarn "If the build fails, install 32-bit developer packages."
	bbwarn "If you are using 32-bit binaries, the 32-bit libpseudo is NOT optional."
}

# line: 72, file: /home/sim/yocto/scarthgap/poky/meta/classes-global/logging.bbclass
bbfatal_log() {
	if [ -p /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/temp/fifo.238305 ] ; then
		printf "%b\0" "bbfatal_log $*" > /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/temp/fifo.238305
	else
		echo "ERROR: $*"
	fi
	exit 1
}

# line: 38, file: /home/sim/yocto/scarthgap/poky/meta/classes-global/logging.bbclass
bbwarn() {
	if [ -p /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/temp/fifo.238305 ] ; then
		printf "%b\0" "bbwarn $*" > /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/temp/fifo.238305
	else
		echo "WARNING: $*"
	fi
}

cd '/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/pseudo-native/1.9.11/git'
do_compile

# cleanup
ret=$?
trap '' 0
exit $ret
