#!/bin/sh

echo "Starting auto configuration ..."
rm -f Makefile.in Makefile.parasite
NSL_PATH=""
SOCKET_PATH=""
XDEFS=""
TEST=`which test` || {
  echo Can not find the test command, exiting ...
  exit 1
}
echo

MACH=`uname -s`
$TEST "$MACH" = "Solaris" && OS=SOLARIS
$TEST "$MACH" = "Linux" && OS=LINUX
echo "$MACH" | grep -i bsd > /dev/null && OS=BSD
$TEST -z "$MACH" && {
    echo "Error: \"uname -s\" does not result in \"Solaris\", \"Linux\" or \"*BSD\", unknown platform, exiting..."
    exit 1
}

$TEST "$OS" = "SOLARIS" && {
  XDEFS="-DSOLARIS -DNDD"
  echo "Checking for Solaris libraries ..."
  for i in  /lib /usr/lib /usr/local/lib
  do
    $TEST -z "$NSL_PATH" && $TEST -e "$i/libnsl.so" && NSL_PATH="$i"
    $TEST -z "$SOCKET_PATH" && $TEST -e "$i/libsocket.so" && SOCKET_PATH="$i"
  done
  $TEST -z "$NSL_PATH" || echo "libnsl found in $NSL_PATH"
  $TEST -z "$SOCKET_PATH" || echo "libsocket found in $SOCKET_PATH"
  $TEST -z "$NSL_PATH" && echo "libnsl not found - if this is not Solaris, no need to worry."
  $TEST -z "$SOCKET_PATH" && echo "libsocket not found - if this is not Solaris, no need to worry."
  echo parasite will be using ndd for tcp/ip reconfiguration
}

$TEST "$OS" = "LINUX" && {
  $TEST -z "`which sysctl`" && {
    XDEFS="-DLINUX -DPROC"
    echo parasite will be using /proc for tcp/ip reconfiguration
  }
  $TEST -z "$XDEFS" && {
    XDEFS="-DLINUX -DSYSCTL"
    echo parasite will be using sysctl for tcp/ip reconfiguration
  }
}

$TEST "$OS" = "BSD" && {
  XDEFS="-DBSD -DSYSCTL"
  echo parasite will be using sysctl for tcp/ip reconfiguration
}

echo
XDEFINES="$XDEFS"
XLIBS=""
XLIBPATHS=""
XIPATHS=""
for i in $NSL_PATH $SOCKET_PATH; do
    XLIBPATHS="$XLIBPATHS -L$i"
done
$TEST -z "$NSL_PATH" || XLIBS="$XLIBS -lnsl"
$TEST -z "$SOCKET_PATH" || XLIBS="$XLIBS -lsocket"

echo "Writing Makefile.in ..."
echo "XLIBS=$XLIBS" >> Makefile.in
echo "XDEFINES=$XDEFINES" >> Makefile.in
echo >> Makefile.in

echo "Generating Makefile.parasite ..."
cat Makefile.in > Makefile.parasite
cat Makefile.am >> Makefile.parasite

echo
#echo "now type \"make\""
