[ovs-dev] [PATCH v3 1/1] acinclude: Also use LIBS from dpkg pkg-config

Christian Ehrhardt christian.ehrhardt at canonical.com
Thu Feb 7 11:00:39 UTC 2019


[...]

>      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"

While working fine in all my builds (and it seems on travis now) I got
reports of the statements above creating a colon in the assignment on
some builds - thanks James (on CC now).
It was adding a trailing colon to the FLAGS which broke his build.

I wanted to ask the more experienced autoconf users if that makes any sense?

We wondered if instead of colon actions inside the action sections
would better be newline [1] separated instead:

dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
dnl   [ACTION-IF-NOT-FOUND])

[1]: https://stackoverflow.com/questions/12735432/how-to-pack-multiple-statements

Like the following then:

-+                                 [DPDK_INCLUDE="$DPDK_CFLAGS",
DPDK_LIB="$DPDK_LIBS"],
-+
[DPDK_INCLUDE="-I/usr/local/include/dpdk -I/usr/include/dpdk",
DPDK_LIB="-ldpdk"])
++                                 [DPDK_INCLUDE="$DPDK_CFLAGS"
++                                  DPDK_LIB="$DPDK_LIBS"],
++
[DPDK_INCLUDE="-I/usr/local/include/dpdk -I/usr/include/dpdk"
++                                  DPDK_LIB="-ldpdk"])

If that assumption could be backed by some autoconf experience I'd
make a v4 which splits by newlines instead of the colon.


More information about the dev mailing list