#!/bin/sh

show_help()
{
	echo configure help:
	echo "--help                  show this help"
	echo "--force-libpcap         build a libpcap based binary under linux"
	echo "--dont-use-proc         dont use proc for default if detection"
	echo "--dont-limit-when-suid  when suid allows to use all options"
	echo "                        even if uid != euid"
}

if [ "$1" = "--help" ]; then
	show_help
	exit 0
fi

echo build byteorder.c...
cc byteorder.c -o byteorder || exit 1

BYTEORDER=`./byteorder -m`

echo create byteorder.h...
cat > byteorder.h <<EOF
#ifndef __BYTEORDER_H
#define __BYTEORDER_H

EOF
echo \#ifndef $BYTEORDER >> byteorder.h
echo \#define $BYTEORDER >> byteorder.h
echo \#endif /\* $BYTEORDER \*/ >> byteorder.h
cat >> byteorder.h <<EOF

#endif /* __BYTEORDER_H */
EOF

CONFIGOSTYPE=`uname -s | tr a-z A-Z`
if [ ! "$CONFIGOSTYPE" ]; then
	CONFIGOSTYPE=UNKNOWN
fi

#
# configurable stuff
#
LIMITWHENSUID="-DLIMITWHENSUID"
FORCE_LIBPCAP=""
if [ "$CONFIGOSTYPE" = "LINUX" ]; then
	HAVE_PROC="-DHAVE_PROC"
	PCAP=""
	PCAP_INCLUDE=""
else
	HAVE_PROC=""
	PCAP="PCAP=libpcap/libpcap.a"
	PCAP_INCLUDE="-I./libpcap"
fi

for ARG in $*; do
	case "$ARG" in
		*"--dont-limit-when-suid")
			LIMITWHENSUID=""
			;;
		*"--force-libpcap")
			FORCE_LIBPCAP="-DFORCE_LIBPCAP"
			PCAP="PCAP=libpcap/libpcap.a"
			PCAP_INCLUDE="-I./libpcap"
			;;
		*"--dont-use-proc")
			HAVE_PROC=""
			;;
	esac
done

echo --------------------------------------
echo system type: $CONFIGOSTYPE
echo
echo "LIMITWHENSUID: $LIMITWHENSUID"
echo "FORCE_LIBPCAP: $FORCE_LIBPCAP"
echo "HAVE_PROC    : $HAVE_PROC"
echo "LIBPCAP      : $PCAP"
echo "PCAP_INCLUDE : $PCAP_INCLUDE"
echo
echo "(to modify try configure --help)"
echo --------------------------------------

echo creating Makefile...
cat Makefile.in | sed	-e s/@LIMITWHENSUID@/"$LIMITWHENSUID"/g \
			-e s/@FORCE_LIBPCAP@/"$FORCE_LIBPCAP"/g \
			-e s/@HAVE_PROC@/"$HAVE_PROC"/g \
			-e s^@PCAP@^"$PCAP"^g \
			-e s^@PCAP_INCLUDE@^"$PCAP_INCLUDE$"^g \
			> Makefile

#
#
#

cat > systype.h <<EOF
#ifndef __SYSTYPE_H
#define __SYSTYPE_H

EOF
echo \#define OSTYPE_${CONFIGOSTYPE} >> systype.h
cat >> systype.h <<EOF

#endif /* SYSTYPE_H */
EOF

echo now you can try \`make\'
