1522d5c66SAsim JamshedAC_INIT([mos_release], version-0.3, [[email protected]])
276404edcSAsim Jamshed
376404edcSAsim Jamshed# Check for cc
476404edcSAsim JamshedAC_PROG_CC
576404edcSAsim Jamshed#AC_PROG_INSTALL
676404edcSAsim JamshedAC_PROG_RANLIB
776404edcSAsim Jamshed#LT_INIT
876404edcSAsim JamshedAM_PROG_CC_C_O
976404edcSAsim Jamshed#AC_PROG_LIBTOOL
1076404edcSAsim JamshedAC_LANG(C)
1176404edcSAsim JamshedAC_DISABLE_OPTION_CHECKING
1276404edcSAsim Jamshed
1376404edcSAsim Jamshed# Check for scheduling
1476404edcSAsim JamshedAC_CHECK_HEADER(linux/sched.h,,,)
1576404edcSAsim Jamshed# Check for pthreads
1676404edcSAsim JamshedAC_CHECK_HEADER(pthread.h,,,)
1776404edcSAsim Jamshed# Check for numa
1876404edcSAsim JamshedAC_CHECK_HEADER(numa.h,,,)
1976404edcSAsim JamshedAC_CHECK_HEADERS([fcntl.h inttypes.h limits.h stddef.h stdlib.h string.h strings.h sys/param.h sys/time.h unistd.h])
2076404edcSAsim Jamshed
2176404edcSAsim Jamshed# Check for typedefs, structures, and compiler characteristics
2276404edcSAsim JamshedAC_C_INLINE
2376404edcSAsim JamshedAC_TYPE_OFF_T
2476404edcSAsim JamshedAC_TYPE_SIZE_T
2576404edcSAsim JamshedAC_TYPE_SSIZE_T
2676404edcSAsim JamshedAC_TYPE_UINT16_T
2776404edcSAsim JamshedAC_TYPE_UINT32_T
2876404edcSAsim JamshedAC_TYPE_UINT8_T
2976404edcSAsim Jamshed
3076404edcSAsim Jamshed# Checks for library functions.
3176404edcSAsim JamshedAC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
3276404edcSAsim JamshedAC_FUNC_MALLOC
3376404edcSAsim JamshedAC_CHECK_FUNCS([ftruncate gettimeofday memset strcasecmp strchr strpbrk strrchr strstr])
3476404edcSAsim Jamshed
3576404edcSAsim Jamshed# Reset DPDK to 0
3676404edcSAsim JamshedAC_SUBST(DPDK, 0)
3776404edcSAsim Jamshed# Reset PSIO to 0
3876404edcSAsim JamshedAC_SUBST(PSIO, 0)
39522d5c66SAsim Jamshed# Reset Netmap to 0
40522d5c66SAsim JamshedAC_SUBST(NETMAP, 0)
41*c44a07e4SAsim Jamshed# Reset Pcap to 0
42*c44a07e4SAsim JamshedAC_SUBST(PCAP, 0)
4376404edcSAsim Jamshed
4476404edcSAsim Jamshed# Enable dpdk
4576404edcSAsim JamshedAC_ARG_ENABLE([dpdk],
46522d5c66SAsim Jamshed	  AS_HELP_STRING([--enable-dpdk], [Enable dpdk-16.04]))
4776404edcSAsim Jamshed
4876404edcSAsim JamshedAS_IF([test "x$enable_dpdk" = "xyes"], [
4976404edcSAsim Jamshed	 dnl Do the stuff needed for enabling the feature
5076404edcSAsim Jamshed      	 AC_SUBST(DPDK, 1)
5176404edcSAsim Jamshed])
5276404edcSAsim Jamshed
53522d5c66SAsim Jamshed# Enable netmap
54522d5c66SAsim JamshedAC_ARG_ENABLE([netmap],
55522d5c66SAsim Jamshed	  AS_HELP_STRING([--enable-netmap], [Enable netmap]))
56522d5c66SAsim Jamshed
57522d5c66SAsim JamshedAS_IF([test "x$enable_netmap" = "xyes"], [
58522d5c66SAsim Jamshed	 dnl Do the stuff needed for enabling the feature
59522d5c66SAsim Jamshed      	 AC_SUBST(NETMAP, 1)
60522d5c66SAsim Jamshed])
61522d5c66SAsim Jamshed
6276404edcSAsim Jamshed# Enable psio
6376404edcSAsim JamshedAC_ARG_ENABLE([psio],
6476404edcSAsim Jamshed	  AS_HELP_STRING([--enable-psio], [Enable packetshader I/O]))
6576404edcSAsim Jamshed
6676404edcSAsim JamshedAS_IF([test "x$enable_psio" = "xyes"], [
6776404edcSAsim Jamshed	 dnl Do the stuff needed for enabling the feature
6876404edcSAsim Jamshed      	 AC_SUBST(PSIO, 1)
6976404edcSAsim Jamshed])
7076404edcSAsim Jamshed
71522d5c66SAsim Jamshedif test "$DPDK" == "0" && test "$PSIO" == "0" && test "$NETMAP" == "0"
7276404edcSAsim Jamshedthen
73*c44a07e4SAsim Jamshed        AC_MSG_WARN([Packet I/O library is missing. Please set either dpdk, netmap or psio as your I/O lib.I am choosing pcap as your I/O lib!])
74*c44a07e4SAsim Jamshed	AC_SUBST(PCAP, 1)
7576404edcSAsim Jamshedfi
7676404edcSAsim Jamshed
7776404edcSAsim JamshedAC_OUTPUT(../core/src/Makefile)
78522d5c66SAsim JamshedAC_OUTPUT(../samples/epserver/Makefile)
79522d5c66SAsim JamshedAC_OUTPUT(../samples/epwget/Makefile)
80522d5c66SAsim JamshedAC_OUTPUT(../samples/midstat/Makefile)
8176404edcSAsim JamshedAC_OUTPUT(../samples/simple_firewall/Makefile)
8276404edcSAsim JamshedAC_OUTPUT(../samples/nat/Makefile)
8376404edcSAsim Jamshed
84