8c333fd1679c925a53a2385f98ab680678ba90d0
[vpp.git] / vpp / configure.ac
1 AC_INIT(vpp, 1.1)
2 AM_INIT_AUTOMAKE
3 AM_SILENT_RULES([yes])
4
5 AC_PROG_CC
6
7 AC_ARG_WITH(dpdk,
8             AC_HELP_STRING([--with-dpdk],[Use DPDK]),
9             [with_dpdk=1],
10             [with_dpdk=0])
11
12 AC_ARG_WITH(dpdk_crypto,
13             AC_HELP_STRING([--with-dpdk-crypto],[Use DPDK cryptodev]),
14             [with_dpdk_crypto=1],
15             [with_dpdk_crypto=0])
16
17 AC_ARG_WITH(dpdk_mlx5_pmd,
18             AC_HELP_STRING([--with-dpdk-mlx5-pmd],[Use Mellanox ConnetxX-4 DPDK PMD]),
19             [with_dpdk_mlx5_pmd=1],
20             [with_dpdk_mlx5_pmd=0])
21
22 AC_ARG_ENABLE(dpdk-shared,
23               AC_HELP_STRING([--enable-dpdk-shared],[Link with DPDK shared lib]),
24               [enable_dpdk_shared=1],
25               [enable_dpdk_shared=0])
26
27 AC_ARG_WITH(ipsec,
28             AC_HELP_STRING([--without-ipsec],[Disable ipsec]),
29             [with_ipsec=0],
30             [with_ipsec=1])
31
32 AC_ARG_WITH(vcgn,
33             AC_HELP_STRING([--without-vcgn],[Disable vcgn]),
34             [with_vcgn=0],
35             [with_vcgn=1])
36
37 AC_ARG_WITH(ipv6sr,
38             AC_HELP_STRING([--without-ipv6sr],[Disable ipv6sr]),
39             [with_ipv6sr=0],
40             [with_ipv6sr=1])
41
42 AC_ARG_WITH(apicli,
43             AC_HELP_STRING([--without-apicli],[Disable binary api CLI]),
44             [with_apicli=0],
45             [with_apicli=1])
46
47 AM_CONDITIONAL(WITH_DPDK, test "$with_dpdk" = "1")
48 AM_CONDITIONAL(ENABLE_DPDK_SHARED, test "$enable_dpdk_shared" = "1")
49 AC_SUBST(DPDK,["-DDPDK=${with_dpdk} -DDPDK_SHARED_LIB=${enable_dpdk_shared}"])
50 AM_CONDITIONAL(WITH_DPDK_CRYPTO, test "$with_dpdk_crypto" = "1")
51 AC_SUBST(DPDK_CRYPTO,[-DDPDK_CRYPTO=${with_dpdk_crypto}])
52 AM_CONDITIONAL(WITH_DPDK_MLX5_PMD, test "$with_dpdk_mlx5_pmd" = "1")
53
54 AM_COND_IF(
55         [ENABLE_DPDK_SHARED],
56         [
57                 AC_CHECK_HEADERS(
58                         [rte_config.h],
59                         [], [AC_MSG_ERROR([DPDK header files not found])],
60                 )
61                 AC_CHECK_LIB(
62                         [dpdk], [rte_eal_init],
63                         [], [AC_MSG_ERROR([DPDK shared library not found])],
64                 )
65         ],
66 )
67
68 AM_CONDITIONAL(WITH_IPSEC, test "$with_ipsec" = "1")
69 AC_SUBST(IPSEC,[-DIPSEC=${with_ipsec}])
70
71 AM_CONDITIONAL(WITH_VCGN, test "$with_vcgn" = "1")
72 AC_SUBST(VCGN,[-DVCGN=${with_vcgn}])
73
74 AM_CONDITIONAL(WITH_IPV6SR, test "$with_ipv6sr" = "1")
75 AC_SUBST(IPV6SR,[-DIPV6SR=${with_ipv6sr}])
76
77 AM_CONDITIONAL(WITH_APICLI, test "$with_apicli" = "1")
78 AC_SUBST(APICLI,[-DVPP_API_TEST_BUILTIN=${with_apicli}])
79
80 AC_OUTPUT([Makefile])