X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fconfigure.ac;h=f6ec44bb76985c18a9c267899580b3291730a231;hb=c4f2ef7d7e315e183e3994630209471c5362163a;hp=d2fd5814619d8687890317a6500dedca36b86cdb;hpb=2d506675d1e0464545d28754618bc4829428a984;p=vpp.git diff --git a/src/configure.ac b/src/configure.ac index d2fd5814619..f6ec44bb769 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -1,17 +1,22 @@ -AC_INIT([vpp], [18.04], [vpp-dev@fd.io]) +AC_INIT([vpp], [18.07], [vpp-dev@fd.io]) LT_INIT AC_CONFIG_AUX_DIR([.]) AM_INIT_AUTOMAKE([subdir-objects]) AM_SILENT_RULES([yes]) -AC_CONFIG_FILES([Makefile plugins/Makefile vpp-api/python/Makefile vpp-api/java/Makefile vpp-api/vapi/Makefile vpp-api/vom/Makefile]) +AC_CONFIG_FILES([ \ + Makefile \ + plugins/Makefile \ + vpp-api/python/Makefile \ + vpp-api/java/Makefile \ + vpp-api/vapi/Makefile \ + vlib/config.h \ +]) AC_CONFIG_MACRO_DIR([m4]) AC_PROG_CC -AC_PROG_CXX AC_PROG_CPP AM_PROG_AS AM_PROG_LIBTOOL -AC_PROG_YACC AM_PATH_PYTHON AM_CONDITIONAL([CROSSCOMPILE], [test "$cross_compiling" == "yes"]) @@ -130,13 +135,14 @@ DISABLE_ARG(vlib, [Disable vlib and dependant libs and binaries]) DISABLE_ARG(svm, [Disable svm and dependant libs and binaries]) DISABLE_ARG(papi, [Disable Python API bindings]) DISABLE_ARG(japi, [Disable Java API bindings]) -DISABLE_ARG(vom, [Disable VPP object model bindings]) # --with-X # --without-X WITHOUT_ARG(libssl, [Disable libssl]) WITHOUT_ARG(apicli, [Disable binary api CLI]) +WITHOUT_ARG(mbedtls, [Disable mbedtls]) +WITHOUT_ARG(libnuma, [for non numa architectures]) AC_ARG_WITH(unix, AC_HELP_STRING([--with-unix],[Compile unix version of clib]), @@ -174,7 +180,7 @@ AS_IF([test "$cc_flag_check" = yes], [march_skylake_avx512=no]) AM_CONDITIONAL([CC_SUPPORTS_AVX512], [test "$march_skylake_avx512" = "yes"]) -AS_CASE([$build_cpu], +AS_CASE([$host_cpu], [x86_64], [CPU_FLAGS="-march=corei7 -mtune=corei7-avx"], [aarch64], [CPU_FLAGS="-march=armv8-a+crc"], [CPU_FLAGS=""], @@ -184,8 +190,16 @@ AC_SUBST([CPU_FLAGS]) AC_SUBST([CPU_AVX2_FLAGS],"-march=core-avx2 -mtune=core-avx2") AC_SUBST([CPU_AVX512_FLAGS],"-march=skylake-avx512 -mtune=skylake-avx512") -AM_CONDITIONAL([CPU_X86_64], [test "$build_cpu" = "x86_64"]) -AM_CONDITIONAL([CPU_AARCH64], [test "$build_cpu" = "aarch64"]) +AM_CONDITIONAL([CPU_X86_64], [test "$host_cpu" = "x86_64"]) +AM_CONDITIONAL([CPU_AARCH64], [test "$host_cpu" = "aarch64"]) + +############################################################################### +# misc compiler flags +############################################################################### + +CC_CHECK_FLAG("-Wno-address-of-packed-member") +AS_IF([test "$cc_flag_check" = yes], + [CFLAGS="${CFLAGS} -Wno-address-of-packed-member"], []) ############################################################################### # Substitutions and defines @@ -196,6 +210,8 @@ AC_SUBST(APICLI, [-DVPP_API_TEST_BUILTIN=${n_with_apicli}]) AC_DEFINE_UNQUOTED(DPDK_SHARED_LIB, [${n_enable_dpdk_shared}]) AC_DEFINE_UNQUOTED(WITH_LIBSSL, [${n_with_libssl}]) +AC_DEFINE_UNQUOTED(WITH_MBEDTLS, [${n_with_mbedtls}]) +AC_DEFINE_UNQUOTED(WITH_LIBNUMA, [${n_with_libnuma}]) # Silence following noise: @@ -208,25 +224,36 @@ AC_SUBST(AR_FLAGS) ############################################################################### # Please keep alphabetical order +PLUGIN_ENABLED(abf) PLUGIN_ENABLED(acl) +PLUGIN_ENABLED(avf) +PLUGIN_ENABLED(cdp) PLUGIN_ENABLED(dpdk) PLUGIN_ENABLED(flowprobe) +PLUGIN_ENABLED(gbp) PLUGIN_ENABLED(gtpu) +PLUGIN_ENABLED(igmp) PLUGIN_ENABLED(ila) PLUGIN_ENABLED(ioam) PLUGIN_ENABLED(ixge) -PLUGIN_ENABLED(kubeproxy) +PLUGIN_ENABLED(l2e) +PLUGIN_ENABLED(lacp) PLUGIN_ENABLED(lb) +PLUGIN_ENABLED(marvell) PLUGIN_ENABLED(memif) PLUGIN_ENABLED(pppoe) -PLUGIN_ENABLED(sixrd) PLUGIN_ENABLED(nat) +PLUGIN_ENABLED(srv6ad) +PLUGIN_ENABLED(srv6am) +PLUGIN_ENABLED(srv6as) PLUGIN_ENABLED(stn) -PLUGIN_ENABLED(l2e) +PLUGIN_ENABLED(tlsmbedtls) +PLUGIN_ENABLED(tlsopenssl) ############################################################################### # Dependency checks ############################################################################### +AC_CHECK_FUNC([memfd_create], [AC_DEFINE([HAVE_MEMFD_CREATE], [1], [Define if memfd exists])]) AM_COND_IF([ENABLE_DPDK_SHARED], [ @@ -264,46 +291,45 @@ AM_CONDITIONAL(WITH_AESNI_MB_LIB, test "$with_aesni_mb_lib" = "yes") m4_append([list_of_with], [isa_l_crypto_lib], [, ]) AM_CONDITIONAL(WITH_ISA_L_CRYPTO_LIB, test "$with_isa_l_crypto_lib" = "yes") - -with_ibverbs_lib=no -DPDK_IS_PMD_ENABLED(LIBRTE_MLX4_PMD, dpdk_mlx4_pmd) -AM_COND_IF([WITH_DPDK_MLX4_PMD], +AM_COND_IF([ENABLE_G2], [ - AC_CHECK_LIB([ibverbs], [ibv_fork_init], - [with_ibverbs_lib=yes], - [AC_MSG_ERROR([ibverbs library not found])]) + PKG_CHECK_MODULES(g2, gtk+-2.0) ]) -DPDK_IS_PMD_ENABLED(LIBRTE_MLX5_PMD, dpdk_mlx5_pmd) -AM_COND_IF([WITH_DPDK_MLX5_PMD], +AM_COND_IF([ENABLE_MARVELL_PLUGIN], [ - AC_CHECK_LIB([ibverbs], [ibv_fork_init], - [with_ibverbs_lib=yes], - [AC_MSG_ERROR([ibverbs library not found])]) + AC_CHECK_LIB( [musdk], [pp2_init], + [], + [ + AC_MSG_WARN([Marvell MUSDK library with PP2 support not found. Plugin disabled.]) + enable_marvell_plugin=no + AM_CONDITIONAL(ENABLE_MARVELL_PLUGIN, false) + ]) ]) -m4_append([list_of_with], [ibverbs_lib], [, ]) -AM_CONDITIONAL(WITH_IBVERBS_LIB, test "$with_ibverbs_lib" = "yes") - - -AM_COND_IF([ENABLE_G2], +AM_COND_IF([WITH_MBEDTLS], [], [ - PKG_CHECK_MODULES(g2, gtk+-2.0) + AC_MSG_WARN([mbedtls not enabled. Disabling tlsmbedtls plugin]) + enable_tlsmbedtls_plugin=no + AM_CONDITIONAL(ENABLE_TLSMBEDTLS_PLUGIN, false) ]) -# If cross-compiling, we need external vppapigen and we cannot continue without it -# For native builds, we just set dependency on vpppaigen binary in top_builddir -AM_COND_IF([CROSSCOMPILE], +AM_COND_IF([ENABLE_TLSMBEDTLS_PLUGIN], [ - AC_PATH_PROG([VPPAPIGEN], [vppapigen], [no]) - if test "$VPPAPIGEN" = "no"; then - AC_MSG_ERROR([Externaly built vppapigen is needed when cross-compiling...]) - fi -],[ - VPPAPIGEN=\$\(top_builddir\)/vppapigen + AC_CHECK_HEADERS([mbedtls/ssl.h], [], + [ + AC_MSG_WARN([mbedtls headers not found. TLS engine implementation disabled]) + enable_tlsmbedtls_plugin=no + AM_CONDITIONAL(ENABLE_TLSMBEDTLS_PLUGIN, false) + ], []) ]) -AC_SUBST([VPPAPIGEN]) +AM_COND_IF([WITH_LIBSSL], [], +[ + AC_MSG_WARN([openssl not enabled. Disabling tlsopenssl plugin]) + enable_tlsopenssl_plugin=no + AM_CONDITIONAL(ENABLE_TLSOPENSSL_PLUGIN, false) +]) ############################################################################### # JAVA