# Mini configure script
# 1-10-2004

echo

MT_V="0.8.7"
MT_DATE="2007-5-7"

MT_VERSION="rgbPaint $MT_V"
MT_LANG=NO
MT_MAN=NO
MT_LANG_DEST=/usr/share/locale
MT_PO_DEST=$MT_LANG_DEST
MT_MAN_DEST=/usr/local/man/man1
LIN_BIN_INSTALL=/usr/local/bin
WIN_BIN_INSTALL="/c/Program Files/mtPaint/bin"
BIN_INSTALL=
MAKE_DIRS=src

AS_NEEDED=

GTK_FILE=_conf.txt

CFLAG=
MARCH=
OPTS=YES
DEBUG=NO
HELP=1

if [ "$OSTYPE" == "msys" ]
then
	OS="MinGW/MSYS"
else
	OS="GNU/Linux"
fi


for A in "$@"
do
	case "$A" in
		"flush" )	echo Clearing out directory to original state
				echo
				make clean
				echo
				rm _conf.txt
				rm -rf slack
				rm -f *.tgz
				exit;;
		"slow" )	OPTS=NO;;
		"asneeded" )	AS_NEEDED=-Wl,--as-needed;;
		"debug" )	DEBUG=YES;;
		"win" )		OS="MinGW/MSYS"
				GTK=2;;
		"intl" )	MT_LANG=YES;;
		"merge" )	xgettext src/*.c src/*.h --keyword=_ -o po/rgbpaint.pot
				cd po
				NEW_DIR=trans_
				mkdir $NEW_DIR`date +%d-%m-%Y-%H-%M-%S`
				ls *.po | while read file
				do
					echo New file = $file-a
					mv $file $file-a
					msgmerge -N $file-a rgbpaint.pot > $file
					mv $file-* $NEW_DIR*
				done
				mv $NEW_DIR* ../../old_trans
				exit;;
		"newpo" )	xgettext src/*.c src/*.h --keyword=_ -o po/rgbpaint.pot
				exit;;
		"man" )		MT_MAN=YES;;
		"pod" )		MT_POD=YES;;
		"--help" )	HELP=0;;
		"--bindir="* )	LIN_BIN_INSTALL="`echo "$A" | sed -e "s/--bindir=//"`"
				WIN_BIN_INSTALL=$LIN_BIN_INSTALL;;
		"--locale="* )	MT_LANG_DEST="`echo "$A" | sed -e "s/--locale=//"`"
				MT_PO_DEST=$MT_LANG_DEST;;
		"--mandir="* )	MT_MAN_DEST="`echo "$A" | sed -e "s/--mandir=//"`";;
		"cflags" )	CFLAG=${CFLAGS};;
		"--cpu="* )	MARCH='-march='"`echo "$A" | sed -e "s/--cpu=//"`";;
		"386" )		MARCH='-march=i386';;
		"486" )		MARCH='-march=i486';;
		"586" )		MARCH='-march=i586';;
		"686" )		MARCH='-march=i686';;
		"--prefix="* )	MT_PREFIX="`echo "$A" | sed -e "s/--prefix=//"`"
				WIN_BIN_INSTALL="$MT_PREFIX/bin"
				LIN_BIN_INSTALL="$MT_PREFIX/bin"
				MT_LANG_DEST="$MT_PREFIX/share/locale"
				MT_PO_DEST=$MT_LANG_DEST
				MT_MAN_DEST="$MT_PREFIX/man/man1";;
		"--po="* )	MT_PO_DEST="`echo "$A" | sed -e "s/--po=//"`";;
		"build" )	./configure flush
				rm -rf ../paint.activity
				mkdir ../paint.activity
				cp -ar activity/* ../paint.activity/
				./configure --locale=`pwd`/../paint.activity/bin/locale --bindir=`pwd`/../paint.activity/bin --po=./bin/locale intl asneeded
				make
				make install
				./configure flush
				cd ..
				tar cjvf rgbpaint-$MT_V.tar.bz2 rgbpaint-$MT_V/
				tar cjvf paint.activity-$MT_V.tar.bz2 paint.activity/
#				rm -rf paint.activity
				exit;;
	esac
done


if [ "$HELP" == 0 ]
then
	echo "Usage: ./configure [OPTION] ... "
	echo
	echo "Options:"
	echo
	echo "win ............. Configure for Windows MinGW / MSYS"
	echo
	echo "cflags .......... Use CFLAGS environment variable"
	echo "--cpu= .......... Target a specific CPU, e.g. athlon-xp, x86-64"
	echo "686 ............. Target 686 machines"
	echo "586 ............. Target 586 machines"
	echo "486 ............. Target 486 machines"
	echo "386 ............. Target 386 machines"
	echo "slow ............ Don't use compiler optimizations"
	echo
	echo "flush ........... Flush directories to initial state"
	echo "debug ........... Include debugging info in binary"
	echo "--bindir=DIR .... DIR = location of bin file to install, /usr/local/bin by default"
	echo
	echo "intl ............ Use internationalized po files"
	echo "newpo ........... Create ./po/rgbpaint.pot"
	echo "merge ........... Update all po files with new strings - developers only"
	echo "--locale=DIR .... DIR = location of locale files to install, /usr/share/locale by default"
	echo
	echo "man ............. Install the man page"
	echo "pod ............. Compile new man page - see ./doc/README for details"
	echo "--mandir=DIR .... DIR = location of man page to install, /usr/local/man/man1 by default"
	echo
	echo "--prefix=DIR .... DIR = prefix location of all installs, e.g. /usr or /usr/local"
	echo
	echo "Default settings: GNU/Linux system, O2 optimizations, English only version"
else

	echo CC = gcc -Wall > $GTK_FILE
	echo "MT_VERSION=$MT_VERSION" >> $GTK_FILE
	echo "MT_DATE=$MT_DATE" >> $GTK_FILE

	if [ "$OS" == "GNU/Linux" ]
	then
		BIN_INSTALL=$LIN_BIN_INSTALL
		GTK_INCLUDE=`pkg-config gtk+-2.0 --cflags`
		GTK_LIB=`pkg-config gtk+-2.0 --libs`
	else
		BIN_INSTALL=$WIN_BIN_INSTALL
		MT_LANG_DEST=locale
		MT_PO_DEST=locale
		GTK_INCLUDE="-I/include/gtk-2.0 -I/lib/gtk-2.0/include -I/include/atk-1.0 -I/include/pango-1.0 -I/usr/include/freetype2 -I/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/include -mms-bitfields"
		GTK_LIB="-L/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -lpango-1.0 -lglib-2.0 -lgobject-2.0 -lgdk_pixbuf-2.0 -lm -mwindows"
	fi

	L_EX=$AS_NEEDED
	I_EX=

	if [ "$DEBUG" == NO ]
	then
		GTK_LIB="$GTK_LIB -s"
	fi


	if [ "$MT_LANG" == YES ]
	then
		I_EX="$I_EX -DU_NLS -DMT_LANG_DEST=\"\\\"$MT_PO_DEST\"\\\""
		MAKE_DIRS="$MAKE_DIRS po"
		if [ "$OS" == "MinGW/MSYS" ]
		then
			L_EX="$L_EX -lintl"
			echo "MT_LANG_DEST=\"$BIN_INSTALL/$MT_LANG_DEST\"" >> $GTK_FILE
		else
			echo "MT_LANG_DEST=\"$MT_LANG_DEST\"" >> $GTK_FILE
		fi
	fi
	if [ "$MT_MAN" == YES ]
	then
		MAKE_DIRS="$MAKE_DIRS doc"
		echo "MT_MAN_DEST=\"$MT_MAN_DEST\"" >> $GTK_FILE
	fi

	I_EX="$I_EX -DVERSION=\"\\\"$MT_VERSION\"\\\""
	GTK_INCLUDE="$GTK_INCLUDE $I_EX"
	echo "LDFLAG = $L_EX $GTK_LIB" >> $GTK_FILE

	if [ "$CFLAG" ]
	then
		echo "CFLAG = $CFLAG $GTK_INCLUDE" >> $GTK_FILE
	else
		if [ "$OPTS" == "YES" ]
		then
			echo "CFLAG = -O2 $MARCH $GTK_INCLUDE" >> $GTK_FILE
		else
			echo "CFLAG = $MARCH $GTK_INCLUDE" >> $GTK_FILE
		fi
	fi

	echo "subdirs = $MAKE_DIRS" >> $GTK_FILE
	echo "BIN_INSTALL=\"$BIN_INSTALL\"" >> $GTK_FILE


	if [ "$MT_POD" == "YES" ]
	then
		cd doc
		make pod
		cd ..
	fi

	if [ "$OSTYPE" == "msys" ]
	then
		rm ____3742.tmp
	fi

	echo
	echo
	echo --------------------------
	echo $MT_VERSION configuration
	echo --------------------------
	echo
	echo "System              $OS"
	echo
if [ "$CFLAG" ]
then
	echo "CFLAGS              $CFLAG"
else
if [ "$MARCH" ]
then
	echo "MARCH target        $MARCH"
	echo
fi
	echo "Optimizations       $OPTS"
fi
	echo
	echo "Debug info          $DEBUG"
	echo
	echo "Binary install      $BIN_INSTALL"
	echo
	echo "Internationalized   $MT_LANG"
	echo
if [ "$MT_LANG" == YES ]
then
	echo "Locale install      $MT_LANG_DEST"
	echo
	echo "Locale program      $MT_PO_DEST"
	echo
fi
	echo "Install man page    $MT_MAN"
	echo
if [ "$MT_MAN" == YES ]
then
	echo "Man page install    $MT_MAN_DEST"
	echo
fi


fi

echo
