#!/bin/bash

set -x

CPU=`LANG=en uname -m`
OS=`cat /etc/os-release | sed -n '/^ID=/p' | sed -e 's/"//g' -e 's/ID=//g'`
LIBDIR=/usr/lib/`gcc -print-multiarch`
MULTIARCH=`gcc -print-multiarch`

ISJM7200=0
ISJM9200=0
count=0
while true
do
	JM7200=`lspci -d 0731:7200 | wc -l`
	JM9200=`lspci -d 0731:9200 | wc -l`
	if [ $JM7200 -gt 0 ]; then
		ISJM7200=1
		break;
	elif [ $JM9200 -gt 0 ];then
		ISJM9200=1
		break;
	fi
	count=`expr $count + 1`
	if [ $count -gt 5 ]; then
			break;
	fi
done

function update_libGL_mesa() {
	ldconfig
	LIBGLSO=`find ${LIBDIR} -maxdepth 1 -type f -name 'libGL.so.*'`
	if [ "${LIBGLSO}" != "" ]; then
		rm -rf ${LIBDIR}/libGL.so ${LIBDIR}/libGL.so.1
		ln -sf ${LIBGLSO} ${LIBDIR}/libGL.so.1
		ln -sf ${LIBGLSO} ${LIBDIR}/libGL.so
	fi
}

if [ $ISJM7200 -eq 1 ]; then
	# IS JM7200
	if [ -e /usr/share/X11/xorg.conf.d/10-mwv206.conf.jm7200 ]; then
		cp -f /usr/share/X11/xorg.conf.d/10-mwv206.conf.jm7200 /usr/share/X11/xorg.conf.d/10-mwv206.conf
	fi

	echo "${LIBDIR}/mwv206" > /etc/ld.so.conf.d/${MULTIARCH}-gl.conf
	chmod 0644 /etc/ld.so.conf.d/${MULTIARCH}-gl.conf

	ldconfig

	ln -sf ${LIBDIR}/mwv206/libGL.so.1 ${LIBDIR}/libGL.so.1
	ln -sf ${LIBDIR}/mwv206/libGL.so.1 ${LIBDIR}/libGL.so
elif [ $ISJM9200 -eq 1 ]; then
	# IS JM9200
	if [ -e /usr/share/X11/xorg.conf.d/10-mwv206.conf ]; then
		rm -rf /usr/share/X11/xorg.conf.d/10-mwv206.conf
	fi

	echo "${LIBDIR}/mwv207" > /etc/ld.so.conf.d/${MULTIARCH}-gl.conf
	chmod 0644 /etc/ld.so.conf.d/${MULTIARCH}-gl.conf

	ldconfig

	ln -sf ${LIBDIR}/mwv207/libGL.so.1 ${LIBDIR}/libGL.so.1
	ln -sf ${LIBDIR}/mwv207/libGL.so.1 ${LIBDIR}/libGL.so
else
	if [ -e /usr/share/X11/xorg.conf.d/10-mwv206.conf ]; then
		rm -rf /usr/share/X11/xorg.conf.d/10-mwv206.conf
	fi
	if [ -e /etc/ld.so.conf.d/${MULTIARCH}-gl.conf ]; then
		rm -rf /etc/ld.so.conf.d/${MULTIARCH}-gl.conf
	fi
	
	update_libGL_mesa
fi

exit 0
