#!/bin/sh
# This script was automatically generated by ACR v0.4
# @author: pancake <pancake@phreaker.net>
# @url: http://www.nopcode.org/?t=acr
#

do_remove() {
  rm -f ${ACR_RMFILES}
}
control_c() {
  printf "\n\n^C control-c : script execution interrupted.\n"
  do_remove
  exit 1
}
trap control_c 2
FLAG_GMP=1
FLAG_PCAP=1
ENDSCRIPT=""
split_host() {
	DOL="$"
	while : ; do
	ENVWORDS="${ENVWORDS} $1_CPU $1_OS"
	STR=`eval "echo ${DOL}$1"`
	SPLIT_CPU="`echo "$STR" | awk -F - '{ print $1 }'`"
	SPLIT_OS="`echo "$STR" | awk -F - '{ print $3 }'`"
	eval "$1_CPU=\"$SPLIT_CPU\""
	eval "$1_OS=\"$SPLIT_OS\""
	shift
	if [ -z "$1" ]; then break; fi
	done
}

guess_os() {
	CPU="`uname -m|sed -e 's, ,,g'`"
	OS="`uname -s|awk '{print(tolower($0))}'`"
	echo "${CPU}-unknown-${OS}"
}

SEARCHPATH="/usr /usr/local /usr/pkg /sw"

test -z "${PREFIX}" && PREFIX=/usr/local
CROSSBUILD=0
BUILD=`guess_os`
HOST="${BUILD}"
TARGET="${HOST}"
SYSCONFDIR=""

create_environ() {
	test -z "${EPREFIX}"    && EPREFIX="${PREFIX}"
	test -z "${SPREFIX}"    && SPREFIX="${PREFIX}"
	test -z "${BINDIR}"     && BINDIR="${SPREFIX}/bin"
	test -z "${SBINDIR}"    && SBINDIR="${SPREFIX}/sbin"
	test -z "${SYSCONFDIR}" && SYSCONFDIR="${SPREFIX}/etc"
	test -z "${LIBDIR}"     && LIBDIR="${SPREFIX}/lib"
	test -z "${LIBEXECDIR}" && LIBEXECDIR="${SPREFIX}/libexec"
	test -z "${DATADIR}"    && DATADIR="${SPREFIX}/share"
	test -z "${INCLUDEDIR}" && INCLUDEDIR="${SPREFIX}/include"
	test -z "${INFODIR}"    && INFODIR="${SPREFIX}/info"
	test -z "${MANDIR}"     && MANDIR="${SPREFIX}/man"
	test -z "${LOCALSTATEDIR}"  && LOCALSTATEDIR="${SPREFIX}/var"
	test -z "${INSTALL}"    && INSTALL="/usr/bin/install"
	test -z "${INSTALL_DIR}" && INSTALL_DIR="${INSTALL} -d"
	test -z "${INSTALL_DATA}" && INSTALL_DATA="${INSTALL} -m 644"
	test -z "${INSTALL_SCRIPT}" && INSTALL_SCRIPT="${INSTALL}"
	test -z "${INSTALL_PROGRAM}" && INSTALL_PROGRAM="${INSTALL} -s"
	test -z "${INSTALL_MAN}" && INSTALL_MAN="${INSTALL} -m 444"
	test -z "${INSTALL_LIB}" && INSTALL_LIB="${INSTALL}"

 PKGNAME='mesure' ; VERSION='0.5' ; CONTACT_MAIL="pancake@phreaker.net" ; CONTACT_NAME="pancake" ; CONTACT="pancake <pancake@phreaker.net>" ;
}
                
                
show_usage() {
cat <<EOF2
'configure' configures mesure-0.5 to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
  -V, --version           display version information and exit
  -r, --report            show what libs/programs require to work

Installation directories:
  --prefix=PREFIX        install arch-independent files in PREFIX [/usr/local]
  --exec-prefix=EPREFIX  install arch-dependent files in EPREFIX [PREFIX]
  --sandbox=SPREFIX      sandbox prefix directory: SPREFIX [PREFIX]

Fine tuning of the installation directories:
  --bindir=DIR           user executables [EPREFIX/bin]
  --sbindir=DIR          system admin executables [EPREFIX/sbin]
  --libexecdir=DIR       program executables [EPREFIX/libexec]
  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
  --libdir=DIR           object code libraries [EPREFIX/lib]
  --includedir=DIR       C header files [PREFIX/include]
  --infodir=DIR          info documentation [PREFIX/info]
  --mandir=DIR           man documentation [PREFIX/man]

System types:
  --build=BUILD          configure for building on BUILD [guessed]
  --host=HOST            cross-compile to build programs to run on HOST [BUILD]
  --target=TARGET        configure for building compilers for TARGET [HOST]
EOF2

printf "\nOptional Features:
  --without-gmp          Disables the use of the big numbers library. 
  --without-pcap         Disables the sniffer support \n"
printf "\nSome influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
              headers in a nonstandard directory <include dir>
  CPP         C preprocessor\n"
printf "\nReport bugs to: pancake <pancake@phreaker.net>"
echo ""
exit 0
}

take_environ() {
	if [ -z "${SH}" ]; then SH=sh ; fi
if [ -z "${CC}" ]; then CC=gcc ; fi
if [ -z "${CPP}" ]; then CPP=cpp ; fi
	if [ -z "${PREFIX}" ]; then PREFIX="/usr/local/" ; fi
}
                
show_version() {
	echo "mesure configure 0.5"
	echo "generated by ACR 0.4 : Auto Conf Replacement."
	echo ""
	echo "The 'Free Software Foundation' message is only for autodetection."
	echo "Originally written by pancake <pancake@phreaker.net>."
	exit 0
}

parse_options() {
	flag=`echo $1| awk -F = '{ print $1 }'`
	value=`echo $1| awk -F = '{ print $2 }'`
	#if [ -z "$value" ]; then value=0; fi # XXX

	case $flag in
	"-h"|"--help"|"--hel"|"--h"|"--he"|"-help")
		show_usage ; ;;
	"-V"|"-version"|"--version")
		show_version ; ;;
	"-r"|"--r"|"--report")
echo "PKGNAME:   mesure"
echo "VERSION:   0.5"
echo "LANGS:     c"
echo "OPTIONAL:  libgmp libpcap"
echo "FLAGS:     --without-gmp --without-pcap"
		exit 0
		;;
	"--cache-file") 
		# ignored: acr doesnt needs cache
		;;
	"--build")
		BUILD="$value"; ;;
	"--host")
		CROSSBUILD=1
		HOST="$value"; ;;
	"--target")
		TARGET="$value"; ;;
	"--prefix")
		PREFIX="$value"; ;;
	"--exec-prefix")
		EPREFIX="$value"; ;;
	"--sandbox"|"--sprefix")
		SPREFIX="$value"; ;;
	"--bindir")
		BINDIR="$value"; ;;
	"--sbindir")
		SBINDIR="$value"; ;;
	"--libexecdir")
		LIBEXECDIR="$value"; ;;
	"--datadir")
		DATADIR="$value"; ;;
	"--sysconfdir")
		SYSCONFDIR="$value"; ;;
	"--sharedstatedir")
		SHAREDSTATEDIR="$value"; ;;
	"--localstatedir")
		LOCALSTATEDIR="$value"; ;;
	"--libdir")
		LIBDIR="$value"; ;;
	"--includedir")
		INCLUDEDIR="$value"; ;;
	"--infodir")
		INFODIR="$value"; ;;
	"--mandir")
		MANDIR="$value"; ;;

--without-gmp) FLAG_GMP="0"
		ENDSCRIPT="${ENDSCRIPT} FLAG_GMP=0 ;";;
--without-pcap) FLAG_PCAP="0"
		ENDSCRIPT="${ENDSCRIPT} FLAG_PCAP=0 ;";;
	*) if [ -n "$value" ]; then eval '$flag="$value"' ; fi
		;;
	esac
}

# MAIN #
take_environ

while : ; do
        if [ -z "$1" ]; then break; fi
        parse_options $1
        shift;
done

ENVWORDS="MANDIR INFODIR LIBDIR INCLUDEDIR LOCALSTATEDIR SYSCONFDIR DATADIR LIBEXECDIR SBINDIR BINDIR EPREFIX PREFIX SPREFIX TARGET HOST BUILD INSTALL INSTALL_LIB INSTALL_MAN INSTALL_PROGRAM INSTALL_DIR INSTALL_SCRIPT INSTALL_DATA PKGNAME VPATH VERSION CONTACT CONTACT_NAME CONTACT_MAIL CC CFLAGS LDFLAGS HAVE_LANG_C OTHER_LIB HAVE_LIB_GMP HAVE_GMP_H HAVE_GMP FLAG_GMP HAVE_LIB_PCAP HAVE_PCAP_H HAVE_PCAP FLAG_PCAP"

create_environ


OTHER_LIB=""
HAVE_GMP="0"
HAVE_PCAP="0"
OS_OK="0"
	echo "checking build system type... ${BUILD}"
	echo "checking host system type... ${HOST}"
	echo "checking target system type... ${TARGET}"
	if [ "${CROSSBUILD}" = 1 ]; then
	echo "using crosscompilation mode."
	fi

	split_host BUILD HOST TARGET

VPATH=`dirname ${0}`
if [ "${VPATH}" = "." ]; then 
	WODIS=current
else
	if [ "${VPATH}" = "${PWD}" ]; then
		VPATH=.
		WODIS=current
	else
		WODIS=crosspath
		CURDIR=$PWD
		cd $VPATH
		VPATH="${PWD}/"
		cd $CURDIR
	fi
fi

echo "checking for working directories... ${WODIS}"
echo "using prefix ${PREFIX}"

ACR_RMFILES=" test.c a.out"
printf "checking for c compiler... "
HAVE_LANG_C=1
if [ "${CROSSBUILD}" = 1 ]; then
(command -v ${HOST}-${CC} >/dev/null 2>&1)
if [ $? = 0 ]; then CC="${HOST}-${CC}"; fi
fi
echo "main(){}" > test.c
(exec ${CC} ${CFLAGS} ${LDFLAGS} test.c >/dev/null 2>&1)
if [ $? = 0 ]; then echo ${CC}; else
echo no ; HAVE_LANG_C=0
echo "ERROR: ${CC} cannot create executables" > /dev/stderr ;
exit 1
fi


 printf "checking for libgmp ... "
 echo "main(){ }" > test.c
 ${CC} ${CFLAGS} ${LDFLAGS} -lgmp  test.c >/dev/null 2>&1
 if [ "$?" = 0 ]; then
	HAVE_LIB_GMP=1
	echo yes
 else
	HAVE_LIB_GMP=0
	echo no
 fi
 printf "checking for libpcap ... "
 echo "main(){ }" > test.c
 ${CC} ${CFLAGS} ${LDFLAGS} -lpcap  test.c >/dev/null 2>&1
 if [ "$?" = 0 ]; then
	HAVE_LIB_PCAP=1
	echo yes
 else
	HAVE_LIB_PCAP=0
	echo no
 fi
eval "${ENDSCRIPT}"

printf "checking for install... "
FIND=`command -v install 2>/dev/null `
if [ -n "${FIND}" ]; then 
 echo ${FIND}; 
 INSTALL=${FIND}
else
 INSTALL=install
 echo no
fi
printf "checking for gmp.h... "
echo "#include <gmp.h>" >test.c
echo "main(){}" >>test.c
${CC} ${CFLAGS} test.c >/dev/null 2>&1
if [ "$?" = "0" ]; then 
	HAVE_GMP_H=1
	echo yes
else
	HAVE_GMP_H=0
	echo no
fi
printf "checking for pcap.h... "
echo "#include <pcap.h>" >test.c
echo "main(){}" >>test.c
${CC} ${CFLAGS} test.c >/dev/null 2>&1
if [ "$?" = "0" ]; then 
	HAVE_PCAP_H=1
	echo yes
else
	HAVE_PCAP_H=0
	echo no
fi

if [ "$HOST_OS" = "netbsd" ]; then OTHER_LIB="${OTHER_LIB} -lkvm" ; fi ;
if [ "$HOST_OS" = "netbsdelf" ]; then OTHER_LIB="${OTHER_LIB} -lkvm" ; fi ;
if [ "$HOST_OS" = "openbsd" ]; then OTHER_LIB="${OTHER_LIB} -lkvm" ; fi ;
if [ "$FLAG_GMP" = "1" ]; then
if [ 11 = "$HAVE_LIB_GMP$HAVE_GMP_H" ]; then

OTHER_LIB="${OTHER_LIB} -lgmp"
HAVE_GMP="1"; fi; fi
if [ "$FLAG_PCAP" = "1" ]; then
if [ 11 = "$HAVE_LIB_PCAP$HAVE_PCAP_H" ]; then

OTHER_LIB="${OTHER_LIB} -lpcap"
HAVE_PCAP="1"; fi; fi
if [ "$HOST_OS" = "linux" ]; then OS_OK="1" ; fi ;
if [ "$HOST_OS" = "netbsd" ]; then OS_OK="1" ; fi ;
if [ "$HOST_OS" = "netbsdelf" ]; then OS_OK="1" ; fi ;
if [ "$HOST_OS" = "openbsd" ]; then OS_OK="1" ; fi ;
if [ "$HOST_OS" = "freebsd" ]; then OS_OK="1" ; fi ;
if [ "$HOST_OS" = "freebsd5" ]; then OS_OK="1" ; fi ;
if [ "$HOST_OS" = "freebsd6" ]; then OS_OK="1" ; fi ;
if [ "$HOST_OS" = "freebsd7" ]; then OS_OK="1" ; fi ;
if [ "$HOST_OS" = "darwin" ]; then OS_OK="1" ; fi ;
case "$OS_OK" in 0|"") echo ; echo "ERROR: Your OS is not yet supported by mesure" > /dev/stderr ; echo ;; esac


SEDFLAGS=""
for A in ${ENVWORDS} ; do
	if [ "${A}" = "VPATH" ]; then continue; fi
	if [ "${A}" = "srcdir" ]; then continue; fi ## XXX ugly fix
	eval "VAR=\$${A}"
	VAR="`echo ${VAR} | sed -e 's/\,/\\\,/g'`"
	SEDFLAGS="${SEDFLAGS} -e 's,@${A}@,${VAR},g;'"
done

for A in . src  ; do # SUBDIRS
 if [ -f "${A}.acr" ]; then
  SD_TARGET=${A}
 else
  if [ -d "${A}" ]; then
   SD_TARGET=${A}/Makefile
   mkdir -p ${A}
  else
   echo "ERROR: Cannot find ${VPATH}/${SD_TARGET}.acr" > /dev/stderr
   exit 1
  fi
 fi
 echo "creating ${SD_TARGET}"
 cat ${VPATH}/${SD_TARGET}.acr | \
eval sed -e "s,@VPATH@,${VPATH}/${A},g" ${SEDFLAGS} > ${SD_TARGET}
done

printf "cleaning temporally files... "
do_remove
rm -f test.c a.out
echo "done"
echo ""
echo "Final report:"
for A in  VERSION HAVE_GMP HAVE_PCAP OTHER_LIB ; do # REPORT
  eval "VAL=\$${A}"
  if [ -z "${VAL}" ]; then VAL="(null)"; fi
  echo " - ${A} = ${VAL}"
done
#ACR# ## info ##
#ACR# PKGNAME mesure
#ACR# VERSION 0.5
#ACR# CONTACT pancake ; pancake@phreaker.net
#ACR# 
#ACR# ## lang ##
#ACR# LANG_C!
#ACR# 
#ACR# ## dirs ##
#ACR# SUBDIRS . src ;
#ACR# CHKPRG INSTALL install
#ACR# 
#ACR# ## libs ##
#ACR# EXPORT OTHER_LIB ;
#ACR# = OTHER_LIB ;
#ACR# IFEQ HOST_OS netbsd  ; OTHER_LIB += -lkvm ;
#ACR# IFEQ HOST_OS netbsdelf ; OTHER_LIB += -lkvm ;
#ACR# IFEQ HOST_OS openbsd ; OTHER_LIB += -lkvm ;
#ACR# 
#ACR# 
#ACR# (( libgmp ))
#ACR# CHKLIB gmp
#ACR# CHKINC gmp.h
#ACR# 
#ACR# EXPORT HAVE_GMP ;
#ACR# = HAVE_GMP 0 ;
#ACR# 
#ACR# ARG_WITHOUT FLAG_GMP gmp Disables the use of the big numbers library. ;
#ACR# 
#ACR# IF FLAG_GMP
#ACR# {
#ACR# 	IFAND HAVE_LIB_GMP HAVE_GMP_H 
#ACR# 	{
#ACR# 		+= OTHER_LIB -lgmp ;
#ACR# 		= HAVE_GMP 1 ;
#ACR# 	}
#ACR# }
#ACR# 
#ACR# 
#ACR# (( libpcap ))
#ACR# CHKLIB pcap
#ACR# CHKINC pcap.h
#ACR# EXPORT HAVE_PCAP ;
#ACR# = HAVE_PCAP 0 ;
#ACR# ARG_WITHOUT FLAG_PCAP pcap Disables the sniffer support ;
#ACR# IF FLAG_PCAP
#ACR# {
#ACR# 	IFAND HAVE_LIB_PCAP HAVE_PCAP_H
#ACR# 	{
#ACR# 		+= OTHER_LIB -lpcap ;
#ACR# 		= HAVE_PCAP 1 ;
#ACR# 	}
#ACR# }
#ACR# 
#ACR# 
#ACR# ## oses ##
#ACR# = OS_OK 0 ;
#ACR# IFEQ HOST_OS linux     ; OS_OK = 1 ;
#ACR# IFEQ HOST_OS netbsd    ; OS_OK = 1 ;
#ACR# IFEQ HOST_OS netbsdelf ; OS_OK = 1 ;
#ACR# IFEQ HOST_OS openbsd   ; OS_OK = 1 ;
#ACR# IFEQ HOST_OS freebsd   ; OS_OK = 1 ;
#ACR# IFEQ HOST_OS freebsd5  ; OS_OK = 1 ;
#ACR# IFEQ HOST_OS freebsd6  ; OS_OK = 1 ;
#ACR# IFEQ HOST_OS freebsd7  ; OS_OK = 1 ;
#ACR# IFEQ HOST_OS darwin    ; OS_OK = 1 ;
#ACR# DIENOT OS_OK Your OS is not yet supported by mesure ;
#ACR# 
#ACR# ## rprt ##
#ACR# REPORT VERSION HAVE_GMP HAVE_PCAP OTHER_LIB ;
