#!/bin/sh
###############################################################################
#
#    AntiRight
#    (c) 2004-2007 Jeffrey Bedard
#    antiright@gmail.com
# 
#    This file is part of AntiRight.
#
#     AntiRight is free software; you can redistribute it and/or modify
#     it under the terms of the GNU General Public License as published by
#     the Free Software Foundation; either version 2 of the License, or
#     (at your option) any later version.
#
#     AntiRight is distributed in the hope that it will be useful,
#     but WITHOUT ANY WARRANTY; without even the implied warranty of
#     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#     GNU General Public License for more details.
#
#     You should have received a copy of the GNU General Public License
#     along with AntiRight; if not, write to the Free Software
#     Foundation, Inc., 51 Franklin Street, Fifth Floor, 
#     Boston, MA  02110-1301  USA
#
###############################################################################

VERSION=3.6

USE_DISTCC=NO
USE_CCACHE=NO
USE_BOEHMGC=NO
# Must be enabled.  
USE_GTK=YES

for ARG in $@; do
	if [ "$ARG" = "-d" ]; then
		echo 'Configuring with debug options...'
		CFLAGS="$CFLAGS -g3 -Wall -W -Wno-unused-variable"
		CFLAGS="$CFLAGS -Wno-unused -DDEBUG"
		DEFS="$DEFS -DGC_DEBUG"
	elif [ "$ARG" = "-l" ]; then
		PREFIX=/usr/local/packages/antiright
	elif [ "$ARG" = "-s" ]; then
	        PREFIX=~/opt/stow/antiright
	elif [ "$ARG" = "-S" ]; then
		PREFIX=/usr/local/stow/antiright
	elif [ "$ARG" = "--enable-ccache" ]; then
		USE_CCACHE=YES
	elif [ "$ARG" = "--enable-distcc" ]; then
		USE_DISTCC=YES
	elif [ "$ARG" = "--enable-boehmgc" ]; then
		USE_BOEHMGC=YES
	fi
done

# For development branch
CFLAGS="$CFLAGS -Wall"

DEFS="$DEFS -DPACKAGE_STRING='\"AntiRight_$VERSION\"'"

if [ "$PREFIX" = "" ]; then
	PREFIX=/usr/local
fi
DEFS="$DEFS -DPREFIX='\"$PREFIX\"'"

if [ "$MAKE" = "" ]; then
	MAKE="$(which make)"
fi
if [ "$MAKE" = "" ]; then
	MAKE="$(which gmake)"
fi
if [ "$MAKE" = "" ]; then
	echo Make not found in path, defaulting to /usr/bin/make.
	MAKE=/usr/bin/make
fi

if [ "$CC" = "" ]; then

	CC=cc

	if [ "$USE_DISTCC" = "YES" ]; then
		DISTCC="$(which distcc)"
		if [ "$DISTCC" != "" ]; then
			CC=$DISTCC	
		fi
	fi

	if [ "$USE_CCACHE" = "YES" ]; then
		CCACHE="$(which ccache)"

		if [ "$CCACHE" != "" ]; then
			CC="$CCACHE $CC"		
		fi
	fi
fi

echo "# Local Build Configuration" > config.mk
if [ "$USE_GTK" = "YES" ]; then
	LDFLAGS="$LDFLAGS $(pkg-config --libs gtk+-2.0)"
	DEFS="$DEFS -DUSE_GTK"
	INCLUDE="$INCLUDE $(pkg-config --cflags gtk+-2.0)"
	
	echo -n 'Checking for VTE...  '
	if pkg-config --exists vte; then
		echo found
		DEFS="$DEFS -DHAVE_VTE"
		echo 'VTE=1' >> config.mk
		INCLUDE="$INCLUDE $(pkg-config --cflags vte)"
		# Do not include previous contents to ensure 
		# proper library ordering. Because of this, 
		#non-gtk specific libraries should follow.  
		LDFLAGS="$(pkg-config --libs vte)"
	else
		echo not found
	fi
else # not USE_GTK
	LDFLAGS="$LDFLAGS -L/usr/pkg/lib -L/usr/X11R6/lib -lX11"
fi # USE_GTK


if [ "$USE_BOEHMGC" = "YES" ]; then
	echo -n 'Checking for Boehm-GC... '
	if ( [ -f /usr/pkg/lib/libgc.a ]\
		|| [ -f /usr/lib/libgc.a ]\
		|| [ -f /usr/local/lib/libgc.a ]); then
		echo found
		echo 'LIBGC=1' >> config.mk
		DEFS="$DEFS -DLIBGC"
		LDFLAGS="$LDFLAGS -lgc"
	else
		echo not found 
	fi
fi

INCLUDE="$INCLUDE -I/usr/pkg/include -I/usr/local/include -I/usr/X11R6/include"
LIBDIR="$LIBDIR -L/usr/pkg/lib -L/usr/local/lib -L/usr/X11R6/lib"
ARDATADIR=$PREFIX/share/antiright
DEFS="$DEFS -D_GNU_SOURCE -DARDATADIR='\"$PREFIX/share/antiright\"'"

INSTALL=/usr/bin/install

echo Prefix is $PREFIX
echo "VERSION=$VERSION" >> config.mk
echo "PREFIX=$PREFIX" >> config.mk
echo "INCLUDE=$INCLUDE" >> config.mk
echo "LIBDIR=$LIBDIR" >> config.mk
echo "DEFS=$DEFS" >> config.mk
echo "MAKE=$MAKE" >> config.mk
echo "INSTALL=$INSTALL" >> config.mk
echo "CFLAGS=$CFLAGS" >> config.mk
echo "CC=$CC" >> config.mk
echo "LDFLAGS=$LDFLAGS" >> config.mk

