#!/bin/sh

. /usr/share/odroid-base/library.sh

LIBPATH="/usr/lib/aarch64-linux-gnu"

case "$(odroid_model_simple)" in
	odroidn2*)
		LIBMALI=$(find ${LIBPATH} -maxdepth 1 -name lib[mM]ali.so* | sort -rV | head -1)
		;;
	*)
		LIBMALI=$(find ${LIBPATH} -maxdepth 1 -name lib[mM]ali.so | sort -rV | head -1)
		;;
esac

LIBS="libEGL.so.1 libGLESv1_CM.so.1 libGLESv2.so.2"
grep gbm ${LIBMALI} >/dev/null && LIBS="${LIBS} libgbm.so.1"
grep wayland ${LIBMALI} >/dev/null && LIBWAYLAND="libwayland-egl.so.1"

GPUINFO=$(find /sys/devices/platform -name gpuinfo)

do_install()
{
	umount $2 2>/dev/null || true
	[ -f $2 ] && mount --bind $1 $2 2>/dev/null
}

if grep -q -e "Mali-G52.*0x7402" $GPUINFO; then
	# ODROID-M1S
	for lib in $LIBS $LIBWAYLAND; do
		do_install $LIBMALI $LIBPATH/$lib
		do_install $LIBMALI $LIBPATH/mali/$lib
	done
elif grep -q -e "Mali-G610.*0xA867" $GPUINFO; then
	# ODROID-M2
	for lib in $LIBS; do
		do_install $LIBMALI $LIBPATH/$lib
	done
	for lib in $LIBWAYLAND; do
		do_install $LIBMALI $LIBPATH/$lib
		do_install $LIBMALI $LIBPATH/mali/$lib
	done
	do_install $LIBMALI $LIBPATH/mali/libEGL.so.1
elif grep -q -e "Mali-G52.*0x0702" $GPUINFO; then
	# ODROID-N2
	for lib in $LIBS; do
		do_install $LIBPATH/mali/$lib $LIBPATH/$lib
	done
elif grep -q -e "Mali-G310.*0xAC74" $GPUINFO; then
	# ODROID-C5
	for lib in $LIBS $LIBWAYLAND; do
		do_install $LIBMALI $LIBPATH/$lib
	done
fi
