#!/bin/sh
#----------------------------------------------------------------------
# This file was generated with ./genemake

# this function displays usage of netwib-config
usage ()
{ prog=$1
  errorcode=$2

  cat <<UEOF
Usages: 
  $prog -v
  $prog --version
  $prog -c
  $prog --cflags
  $prog -l
  $prog --libs
  $prog -d variable_name_from__netwib_def.h
Examples:
  gcc -o t t.c \`$prog --cflags --libs\`
  gcc -o t t.c \`$prog -c -l\`
  gcc -o t t.c \`$prog -cl\`
  $prog -v
  $prog -d SYSVER
UEOF

  exit $errorcode
}

# this function displays the value of a define
adefine()
{ var=$1
  case $var in
    SYSNAME) echo MacOS ;;
    SYSNAME_MacOS) echo 1 ;;
    SYSARCH) echo arm ;;
    SYSARCH_arm) echo 1 ;;
    ARCH_ENDIAN) echo 0 ;;
    ARCH_BITS) echo 64 ;;
    ARCH_ALIGN) echo 1 ;;
    VERSION) echo 5.39.0 ;;
    VERSIONMAJOR) echo 5 ;;
    VERSIONMINOR) echo 39 ;;
    VERSIONMICRO) echo 0 ;;
    LIBPTHREADINSTALLED) echo 1 ;;
    LIBPTHREADFROMDCE) echo 0 ;;
    LIBPTHREADFROMMIT) echo 0 ;;
    LIBPCAPINSTALLED) echo 1 ;;
    LIBPCAPFROMREDHAT) echo 1 ;;
    LIBNETINSTALLED) echo 1 ;;
    LIBNETVERSION11) echo 1 ;;
    LIBUTILINSTALLED) echo 0 ;;
    PROGCC) echo gcc ;;
    PROGCCALIAS) echo 1 ;;
    PROGCCWUNDEF) echo 1 ;;
    PROGCCWSIGNC) echo 1 ;;
    PROGCCWEXTRA) echo 1 ;;
    PROGAR) echo ar ;;
    PROGRANLIB) echo ranlib ;;
    PROGGREP) echo grep ;;
    INSTPREFIX) echo /opt/local ;;
    INSTINCLUDE) echo /opt/local/include ;;
    INSTLIB) echo /opt/local/lib ;;
    INSTBIN) echo /opt/local/bin ;;
    INSTMAN) echo /opt/local/share/man ;;
    INSTMAN3) echo /opt/local/share/man/man3 ;;
    SUPPORT_SNIFF) echo 1 ;;
    SUPPORT_SPOOF) echo 1 ;;
    SUPPORT_ENCODETYPE_PCAP) echo 1 ;;
    TYPE_INT8) echo char ;;
    TYPE_UINT8) echo unsigned char ;;
    TYPE_INT16) echo short ;;
    TYPE_UINT16) echo unsigned short ;;
    TYPE_INT32) echo int ;;
    TYPE_UINT32) echo unsigned int ;;
    TYPE_INT64) echo long ;;
    TYPE_UINT64) echo unsigned long ;;
    TYPE_INT64_FAKE) echo 0 ;;
    HAVEINCL_PTHREAD) echo 1 ;;
    HAVEINCL_STROPTS) echo 0 ;;
    HAVEINCL_SCHED) echo 1 ;;
    HAVEINCL_PTY) echo 0 ;;
    HAVEINCL_SYS_POLL) echo 1 ;;
    HAVEINCL_SYS_PARAM) echo 1 ;;
    HAVEINCL_SYS_SYSCTL) echo 1 ;;
    HAVEINCL_SYS_IOCTL) echo 1 ;;
    HAVEINCL_SYS_SOCKIO) echo 1 ;;
    HAVEINCL_SYS_DLPI) echo 0 ;;
    HAVEINCL_SYS_BUFMOD) echo 0 ;;
    HAVEINCL_SYS_MMAN) echo 1 ;;
    HAVEINCL_NET_ETHERNET) echo 1 ;;
    HAVEINCL_NET_IF_ARP) echo 1 ;;
    HAVEINCL_NET_IF_TYPES) echo 1 ;;
    HAVEINCL_NET_IF_DL) echo 1 ;;
    HAVEINCL_NET_BPF) echo 1 ;;
    HAVEINCL_NETINET_IF_ETHER) echo 1 ;;
    HAVEINCL_NETINET_ETHER) echo 0 ;;
    HAVEINCL_NETPACKET_PACKET) echo 0 ;;
    HAVEINCL_ASM_PAGE) echo 0 ;;
    HAVEINCL_MACH_MACHINE_VMPARAM) echo 1 ;;
    HAVEINCL_MACHINE_PARAM) echo 1 ;;
    HAVETYPE_SIZE_T) echo 1 ;;
    HAVETYPE_SOCKLEN_T) echo 1 ;;
    HAVETYPE_SIGHANDLER_T) echo 0 ;;
    HAVETYPE_SIG_T) echo 1 ;;
    HAVETYPE_OFF_T) echo 1 ;;
    HAVETYPE_PTHREAD_RWLOCK_T) echo 1 ;;
    HAVETYPE_SOCKADDR_IN6) echo 1 ;;
    HAVEFIELD_TM_GMTOFF) echo 1;;
    HAVEFIELD_SOCKADDR_SALEN) echo 1 ;;
    HAVEFIELD_SOCKADDRIN_SINLEN) echo 1 ;;
    HAVEFIELD_SOCKADDRIN6_SIN6LEN) echo 1 ;;
    HAVEFUNC_ETHER_NTOHOST) echo 1 ;;
    HAVEFUNC_ETHER_HOSTTON) echo 0 ;;
    HAVEFUNC_HSTRERROR) echo 1 ;;
    HAVEFUNC_SNPRINTF) echo 1 ;;
    HAVEFUNC_PCAP_FREECODE) echo 1 ;;
    HAVEFUNC_PCAP_FREECODE2) echo 0 ;;
    HAVEFUNC_PCAP_OPENDEAD) echo 1 ;;
    HAVEFUNC_POLL) echo 1 ;;
    HAVEFUNC_DIRFD) echo 1 ;;
    HAVEFUNC_FPATHCONF) echo 1 ;;
    HAVEFUNC_PATHCONF) echo 1 ;;
    HAVEFUNC_SYSCONF) echo 1 ;;
    HAVEFUNC_GETPAGESIZE) echo 1 ;;
    HAVEFUNC_GETRLIMIT) echo 1 ;;
    HAVEFUNC_NANOSLEEP) echo 1 ;;
    HAVEFUNC_USLEEP) echo 1 ;;
    HAVEFUNC_GETTIMEOFDAY) echo 1 ;;
    HAVEFUNC_CLOCK_GETTIME) echo 1 ;;
    HAVEFUNC_PTHREAD_DELAY_NP) echo 0 ;;
    HAVEFUNC_PTHREAD_MUTEX_TIMEDLOCK) echo 0 ;;
    HAVEFUNC_PTHREAD_RWLOCK_TIMEDRDLOCK) echo 0 ;;
    HAVEFUNC_PTHREAD_RWLOCK_TIMEDWRLOCK) echo 0 ;;
    HAVEFUNC_PTHREAD_YIELD) echo 0 ;;
    HAVEFUNC_SCHED_YIELD) echo 1 ;;
    HAVEFUNC_GETPWNAM_R) echo 1 ;;
    HAVEFUNC_GETGRNAM_R) echo 1 ;;
    HAVEFUNC_GETGRGID_R) echo 0 ;;
    HAVEFUNC_READDIR_R) echo 1 ;;
    HAVEFUNC_GETHOSTBYNAME_R) echo 0 ;;
    HAVEFUNC_GETHOSTBYADDR_R) echo 0 ;;
    HAVEFUNC_GETNAMEINFO) echo 1 ;;
    HAVEFUNC_GETADDRINFO) echo 1 ;;
    HAVEFUNC_GETIPNODEBYNAME) echo 1 ;;
    HAVEFUNC_GETIPNODEBYADDR) echo 1 ;;
    HAVEFUNC_LOCALTIME_R) echo 1 ;;
    HAVEVAR_HERRNO) echo 1 ;;
    HAVEVAR_PATH_MAX) echo 1 ;;
    HAVEVAR_NAME_MAX) echo 1 ;;
    HAVEVAR_PAGE_SIZE) echo 1 ;;
    HAVEVAR_PAGESIZE) echo 0 ;;
    HAVEVAR_BIOCSHDRCMPLT) echo 1;;
    HAVEVAR_SIOCGLIFCONF) echo 0;;
    HAVEVAR_AF_INET6) echo 1;;
    HAVEVAR_SC_GETPW_R_SIZE_MAX) echo 1;;
    HAVEVAR_SC_GETGR_R_SIZE_MAX) echo 1;;
  esac
}

# we need at least one parameter
if test $# -eq 0; then
  usage $0 1   1>&2
fi

# get all parameters
while test $# -gt 0; do
  case $1 in
    -v | --version)
      echo_v=yes
      ;;
    -c | --cflags)
      echo_c=yes
      ;;
    -l | --libs)
      echo_l=yes
      ;;
    -cl | -lc)
      echo_c=yes
      echo_l=yes
      ;;
    -d | --def | --define)
      if test $# -ne 2; then
        usage $0 3   1>&2
      fi
      adefine $2
      exit
      ;;
    *)
      usage $0 2   1>&2
  esac
  shift
done

# print version, and exit
if test "$echo_v" = "yes"; then
  echo "5.39.0"
  exit 0
fi

#initialize printed variables
echo_c=no
echo_l_="-lnetwib -L/opt/local/lib -lpthread -lpcap  -L/opt/local/lib -lnet"

# choose what to display
if test "$echo_c" = "yes"; then
  if test "$echo_l" = "yes"; then
    echo_c=no
    echo_l=no
    echo_cl=yes
  fi
fi

# display include
if test "$echo_c" = "yes"; then
  echo "$echo_c_"
fi

# display library
if test "$echo_l" = "yes"; then
  echo "$echo_l_"
fi

# display include and library
if test "$echo_cl" = "yes"; then
  echo "$echo_c_ $echo_l_"
fi

