X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fdpdk.am;h=6c15d0abd8e2c477dbe109ee71d03794c336c3ab;hb=4bc1796b346efd10f3fb19b176ff089179263a24;hp=212bbb737f554a79238bc104fe06c396f311f8f3;hpb=c3a814be9dc769be942ff8029c7b6eccd4b3af05;p=vpp.git diff --git a/src/plugins/dpdk.am b/src/plugins/dpdk.am index 212bbb737f5..6c15d0abd8e 100644 --- a/src/plugins/dpdk.am +++ b/src/plugins/dpdk.am @@ -14,17 +14,37 @@ vppapitestplugins_LTLIBRARIES += dpdk_test_plugin.la vppplugins_LTLIBRARIES += dpdk_plugin.la -dpdk_plugin_la_LDFLAGS = $(AM_LDFLAGS) -Wl,--whole-archive,-l:libdpdk.a,--no-whole-archive,-lm,-ldl +if ENABLE_DPDK_SHARED +dpdk_plugin_la_LDFLAGS = $(AM_LDFLAGS) -ldpdk +else +dpdk_plugin_la_LDFLAGS = $(AM_LDFLAGS) -Wl,--whole-archive,-l:libdpdk.a,--no-whole-archive +endif +if WITH_AESNI_MB_LIB +dpdk_plugin_la_LDFLAGS += -Wl,--exclude-libs,libIPSec_MB.a,-l:libIPSec_MB.a +endif +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 = dpdk_plugin_la_SOURCES = \ - dpdk/init.c \ dpdk/main.c \ dpdk/buffer.c \ dpdk/thread.c \ + dpdk/api/dpdk_api.c \ dpdk/device/cli.c \ + dpdk/device/common.c \ + dpdk/device/flow.c \ dpdk/device/dpdk_priv.h \ dpdk/device/device.c \ dpdk/device/format.c \ + dpdk/device/init.c \ dpdk/device/node.c \ dpdk/hqos/hqos.c \ dpdk/ipsec/esp_encrypt.c \ @@ -36,13 +56,41 @@ dpdk_plugin_la_SOURCES = \ API_FILES += dpdk/api/dpdk.api +if CPU_X86_64 +dpdk_multiversioning_sources = \ + dpdk/buffer.c \ + dpdk/device/node.c \ + dpdk/device/device.c + +if CC_SUPPORTS_AVX2 +############################################################### +# AVX2 +############################################################### +libdpdk_plugin_avx2_la_SOURCES = $(dpdk_multiversioning_sources) +libdpdk_plugin_avx2_la_CFLAGS = \ + $(AM_CFLAGS) @CPU_AVX2_FLAGS@ \ + -DCLIB_MARCH_VARIANT=avx2 +noinst_LTLIBRARIES += libdpdk_plugin_avx2.la +dpdk_plugin_la_LIBADD += libdpdk_plugin_avx2.la +endif + +if CC_SUPPORTS_AVX512 +############################################################### +# AVX512 +############################################################### +libdpdk_plugin_avx512_la_SOURCES = $(dpdk_multiversioning_sources) +libdpdk_plugin_avx512_la_CFLAGS = \ + $(AM_CFLAGS) @CPU_AVX512_FLAGS@ \ + -DCLIB_MARCH_VARIANT=avx512 +noinst_LTLIBRARIES += libdpdk_plugin_avx512.la +dpdk_plugin_la_LIBADD += libdpdk_plugin_avx512.la +endif +endif + nobase_include_HEADERS += \ dpdk/device/dpdk.h \ - dpdk/api/dpdk_all_api_h.h - -nobase_include_HEADERS += \ - dpdk/ipsec/ipsec.h \ - dpdk/ipsec/esp.h + dpdk/api/dpdk_all_api_h.h \ + dpdk/ipsec/ipsec.h dpdk_test_plugin_la_SOURCES = \ dpdk/api/dpdk_test.c dpdk/api/dpdk_plugin.api.h