#! /bin/sh
#
# configure
#
# $Id: //poco/Main/dist/configure#8 $
#
# Configuration script for POCO.
#
# Usage:
# configure [<options>...]
#
# Options:
#   --config=<config_name>   
#     Use the given build configuration
#     See $POCO_BASE/build/config for possible configs
#
#   --prefix=<install_prefix>
#     Use the given install directory for make install.
#     Default is /usr/local
#
#   --no-tests
#     Do not build testsuites.
#
#   --no-samples
#     Do not build samples.
#
#   --no-wstring
#     Compile with -DPOCO_NO_WSTRING.
#
#   --no-fpenvironment
#     Compile with -DPOCO_NO_FPENVIRONMENT
#

# save cwd
build=`pwd`
# get directory where we are located
cd `dirname $0`
base=`pwd`
cd $build

tests="tests"
samples="samples"
flags=""
# parse arguments
while [ "$1" != "" ] ; do
	val=`expr $1 : '--config=\(.*\)'`
	if [ "$val" != "" ] ; then
		config=$val;
	fi
	
	val=`expr $1 : '--prefix=\(.*\)'`
	if [ "$val" != "" ] ; then
		prefix=$val
	fi
	
	if [ "$1" = "--no-samples" ] ; then
		samples=""
	fi
	
	if [ "$1" = "--no-tests" ] ; then
		tests=""
	fi
	
	if [ "$1" = "--no-wstring" ] ; then
		flags="$flags -DPOCO_NO_WSTRING"
	fi

	if [ "$1" = "--no-fpenvironment" ] ; then
		flags="$flags -DPOCO_NO_FPENVIRONMENT"
	fi
	
	shift
done

if [ "$config" = "" ] ; then
	config=`uname`
	cyg=`expr $config : '\(CYGWIN\).*'`
	if [ "$cyg" = "CYGWIN" ] ; then
		config=CYGWIN
	fi
fi

if [ ! -f "$base/build/config/$config" ] ; then
	echo "Unknown configuration: $config"
	echo "Please use the --config option to specify another build configuration"
	exit 1
fi

if [ "$prefix" = "" ] ; then
	prefix=/usr/local
fi

# copy Makefile to build dir
if [ "$base" != "$build" ] ; then
	cp $base/Makefile $build
fi

# create config.make
echo '# config.make generated by configure script' >$build/config.make
echo "POCO_CONFIG = $config" >>$build/config.make
echo "POCO_BASE = $base" >>$build/config.make
echo "POCO_BUILD = $build" >>$build/config.make
echo "POCO_PREFIX = $prefix" >>$build/config.make
echo "POCO_FLAGS = $flags" >>$build/config.make

echo "export POCO_CONFIG" >>$build/config.make
echo "export POCO_BASE" >>$build/config.make
echo "export POCO_BUILD" >>$build/config.make
echo "export POCO_PREFIX" >>$build/config.make
echo "export POCO_FLAGS" >>$build/config.make

echo ".PHONY: poco" >>$build/config.make
echo "poco: libexecs $tests $samples" >>$build/config.make

echo "Configured for $config"
