Thanks, applied to master and branch-2.8.
On Tue, Aug 08, 2017 at 09:59:38PM +0000, Alin Serdean wrote: > Acked-by: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com> > > > -----Original Message----- > > From: Ben Pfaff [mailto:b...@ovn.org] > > Sent: Wednesday, August 9, 2017 12:57 AM > > To: d...@openvswitch.org > > Cc: Ben Pfaff <b...@ovn.org>; Alin Serdean > > <aserd...@cloudbasesolutions.com> > > Subject: [PATCH] m4: Add pkg.m4 from pkg-config. > > > > This way, users do not have to install the m4 file from pkg-config, which > > was > > not previously a requirement. Without this change, "configure" fails when > > pkg.m4 is not available via aclocal: > > > > ./configure: line 26189: ` PKG_CHECK_MODULES(DPDK, libdpdk,' > > > > Reported-by: Alin Serdean <aserd...@cloudbasesolutions.com> > > Signed-off-by: Ben Pfaff <b...@ovn.org> > > --- > > m4/pkg.m4 | 214 > > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > ++++ > > 1 file changed, 214 insertions(+) > > create mode 100644 m4/pkg.m4 > > > > diff --git a/m4/pkg.m4 b/m4/pkg.m4 > > new file mode 100644 > > index 000000000000..c5b26b52e6cd > > --- /dev/null > > +++ b/m4/pkg.m4 > > @@ -0,0 +1,214 @@ > > +# pkg.m4 - Macros to locate and utilise pkg-config. -*- > > Autoconf -*- > > +# serial 1 (pkg-config-0.24) > > +# > > +# Copyright © 2004 Scott James Remnant <sc...@netsplit.com>. > > +# > > +# This program is free software; you can redistribute it and/or modify > > +# it under the terms of the GNU General Public License as published by > > +# the Free Software Foundation; either version 2 of the License, or # > > +(at your option) any later version. > > +# > > +# This program is distributed in the hope that it will be useful, but # > > +WITHOUT ANY WARRANTY; without even the implied warranty of # > > +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > > # > > +General Public License for more details. > > +# > > +# You should have received a copy of the GNU General Public License # > > +along with this program; if not, write to the Free Software # > > +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. > > +# > > +# As a special exception to the GNU General Public License, if you # > > +distribute this file as part of a program that contains a # > > +configuration script generated by Autoconf, you may include it under # > > +the same distribution terms that you use for the rest of that program. > > + > > +# PKG_PROG_PKG_CONFIG([MIN-VERSION]) > > +# ---------------------------------- > > +AC_DEFUN([PKG_PROG_PKG_CONFIG], > > +[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) > > +m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_ > > SYSTEM_(C > > +FLAGS|LIBS)))?$]) > > +m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_ > > DIR|DEBUG_ > > +SPEW)$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) > > +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's > > +search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding > > +pkg-config's built-in search path]) > > + > > +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then > > + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n > > "$PKG_CONFIG"; > > +then > > + _pkg_min_version=m4_default([$1], [0.9.0]) > > + AC_MSG_CHECKING([pkg-config is at least version > > $_pkg_min_version]) > > + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; > > then > > + AC_MSG_RESULT([yes]) > > + else > > + AC_MSG_RESULT([no]) > > + PKG_CONFIG="" > > + fi > > +fi[]dnl > > +])# PKG_PROG_PKG_CONFIG > > + > > +# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT- > > FOUND]) # > > +# Check to see whether a particular set of modules exists. Similar # > > +to PKG_CHECK_MODULES(), but does not set variables or print errors. > > +# > > +# Please remember that m4 expands > > AC_REQUIRE([PKG_PROG_PKG_CONFIG]) # > > +only at the first occurence in configure.ac, so if the first place # > > +it's called might be skipped (such as if it is within an "if", you # > > +have to call PKG_CHECK_EXISTS manually # > > +-------------------------------------------------------------- > > +AC_DEFUN([PKG_CHECK_EXISTS], > > +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl > > +if test -n "$PKG_CONFIG" && \ > > + AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then > > + m4_default([$2], [:]) > > +m4_ifvaln([$3], [else > > + $3])dnl > > +fi]) > > + > > +# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # > > +--------------------------------------------- > > +m4_define([_PKG_CONFIG], > > +[if test -n "$$1"; then > > + pkg_cv_[]$1="$$1" > > + elif test -n "$PKG_CONFIG"; then > > + PKG_CHECK_EXISTS([$3], > > + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` > > + test "x$?" != "x0" && pkg_failed=yes ], > > + [pkg_failed=yes]) > > + else > > + pkg_failed=untried > > +fi[]dnl > > +])# _PKG_CONFIG > > + > > +# _PKG_SHORT_ERRORS_SUPPORTED > > +# ----------------------------- > > +AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], > > +[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) > > +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then > > + _pkg_short_errors_supported=yes else > > + _pkg_short_errors_supported=no > > +fi[]dnl > > +])# _PKG_SHORT_ERRORS_SUPPORTED > > + > > + > > +# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF- > > FOUND], # > > +[ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the > > +first call to # PKG_CHECK_MODULES might not happen, you should be sure > > +to include an # explicit call to PKG_PROG_PKG_CONFIG in your > > +configure.ac # # # > > +-------------------------------------------------------------- > > +AC_DEFUN([PKG_CHECK_MODULES], > > +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl > > +AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding > > +pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, > > +overriding pkg-config])dnl > > + > > +pkg_failed=no > > +AC_MSG_CHECKING([for $1]) > > + > > +_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], > > +[libs], [$2]) > > + > > +m4_define([_PKG_TEXT], [Alternatively, you may set the environment > > +variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. > > +See the pkg-config man page for more details.]) > > + > > +if test $pkg_failed = yes; then > > + AC_MSG_RESULT([no]) > > + _PKG_SHORT_ERRORS_SUPPORTED > > + if test $_pkg_short_errors_supported = yes; then > > + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors - > > -cflags --libs "$2" 2>&1` > > + else > > + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs > > "$2" 2>&1` > > + fi > > + # Put the nasty error message in config.log where it belongs > > + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD > > + > > + m4_default([$4], [AC_MSG_ERROR( > > +[Package requirements ($2) were not met: > > + > > +$$1_PKG_ERRORS > > + > > +Consider adjusting the PKG_CONFIG_PATH environment variable if you > > +installed software in a non-standard prefix. > > + > > +_PKG_TEXT])[]dnl > > + ]) > > +elif test $pkg_failed = untried; then > > + AC_MSG_RESULT([no]) > > + m4_default([$4], [AC_MSG_FAILURE( > > +[The pkg-config script could not be found or is too old. Make sure it > > +is in your PATH or set the PKG_CONFIG environment variable to the full > > +path to pkg-config. > > + > > +_PKG_TEXT > > + > > +To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl > > + ]) > > +else > > + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS > > + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS > > + AC_MSG_RESULT([yes]) > > + $3 > > +fi[]dnl > > +])# PKG_CHECK_MODULES > > + > > + > > +# PKG_INSTALLDIR(DIRECTORY) > > +# ------------------------- > > +# Substitutes the variable pkgconfigdir as the location where a module > > +# should install pkg-config .pc files. By default the directory is # > > +$libdir/pkgconfig, but the default can be changed by passing # > > +DIRECTORY. The user can override through the --with-pkgconfigdir # > > +parameter. > > +AC_DEFUN([PKG_INSTALLDIR], > > +[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) > > +m4_pushdef([pkg_description], > > + [pkg-config installation directory @<:@]pkg_default[@:>@]) > > +AC_ARG_WITH([pkgconfigdir], > > + [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, > > + [with_pkgconfigdir=]pkg_default) > > +AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) > > +m4_popdef([pkg_default]) > > +m4_popdef([pkg_description]) > > +]) dnl PKG_INSTALLDIR > > + > > + > > +# PKG_NOARCH_INSTALLDIR(DIRECTORY) > > +# ------------------------- > > +# Substitutes the variable noarch_pkgconfigdir as the location where a > > +# module should install arch-independent pkg-config .pc files. By # > > +default the directory is $datadir/pkgconfig, but the default can be # > > +changed by passing DIRECTORY. The user can override through the # > > +--with-noarch-pkgconfigdir parameter. > > +AC_DEFUN([PKG_NOARCH_INSTALLDIR], > > +[m4_pushdef([pkg_default], [m4_default([$1], > > +['${datadir}/pkgconfig'])]) m4_pushdef([pkg_description], > > + [pkg-config arch-independent installation directory > > +@<:@]pkg_default[@:>@]) AC_ARG_WITH([noarch-pkgconfigdir], > > + [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, > > + [with_noarch_pkgconfigdir=]pkg_default) > > +AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) > > +m4_popdef([pkg_default]) > > +m4_popdef([pkg_description]) > > +]) dnl PKG_NOARCH_INSTALLDIR > > + > > + > > +# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, # [ACTION-IF- > > FOUND], > > +[ACTION-IF-NOT-FOUND]) # ------------------------------------------- > > +# Retrieves the value of the pkg-config variable for the given module. > > +AC_DEFUN([PKG_CHECK_VAR], > > +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl > > +AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl > > + > > +_PKG_CONFIG([$1], [variable="][$3]["], [$2]) AS_VAR_COPY([$1], > > +[pkg_cv_][$1]) > > + > > +AS_VAR_IF([$1], [""], [$5], [$4])dnl > > +])# PKG_CHECK_VAR > > -- > > 2.10.2 > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev