diff options
author | Sachin Saxena <sachin.saxena@nxp.com> | 2018-05-10 16:22:09 +0530 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2018-05-16 20:00:04 +0000 |
commit | ee6ddceaf54fa055ac3fc3997156f5ee0c9ca4ae (patch) | |
tree | d1762a1a160071a3d2634034a04de2b2755545dd | |
parent | 48750899d7da52a38b5e7f940c739e2b3f10f236 (diff) |
Fix broken compilation for non-numa aware platforms
- The dpdk plugin always looks for libnuma library during compilation.
For non-numa aware platforms compilation breaks, if third party
libnuma lib is not available.
- Issue is more severe with Cross Compilation scenario where one has to
download and cross compile libnuma-dev package even when target platofrom
is NUMA disabled.
Like when cross compiling for ARM platforms, Linaro tool-chain doesn't have
libnuma by default.
Change-Id: Ib85b3188b787c23ba33b47e3f6123c74fd37190e
Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
-rw-r--r-- | build-data/platforms/dpaa.mk | 2 | ||||
-rw-r--r-- | build-data/platforms/vpp.mk | 1 | ||||
-rw-r--r-- | src/configure.ac | 2 | ||||
-rw-r--r-- | src/plugins/dpdk.am | 2 |
4 files changed, 6 insertions, 1 deletions
diff --git a/build-data/platforms/dpaa.mk b/build-data/platforms/dpaa.mk index 3ccabefec99..e0a37fa6980 100644 --- a/build-data/platforms/dpaa.mk +++ b/build-data/platforms/dpaa.mk @@ -64,7 +64,7 @@ endif endif # Disable the unused plugins in order to decrease the VPP pacakage size. -vpp_configure_args_dpaa = --without-ipv6sr --with-pre-data=128 +vpp_configure_args_dpaa = --without-ipv6sr --with-pre-data=128 --without-libnuma # Other optional vpp_configure_args ifneq ($(VPP_CFG_ARGS),) diff --git a/build-data/platforms/vpp.mk b/build-data/platforms/vpp.mk index ad15d7e272e..c1729723624 100644 --- a/build-data/platforms/vpp.mk +++ b/build-data/platforms/vpp.mk @@ -36,6 +36,7 @@ vpp_root_packages = vpp vom # vpp_dpdk_lib_dir = /usr/lib # vpp_dpdk_shared_lib = yes +# Use '--without-libnuma' for non-numa aware architecture vpp_configure_args_vpp = # load balancer plugin is not portable on 32 bit platform diff --git a/src/configure.ac b/src/configure.ac index ca967bb0a9d..bae3fdebcfb 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -135,6 +135,7 @@ DISABLE_ARG(japi, [Disable Java API bindings]) 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]), @@ -203,6 +204,7 @@ 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: diff --git a/src/plugins/dpdk.am b/src/plugins/dpdk.am index 7c6e0058992..af7d96d7c17 100644 --- a/src/plugins/dpdk.am +++ b/src/plugins/dpdk.am @@ -26,7 +26,9 @@ if WITH_ISA_L_CRYPTO_LIB dpdk_plugin_la_LDFLAGS += -Wl,--exclude-libs,libisal_crypto.a,-l:libisal_crypto.a endif dpdk_plugin_la_CFLAGS = $(AM_CFLAGS) +if WITH_LIBNUMA dpdk_plugin_la_LDFLAGS += -Wl,-lnuma +endif dpdk_plugin_la_LDFLAGS += -Wl,-lm,-ldl dpdk_plugin_la_LIBADD = |