1AC_INIT([mos_release], version-0.3, [[email protected]])
2
3# Check for cc
4AC_PROG_CC
5#AC_PROG_INSTALL
6AC_PROG_RANLIB
7#LT_INIT
8AM_PROG_CC_C_O
9#AC_PROG_LIBTOOL
10AC_LANG(C)
11AC_DISABLE_OPTION_CHECKING
12
13# Check for scheduling
14AC_CHECK_HEADER(linux/sched.h,,,)
15# Check for pthreads
16AC_CHECK_HEADER(pthread.h,,,)
17# Check for numa
18AC_CHECK_HEADER(numa.h,,,)
19AC_CHECK_HEADERS([fcntl.h inttypes.h limits.h stddef.h stdlib.h string.h strings.h sys/param.h sys/time.h unistd.h])
20
21# Check for typedefs, structures, and compiler characteristics
22AC_C_INLINE
23AC_TYPE_OFF_T
24AC_TYPE_SIZE_T
25AC_TYPE_SSIZE_T
26AC_TYPE_UINT16_T
27AC_TYPE_UINT32_T
28AC_TYPE_UINT8_T
29
30# Checks for library functions.
31AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
32AC_FUNC_MALLOC
33AC_CHECK_FUNCS([ftruncate gettimeofday memset strcasecmp strchr strpbrk strrchr strstr])
34
35# Reset DPDK to 0
36AC_SUBST(DPDK, 0)
37# Reset PSIO to 0
38AC_SUBST(PSIO, 0)
39# Reset Netmap to 0
40AC_SUBST(NETMAP, 0)
41# Reset Pcap to 0
42AC_SUBST(PCAP, 0)
43
44# Enable dpdk
45AC_ARG_ENABLE([dpdk],
46	  AS_HELP_STRING([--enable-dpdk], [Enable dpdk-16.04]))
47
48AS_IF([test "x$enable_dpdk" = "xyes"], [
49	 dnl Do the stuff needed for enabling the feature
50      	 AC_SUBST(DPDK, 1)
51])
52
53# Enable netmap
54AC_ARG_ENABLE([netmap],
55	  AS_HELP_STRING([--enable-netmap], [Enable netmap]))
56
57AS_IF([test "x$enable_netmap" = "xyes"], [
58	 dnl Do the stuff needed for enabling the feature
59      	 AC_SUBST(NETMAP, 1)
60])
61
62# Enable psio
63AC_ARG_ENABLE([psio],
64	  AS_HELP_STRING([--enable-psio], [Enable packetshader I/O]))
65
66AS_IF([test "x$enable_psio" = "xyes"], [
67	 dnl Do the stuff needed for enabling the feature
68      	 AC_SUBST(PSIO, 1)
69])
70
71if test "$DPDK" == "0" && test "$PSIO" == "0" && test "$NETMAP" == "0"
72then
73        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	AC_SUBST(PCAP, 1)
75fi
76
77AC_OUTPUT(../core/src/Makefile)
78AC_OUTPUT(../samples/epserver/Makefile)
79AC_OUTPUT(../samples/epwget/Makefile)
80AC_OUTPUT(../samples/midstat/Makefile)
81AC_OUTPUT(../samples/simple_firewall/Makefile)
82AC_OUTPUT(../samples/nat/Makefile)
83
84