Improved configure script under Solaris
diff --git a/configure.in b/configure.in
index 5be7559..1eaf2f8 100644
--- a/configure.in
+++ b/configure.in
@@ -4,6 +4,8 @@
AM_CONFIG_HEADER([config.h])
#AC_CONFIG_HEADER([config.h])
+AC_CANONICAL_SYSTEM
+
# Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
@@ -23,6 +25,20 @@
AC_SUBST(EXEC_LDFLAGS)
+case "${host}" in
+ i[3456]86-*-linux-gnu*)
+ EXEC_LDFLAGS="$EXEC_LDFLAGS -Wl,--rpath -Wl,/usr/local/lib" ;;
+ *solaris*)
+ EXEC_LDFLAGS="$EXEC_LDFLAGS -lresolv -lsocket -lnsl" ;;
+esac
+
+
+AC_ARG_ENABLE(static-exec,
+ [ --enable-static-exec Enable static linking of executables],
+ [ EXEC_LDFLAGS="-all-static"])
+
+AC_SUBST(EXEC_LDFLAGS)
+
# Checks for libraries.
# FIXME: Replace `main' with a function in `-le':
#AC_CHECK_LIB([e], [main])
@@ -36,12 +52,48 @@
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdint.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h syslog.h unistd.h])
+# Check for if header
+AC_CHECK_HEADERS([linux/if.h net/if.h])
+
+# Check for tun header
+AC_CHECK_HEADERS([linux/if_tun.h net/if_tun.h])
+
+# Check for netlink and rtnetlink headers
+AC_CHECK_HEADERS([linux/netlink.h linux/rtnetlink.h])
+
+
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_MODE_T
AC_TYPE_SIZE_T
AC_HEADER_TIME
+# check for ifaliasreq
+AC_MSG_CHECKING(whether struct ifaliasreq exist)
+AH_TEMPLATE(HAVE_IFALIASREQ)
+AC_EGREP_HEADER(ifaliasreq, net/if.h,
+[AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_IFALIASREQ])],
+ AC_MSG_RESULT(no))
+
+# check for ifreq.ifru_netmask
+AC_MSG_CHECKING(whether struct ifreq.ifru_netmask exist)
+AH_TEMPLATE(HAVE_IFREQ_IFRU_NETMASK)
+AC_EGREP_HEADER(ifru_netmask, linux/if.h,
+[AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_IFREQ_IFRU_NETMASK])],
+ AC_MSG_RESULT(no))
+
+
+# check for rt_msghdr
+AC_MSG_CHECKING(whether struct rt_msghdr exist)
+AH_TEMPLATE(HAVE_RT_MSGHDR)
+AC_EGREP_HEADER(rt_msghdr, net/route.h,
+[AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_RT_MSGHDR])],
+ AC_MSG_RESULT(no))
+
+
# Checks for library functions.
AC_PROG_GCC_TRADITIONAL
AC_FUNC_MALLOC