#!/bin/bash

name=$(basename "${0}")
if [ "${name#*-}" != "${name}" ]; then
	suffix="-${name#*-}"
	name="${name%-*}"
fi

case "${name}" in
python) dep="host-system-python / host-system-python3" ;;
python2*) dep=host-system-python ;;
python3*) dep=host-system-python3 ;;
esac

case " ${pkg_build_deps} " in
*" ${dep} "*) ;;
*" host-system-python "*) name=python2 ;;
*" host-system-python3 "*) name=python3 ;;
*)
	case " ${pkg_build_deps_all} " in
	*" ${dep} "*) ;;
	*" host-system-python "*) name=python2 ;;
	*" host-system-python3 "*) name=python3 ;;
	*" host-python3 "*) host=1;;
	*)
		if [ -n "${pkg_stamp}" ]; then
			echo -e "\n'${pkg_stamp%.*}' must depend on '${dep}' for '${name}'!\n" >&2
			exit 1
		fi
		;;
	esac
	;;
esac

name="${name}${suffix}"
skip="$(dirname "${0}")/${name}"

if [ "${name}" = "python3" -a -z "${host}" -a -z "${HOST_SYSTEM_PYTHON3_SETUP}" ]; then
	# use the venv
	name="$(dirname "$(dirname "$0")")/system-python3/bin/python3"
fi

for path in $(type -a -P ${name}); do
	if [ "${path}" = "${skip}" ]; then
		continue
	fi
	if [[ -n "${host}" && ! ( "${path}" =~ "sysroot-host/usr/bin/python3." ) ]]; then
		echo -e "\n'${pkg_stamp%.*}' must depend on '${dep}' for '${name}'!\n" >&2
		exit 1
	fi
	exec "${path}" "${@}"
done

echo "'${name}' not found!" >&2
exit 1
