#!/bin/bash
#install prebuilt wacom X driver and associated utilities

# Make sure the script is running under root
if [ "$(id -u)" != "0" ]; then
   echo "This installer must be run as root" 1>&2
   exit
fi

libp="lib"
arch=`uname -p`
if [ `echo $arch | grep -c "86"` == 0 ]; then
	arch=`uname -m`
	if [ `echo $arch | grep -c "86"` == 0 ]; then
		arch=`uname -i`
		if [ `echo $arch | grep -c "86"` == 0 ]; then
			echo "Error:  Failed to get system architecture"
			echo "Reason: uname, with options -i, -p, and -m, doesn't work properly"
			exit
		fi
	fi
fi

echo "Installing Wacom man page......"
test -z "/usr/share/man/man4" || mkdir -p -- "/usr/share/man/man4"
/usr/bin/install -c -m 644 'wacom.4x.gz' '/usr/share/man/man4/wacom.4x.gz'
echo "Installed under /usr/share/man/man4"

if [ `echo $arch | grep -c "64"` != 0 ]; then
	cd 64
	libp="lib64"
else 
	cd 32
fi

echo 
echo "Installing wacom_drv...."
drv=""
path=/usr/X11R6/$libp/modules/input
path1=/usr/$libp/xorg/modules/input
if [ -d $path ]; then 
	if [ -f $path/wacom_drv.so ]; then
		drv="wacom_drv.so"
	elif [ -f $path/wacom_drv.o ]; then
		drv="wacom_drv.o"
	fi
elif [ -d $path1 ]; then 
	if [ -f $path1/wacom_drv.so ]; then
		path=$path1
		drv="wacom_drv.so"
	elif [ -f $path1/wacom_drv.o ]; then
		path=$path1
		drv="wacom_drv.o"
	fi
fi	
if [ -n "$drv" ]; then
	/usr/bin/install -c -m 644 $drv $path/$drv
elif [ `echo $arch | grep -c "64"` != 0 ]; then
	path=/usr/X11R6/lib/modules/input
	path1=/usr/lib/xorg/modules/input
	if [ -d $path ]; then 
		if [ -f $path/wacom_drv.so ]; then
			drv="wacom_drv.so"
		elif [ -f $path/wacom_drv.o ]; then
			drv="wacom_drv.o"
		fi
	elif [ -d $path1 ]; then 
		if [ -f $path1/wacom_drv.so ]; then
			path=$path1
			drv="wacom_drv.so"
		elif [ -f $path1/wacom_drv.o ]; then
			path=$path1
			drv="wacom_drv.o"
		fi
	fi
fi
if [ -n "$drv" ]; then
	/usr/bin/install -c -m 644 $drv $path/$drv
	echo "$drv installed under $path"
	echo
	echo "Installing utility programs (wacdump, xidump, xsetwacom....)"
	test -z "/usr/local/lib" || mkdir -p -- "/usr/local/lib"
	/usr/bin/install -c  'libwacomcfg.la' '/usr/local/lib/libwacomcfg.la'
	/usr/bin/install -c .libs/libwacomcfg.so.0.0.1 /usr/local/lib/libwacomcfg.so.0.0.1
	(cd /usr/local/lib && { ln -s -f libwacomcfg.so.0.0.1 libwacomcfg.so.0 || { rm -f libwacomcfg.so.0 && ln -s libwacomcfg.so.0.0.1 libwacomcfg.so.0; }; })
	(cd /usr/local/lib && { ln -s -f libwacomcfg.so.0.0.1 libwacomcfg.so || { rm -f libwacomcfg.so && ln -s libwacomcfg.so.0.0.1 libwacomcfg.so; }; })
	/usr/bin/install -c .libs/libwacomcfg.lai /usr/local/lib/libwacomcfg.la
	/usr/bin/install -c .libs/libwacomcfg.a /usr/local/lib/libwacomcfg.a
	chmod 644 /usr/local/lib/libwacomcfg.a
	ranlib /usr/local/lib/libwacomcfg.a
	PATH="$PATH:/sbin" ldconfig -n /usr/local/lib
	/usr/bin/install -c wacdump /usr/local/bin/wacdump
	/usr/bin/install -c xidump /usr/local/bin/xidump
	/usr/bin/install -c .libs/xsetwacom /usr/local/bin/xsetwacom
	echo "Installed under /usr/local/bin"
	test -z "/usr/local/include/wacomcfg" || mkdir -p -- "/usr/local/include/wacomcfg"
	/usr/bin/install -c -m 644 'wacomcfg.h' '/usr/local/include/wacomcfg/wacomcfg.h'
	echo
	echo "Installing wacomcpl......"
	wout=`which wish`
	if [ `echo $wout | grep -c wish` = 0 ]; then
		echo
		echo "Warning: wacomcpl requires tcl/tk being installed"
		echo
		yum install tcl;yum install tk
	fi
	wout=`which wish`
	if [ `echo $wout | grep -c wish` = 1 ]; then
		test -z "/usr/local/bin" || mkdir -p -- "/usr/local/bin"
		/usr/bin/install -c 'wacomcpl' '/usr/local/bin/wacomcpl'
		/usr/bin/install -c 'wacomcpl-exec' '/usr/local/bin/wacomcpl-exec'
		echo "Installed under /usr/local/bin"
		test -z "/usr/local/lib/TkXInput" || mkdir -p -- "/usr/local/lib/TkXInput"
		/usr/bin/install -c -m 644 'pkgIndex.tcl' '/usr/local/lib/TkXInput/pkgIndex.tcl'
		/usr/bin/install -c  'libwacomxi.la' '/usr/local/lib/TkXInput/libwacomxi.la'
		/usr/bin/install -c .libs/libwacomxi.so.0.0.0 /usr/local/lib/TkXInput/libwacomxi.so.0.0.0
		(cd /usr/local/lib/TkXInput && { ln -s -f  libwacomxi.so.0.0.0 libwacomxi.so.0 || { rm -f libwacomxi.so.0 && ln -s  libwacomxi.so.0.0.0 libwacomxi.so.0; }; })
		(cd /usr/local/lib/TkXInput && { ln -s -f  libwacomxi.so.0.0.0 libwacomxi.so || { rm -f libwacomxi.so && ln -s libwacomxi.so.0.0.0 libwacomxi.so; }; })
		/usr/bin/install -c .libs/libwacomxi.lai /usr/local/lib/TkXInput/libwacomxi.la
		/usr/bin/install -c .libs/libwacomxi.a /usr/local/lib/TkXInput/libwacomxi.a
		chmod 644 /usr/local/lib/TkXInput/libwacomxi.a
		ranlib /usr/local/lib/TkXInput/libwacomxi.a
		PATH="$PATH:/sbin" ldconfig -n /usr/local/lib/TkXInput
		echo
	else
		echo
		echo "Please install tcl/tk then run this script again"
	fi
else
	echo "WARNING: Can not install Wacom X driver (wacom_drv)"
	echo "since the proper directory has not been found" 
fi
echo 
echo "You need to compile and install wacom.(k)o manually if your kernel is out of date."
echo
echo "After adding your Wacom tools into /etc/X11/xorg.conf, please restart X server or simply reboot your system to run the new Wacom X driver."

