On Thu, 2019-01-24 at 17:38 +0100, Christian Ehrhardt wrote: > DPDK 18.11 builds using the more modern meson build system no more > provide the -ldpdk linker script. Instead it is expected to use > pkgconfig for linker options as well. > > This change will set DPDK_LIB from pkg-config (if pkg-config was > available) and since that already carries the whole-archive flags > around > the PMDs skips the further wrapping in more whole-archive if that is > already part of DPDK_LIB. > > Signed-off-by: Christian Ehrhardt <[email protected]> > --- > acinclude.m4 | 17 ++++++++++++----- > 1 file changed, 12 insertions(+), 5 deletions(-) > > diff --git a/acinclude.m4 b/acinclude.m4 > index f038fd457..a45411860 100644 > --- a/acinclude.m4 > +++ b/acinclude.m4 > @@ -223,9 +223,9 @@ AC_DEFUN([OVS_CHECK_DPDK], [ > case "$with_dpdk" in > yes) > DPDK_AUTO_DISCOVER="true" > - PKG_CHECK_MODULES([DPDK], [libdpdk], > - [DPDK_INCLUDE="$DPDK_CFLAGS"], > - [DPDK_INCLUDE="-I/usr/local/include/dpdk > -I/usr/include/dpdk"]) > + PKG_CHECK_MODULES_STATIC([DPDK], [libdpdk], > + [DPDK_INCLUDE="$DPDK_CFLAGS", > DPDK_LIB="$DPDK_LIBS"], > + [DPDK_INCLUDE="- > I/usr/local/include/dpdk -I/usr/include/dpdk", DPDK_LIB="-ldpdk"]) > ;; > *) > DPDK_AUTO_DISCOVER="false" > @@ -238,10 +238,10 @@ AC_DEFUN([OVS_CHECK_DPDK], [ > DPDK_INCLUDE="-I$DPDK_INCLUDE_PATH/dpdk" > fi > DPDK_LIB_DIR="$with_dpdk/lib" > + DPDK_LIB="-ldpdk" > ;; > esac > > - DPDK_LIB="-ldpdk" > DPDK_EXTRA_LIB="" > > ovs_save_CFLAGS="$CFLAGS" > @@ -346,7 +346,14 @@ AC_DEFUN([OVS_CHECK_DPDK], [ > # > # These options are specified inside a single -Wl directive to > prevent > # autotools from reordering them. > - DPDK_vswitchd_LDFLAGS=-Wl,--whole-archive,$DPDK_LIB,--no-whole- > archive > + # > + # OTOH newer versions of dpdk pkg-config (generated with Meson) > + # will already have flagged just the right set of libs with > + # --whole-archive - in those cases do not wrap it once more. > + case "$DPDK_LIB" in > + *whole-archive*) DPDK_vswitchd_LDFLAGS=$DPDK_LIB;; > + *) DPDK_vswitchd_LDFLAGS=-Wl,--whole-archive,$DPDK_LIB,--no- > whole-archive > + esac > AC_SUBST([DPDK_vswitchd_LDFLAGS]) > AC_DEFINE([DPDK_NETDEV], [1], [System uses the DPDK module.]) > fi
Acked-by: Luca Boccassi <[email protected]> -- Kind regards, Luca Boccassi _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
