#!/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/meson-native/1.3.1/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/meson-native/1.3.1/recipe-sysroot-native/usr/include"
export BUILD_CXX="g++ "
export BUILD_CXXFLAGS="-isystem/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/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/meson-native/1.3.1/recipe-sysroot-native/usr/lib                         -L/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/lib                         -Wl,--enable-new-dtags                         -Wl,-rpath-link,/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/lib                         -Wl,-rpath-link,/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/lib                         -Wl,-rpath,/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/lib                         -Wl,-rpath,/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/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 CCSHARED="-fPIC -DPIC"
export CFLAGS="-isystem/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/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/meson-native/1.3.1/recipe-sysroot-native/usr/include"
export CXX="g++ "
export CXXFLAGS="-isystem/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/include -O2 -pipe"
export FC="gfortran "
export GIT_CEILING_DIRECTORIES="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1:/home/sim/yocto/scarthgap/build/tmp"
export HOME="/home/sim"
export LC_ALL="en_US.UTF-8"
export LD="ld "
export LDCXXSHARED="g++  -shared"
export LDFLAGS="-L/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/lib                         -L/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/lib                         -Wl,--enable-new-dtags                         -Wl,-rpath-link,/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/lib                         -Wl,-rpath-link,/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/lib                         -Wl,-rpath,/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/lib                         -Wl,-rpath,/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/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 LDSHARED="gcc  -shared"
export LINKFORSHARED="-fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Xlinker -export-dynamic"
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/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/bin/python3-native:/home/sim/yocto/scarthgap/poky/scripts:/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/bin/x86_64-linux:/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/bin:/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/sbin:/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/bin:/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/sbin:/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/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/meson-native/1.3.1/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/meson-native/1.3.1/recipe-sysroot-native/usr/lib/pkgconfig"
export PKG_CONFIG_PATH="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/lib/pkgconfig:/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/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 PYTHON="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/bin/python3-native/python3"
export PYTHONHASHSEED="0"
export PYTHONNOUSERSITE="1"
export PYTHON_INCLUDE_DIR="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/include/python3.12"
export PYTHON_LIBRARY="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/lib/libpython3.12.so"
export RANLIB="ranlib -D"
export READELF="readelf"
unset SHELL
export SOURCE_DATE_EPOCH="1703611855"
export STAGING_INCDIR="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/include"
export STAGING_LIBDIR="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/lib"
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/meson-native/1.3.1/recipe-sysroot-native/bin"
export base_libdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/lib"
export base_prefix="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native"
export base_sbindir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/sbin"
export bindir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/bin"
export datadir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/share"
export docdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/share/doc"
export exec_prefix="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr"
export includedir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/include"
export infodir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/share/info"
export libdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/lib"
export libexecdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/libexec"
export localstatedir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/var"
export lt_cv_sys_lib_dlsearch_path_spec="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/lib /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/lib /lib /lib64 /usr/lib /usr/lib64"
export mandir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/share/man"
export nonarch_base_libdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/lib"
export nonarch_libdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/lib"
export prefix="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr"
export sbindir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/sbin"
export servicedir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/srv"
export sharedstatedir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/com"
export sysconfdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/etc"
export systemd_system_unitdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/lib/systemd/system"
export systemd_unitdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/lib/systemd"
export systemd_user_unitdir="/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/lib/systemd/user"

# line: 1, file: autogenerated
do_install() {
    # Export function set
    python_pep517_do_install
	# As per the same issue in the python recipe itself:
	# Unfortunately the following pyc files are non-deterministc due to 'frozenset'
	# being written without strict ordering, even with PYTHONHASHSEED = 0
	# Upstream is discussing ways to solve the issue properly, until then let's
	# just not install the problematic files.
	# More info: http://benno.id.au/blog/2013/01/15/python-determinism
	rm -f /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/image/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/lib/python*/site-packages/mesonbuild/dependencies/__pycache__/mpi.cpython*
    host_system=linux
    host_cpu_family=x86_64
    host_cpu=x86_64
    host_endian=little
    install_templates

    install -d /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/image/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/share/post-relocate-setup.d
    install -m 0755 /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/meson-setup.py /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/image/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/share/post-relocate-setup.d/

    # We need to wrap the real meson with a thin wrapper that substitues native/cross files
    # when running in a direct SDK environment.
    mv /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/image/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/bin/meson /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/image/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/bin/meson.real
    install -m 0755 /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/meson-wrapper /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/image/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/bin/meson
}

# line: 78, file: /home/sim/yocto/scarthgap/poky/meta/recipes-devtools/meson/meson_1.3.1.bb
install_templates() {
    install -d /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/image/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/share/meson

    cat >/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/image/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/share/meson/meson.native.template <<EOF
[binaries]
c = 'gcc'
cpp = 'g++'
ar = 'ar'
nm = 'nm'
strip = 'strip'
readelf = 'readelf'
pkg-config = 'pkg-config-native'

[built-in options]
c_args = ['-isystem@{OECORE_NATIVE_SYSROOT}/usr/include' , '-O2', '-pipe']
c_link_args = ['-L@{OECORE_NATIVE_SYSROOT}/usr/lib', '-L@{OECORE_NATIVE_SYSROOT}/lib', '-Wl,-rpath-link,@{OECORE_NATIVE_SYSROOT}/usr/lib', '-Wl,-rpath-link,@{OECORE_NATIVE_SYSROOT}/lib', '-Wl,--allow-shlib-undefined', '-Wl,--dynamic-linker=@{OECORE_NATIVE_SYSROOT}/lib/ld-linux-x86-64.so.2']
cpp_args = ['-isystem@{OECORE_NATIVE_SYSROOT}/usr/include' , '-O2', '-pipe']
cpp_link_args = ['-L@{OECORE_NATIVE_SYSROOT}/usr/lib', '-L@{OECORE_NATIVE_SYSROOT}/lib', '-Wl,-rpath-link,@{OECORE_NATIVE_SYSROOT}/usr/lib', '-Wl,-rpath-link,@{OECORE_NATIVE_SYSROOT}/lib', '-Wl,--allow-shlib-undefined', '-Wl,--dynamic-linker=@{OECORE_NATIVE_SYSROOT}/lib/ld-linux-x86-64.so.2']
[properties]
sys_root = '@OECORE_NATIVE_SYSROOT'
EOF

    cat >/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/image/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/recipe-sysroot-native/usr/share/meson/meson.cross.template <<EOF
[binaries]
c = @CC
cpp = @CXX
ar = @AR
nm = @NM
strip = @STRIP
pkg-config = 'pkg-config'

[built-in options]
c_args = @CFLAGS
c_link_args = @LDFLAGS
cpp_args = @CPPFLAGS
cpp_link_args = @LDFLAGS

[properties]
needs_exe_wrapper = true
sys_root = @OECORE_TARGET_SYSROOT

[host_machine]
system = '$host_system'
cpu_family = '$host_cpu_family'
cpu = '$host_cpu'
endian = '$host_endian'
EOF
}

# line: 44, file: /home/sim/yocto/scarthgap/poky/meta/classes-recipe/python_pep517.bbclass
python_pep517_do_install() {
    COUNT=$(find /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/dist -name '*.whl' -maxdepth 1 | wc -l)
    if test $COUNT -eq 0; then
        bbfatal No wheels found in /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/dist
    elif test $COUNT -gt 1; then
        bbfatal More than one wheel found in /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/dist, this should not happen
    fi

    nativepython3 -m installer --compile-bytecode=0 --interpreter "/usr/bin/env nativepython3" --destdir=/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/image /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/dist/*.whl
}

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

cd '/home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/meson-native/1.3.1/meson-1.3.1'
do_install

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