#!/bin/sh

prefix=/usr/local
opt=true
dbg=true
use_libpng=true
use_libjpeg=true

gen_module_init()
{
	# collect all src/filewhatever.c files
	modules=`ls src/file*.c 2>/dev/null | sort | sed 's/src\/file//' | sed 's/\.c//'`

	echo "/* this file is generated by $0, do not edit */"
	for m in $modules; do
		echo "int img_register_$m();"
	done

	echo
	echo 'void img_modules_init(void)'
	echo '{'

	for m in $modules; do
		echo "	img_register_$m();"
	done

	echo '}'
}

for arg in "$@"; do
	case "$arg" in
	--prefix=*)
		prefix=`echo $arg | sed 's/--prefix=//'`
		;;

	--disable-png)
		defs="-DNO_PNG $defs"
		use_libpng=false
		;;

	--disable-jpeg)
		defs="-DNO_JPEG $defs"
		use_libjpeg=false
		;;

	--enable-opt)
		opt=true;;
	--disable-opt)
		opt=false;;

	--enable-debug)
		dbg=true;;
	--disable-debug)
		dbg=false;;

	--help)
		echo 'usage: ./configure [options]'
		echo 'options:'
		echo '  --prefix=<path>: installation path (default: /usr/local)'
		echo '  --disable-png: build without PNG support'
		echo '  --disable-jpeg: build without JPEG support'
		echo '  --enable-opt: enable speed optimizations (default)'
		echo '  --disable-opt: disable speed optimizations'
		echo '  --enable-debug: include debugging symbols (default)'
		echo '  --disable-debug: do not include debugging symbols'
		echo 'all invalid options are silently ignored'
		exit 0
		;;
	esac
done

gen_module_init >src/modules.c

echo "# this file is generated by $0, do not edit" >Makefile
echo "PREFIX = $prefix" >>Makefile
if $dbg; then
	echo 'dbg = -g' >>Makefile
fi
if $opt; then
	echo 'opt = -O3' >>Makefile
fi
echo "defs = $defs" >>Makefile
if $use_libpng; then
	echo "ldflags_png = -lpng -lz" >>Makefile
fi
if $use_libjpeg; then
	echo "ldflags_jpeg = -ljpeg" >>Makefile
fi
echo "# -----------------------------------------" >>Makefile
cat Makefile.in >>Makefile

echo 'configuration completed, type make (or gmake) to build.'
