#! /bin/sh
# configure script for Pdlzip - Data compressor based on the LZMA algorithm
# Copyright (C) 2010, 2011 Antonio Diaz Diaz.
#
# This configure script is free software: you have unlimited permission
# to copy, distribute and modify it.
#
# Date of this version: 2011-01-05

args=
no_create=
pkgname=pdlzip
pkgversion=1.2
progname=pdlzip
srctrigger=pdlzip.h

# clear some things potentially inherited from environment.
LC_ALL=C
export LC_ALL
srcdir=
prefix=/usr/local
exec_prefix='$(prefix)'
bindir='$(exec_prefix)/bin'
datadir='$(prefix)/share'
infodir='$(datadir)/info'
mandir='$(datadir)/man'
sysconfdir='$(prefix)/etc'
CC=
CPPFLAGS=
CFLAGS='-Wall -W -O2'
LDFLAGS=

# Loop over all args
while [ -n "$1" ] ; do

	# Get the first arg, and shuffle
	option=$1
	shift

	# Add the argument quoted to args
	args="${args} \"${option}\""

	# Split out the argument for options that take them
	case ${option} in
	*=*) optarg=`echo ${option} | sed -e 's,^[^=]*=,,'` ;;
	esac

	# Process the options
	case ${option} in
	--help | --he* | -h)
		echo "Usage: configure [options]"
		echo
		echo "Options: [defaults in brackets]"
		echo "  -h, --help            display this help and exit"
		echo "  -V, --version         output version information and exit"
		echo "  --srcdir=DIR          find the sources in DIR [. or ..]"
		echo "  --prefix=DIR          install into DIR [${prefix}]"
		echo "  --exec-prefix=DIR     base directory for arch-dependent files [${exec_prefix}]"
		echo "  --bindir=DIR          user executables directory [${bindir}]"
		echo "  --datadir=DIR         base directory for doc and data [${datadir}]"
		echo "  --infodir=DIR         info files directory [${infodir}]"
		echo "  --mandir=DIR          man pages directory [${mandir}]"
		echo "  --sysconfdir=DIR      read-only single-machine data directory [${sysconfdir}]"
		echo "  CC=COMPILER           C compiler to use [gcc]"
		echo "  CPPFLAGS=OPTIONS      command line options for the preprocessor [${CPPFLAGS}]"
		echo "  CFLAGS=OPTIONS        command line options for the C compiler [${CFLAGS}]"
		echo "  LDFLAGS=OPTIONS       command line options for the linker [${LDFLAGS}]"
		echo
		exit 0 ;;
	--version | --ve* | -V)
		echo "Configure script for ${pkgname} version ${pkgversion}"
		exit 0 ;;
	--srcdir* | --sr*)
		srcdir=`echo ${optarg} | sed -e 's,/$,,'` ;;
	--prefix* | --pr*)
		prefix=`echo ${optarg} | sed -e 's,/$,,'` ;;
	--exec-prefix* | --ex*)
		exec_prefix=`echo ${optarg} | sed -e 's,/$,,'` ;;
	--bindir* | --bi*)
		bindir=`echo ${optarg} | sed -e 's,/$,,'` ;;
	--datadir* | --da*)
		datadir=`echo ${optarg} | sed -e 's,/$,,'` ;;
	--infodir* | --inf*)
		infodir=`echo ${optarg} | sed -e 's,/$,,'` ;;
	--mandir* | --ma*)
		mandir=`echo ${optarg} | sed -e 's,/$,,'` ;;
	--sysconfdir* | --sy*)
		sysconfdir=`echo ${optarg} | sed -e 's,/$,,'` ;;
	--no-create | --no-c*)
		no_create=yes ;;

	CC=*)       CC=${optarg} ;;
	CPPFLAGS=*) CPPFLAGS=${optarg} ;;
	CFLAGS=*)   CFLAGS=${optarg} ;;
	LDFLAGS=*)  LDFLAGS=${optarg} ;;

	--* | *=* | *-*-*) ;;
	*)
		echo "configure: Unrecognized option: \"${option}\"; use --help for usage." 1>&2
		exit 1 ;;
	esac
done

# Find the source files, if location was not specified.
srcdirtext=
if [ -z "${srcdir}" ] ; then
	srcdirtext="or . or .." ; srcdir=.
	if [ ! -r ${srcdir}/${srctrigger} ] ; then srcdir=.. ; fi
	if [ ! -r ${srcdir}/${srctrigger} ] ; then
		## the sed command below emulates the dirname command
		srcdir=`echo $0 | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
	fi
fi

if [ ! -r ${srcdir}/${srctrigger} ] ; then
	exec 1>&2
	echo
	echo "configure: Can't find sources in ${srcdir} ${srcdirtext}"
	echo "configure: (At least ${srctrigger} is missing)."
	exit 1
fi

# Set srcdir to . if that's what it is.
if [ "`pwd`" = "`cd ${srcdir} ; pwd`" ] ; then srcdir=. ; fi

# checking whether we are using GNU C.
if [ -z "${CC}" ] ; then		# Let the user override the test.
	if [ -x /bin/gcc ] ||
	   [ -x /usr/bin/gcc ] ||
	   [ -x /usr/local/bin/gcc ] ; then
		CC="gcc"
	else
		CC="cc"
	fi
fi

echo
if [ -z "${no_create}" ] ; then
	echo "creating config.status"
	rm -f config.status
	cat > config.status << EOF
#! /bin/sh
# This file was generated automatically by configure. Do not edit.
# Run this file to recreate the current configuration.
#
# This script is free software: you have unlimited permission
# to copy, distribute and modify it.

exec /bin/sh $0 ${args} --no-create
EOF
	chmod +x config.status
fi

echo "creating Makefile"
echo "VPATH = ${srcdir}"
echo "prefix = ${prefix}"
echo "exec_prefix = ${exec_prefix}"
echo "bindir = ${bindir}"
echo "datadir = ${datadir}"
echo "infodir = ${infodir}"
echo "mandir = ${mandir}"
echo "sysconfdir = ${sysconfdir}"
echo "CC = ${CC}"
echo "CPPFLAGS = ${CPPFLAGS}"
echo "CFLAGS = ${CFLAGS}"
echo "LDFLAGS = ${LDFLAGS}"
rm -f Makefile
cat > Makefile << EOF
# Makefile for Pdlzip - Data compressor based on the LZMA algorithm
# Copyright (C) 2010, 2011 Antonio Diaz Diaz.
# This file was generated automatically by configure. Do not edit.
#
# This Makefile is free software: you have unlimited permission
# to copy, distribute and modify it.

pkgname = ${pkgname}
pkgversion = ${pkgversion}
progname = ${progname}
VPATH = ${srcdir}
prefix = ${prefix}
exec_prefix = ${exec_prefix}
bindir = ${bindir}
datadir = ${datadir}
infodir = ${infodir}
mandir = ${mandir}
sysconfdir = ${sysconfdir}
CC = ${CC}
CPPFLAGS = ${CPPFLAGS}
CFLAGS = ${CFLAGS}
LDFLAGS = ${LDFLAGS}
EOF
cat ${srcdir}/Makefile.in >> Makefile

echo "OK. Now you can run make."